zoukankan      html  css  js  c++  java
  • Java学习之==>条件判断、循环控制

    一、条件判断

    1、if-else

    示例:

    /**
     * 第1种,1个分支
     */
    public void case1() {
    
      int age = 15;
      if (age > 18) {
        System.out.println("成年人");
      }
    }
    
    /**
     * 第2种,2个分支
     */
    public void case2() {
    
      int age = 15;
      if (age > 18) {
        System.out.println("成年人");
      } else {
        System.out.println("未成年人");
      }
    }
    
    /**
     * 第3种,多个分支
     */
    public void case3() {
      int num = 0;
      if (num > 10) {
        System.out.println("");
      } else if (num > 20) {
        System.out.println("");
      } else if (num > 30) {
        System.out.println("");
      } else if (num > 40) {
        System.out.println("");
      } else if (num > 50) {
        System.out.println("");
      } else {
        System.out.println("");
      }
    }

    2、switch-case

    示例:

    /**
     * 字符串数据作为表达式
     *
     * break关键字
     *
     * default关键字
     *
     * 可以作为switch表达式的数据类型: byte,short,char,int,枚举,String
     */
    public void case1() {
      String str = "你好";
      switch (str) {
        case "你好":
          System.out.println("跟我打招呼");
          break;
        case "尼玛":
          System.out.println("这是要干架");
          break;
        case "嘿嘿嘿":
          System.out.println("这可能是要搞基");
          break;
        default:
          System.out.println("不懂你要说啥");
      }
    }
    
    /**
     * 多个常量落进相同的逻辑处理
     */
    public void case2() {
      // type=1, 支付宝,
      // type=2, 微信
      // type=3, 京东
      // type=4, 易宝
      int type = 4;
      switch (type) {
        case 1:
        case 2:
        case 3:
          System.out.println("互联网支付");
          break;
        case 4:
        case 5:
        case 6:
        case 7:
          System.out.println("非互联网支付");
          break;
        default:
          System.err.println("出错啦, 不支持的类型");
      }
    }

    总结:

    相同点

    • 都是一种逻辑分支的处理,语义: 要么你,要么我,要么他
    • 都有兜底的语句,if是else, switch是default

    不同点

    • if-else 是一个范围的判断,如 小于10,大于100
    • switch-case 是精确的等值分支

    注意

    • 使用switch的都可以使用if-else改写,反之不成立
    • 逻辑要兜住, else, default很重要

    二、循环控制

    1、for循环

     示例:

    /**
     * @author Luolei
     * @date 2019/8/24
     */
    public class Test1 {
    
    /**
     * 最基本的循环,打印1到100内的偶数
     */
    public void case1() {
      for (int i = 2; i <= 100; i += 2) {
        System.out.println(i);
      }
    }
    
    /**
     * 死循环
     */
    public void case2() {
      for (; ; ) {
        System.out.println("哈哈哈");
      }
    }
    
    /**
     * continue
     *
     * break
     */
    public void case3() {
      for (int i = 0; i <= 10; i++) {
        System.out.println("yes");
    
        if (i % 2 == 0) {
          // 结束当前循环,进入下一次循环
          continue;
        }
        if (i == 9) {
          // 跳出循环
          break;
        }
        System.out.println(i);
      }
    }
    
    /**
     * 循环一个数组或list
     */
    public void case4() {
      int[] arr = {1,2,3,4};
      for (int i : arr) {
        System.out.println(i);
      }
    }

    2、while循环

    示例:

    /**
     * 最基本的循环,打印1到10
     */
    public void case1() {
      // init
      int i = 1;
    
      // test
      while (i <= 10) {
    
        // body
        System.out.println(i);
    
        // update
        i++;
      }
    }
    
    /**
     * 死循环,条件没有结束的时候
     */
    public void case2() {
    
      while (true) {
        System.out.println("死循环");
      }
    }
    
    /**
     * continue && break
     */
    public void case3() {
    
      int i = 1;
      while (i <= 100) {
    
        if (i % 2 == 0) {
          i++;
          // 结束当前循环,进入下一次循环
          continue;
        }
        if (i == 9) {
          // 跳出循环
          break;
        }
        System.out.println(i);
        i++;
      }
    }

    3、do-while循环

    示例:

    /**
     * 最基本的循环,打印1到10
     */
    public void case1() {
      // init
      int num = 0;
    
      do {
        // body
        System.out.println("进入循环体");
    
        // update
        num++;
      } while (num < 10);
    }
    
    /**
     * 死循环
     */
    public void case2() {
      // init
      int num = 1;
    
      do {
        // body
        System.out.println("进入循环体");
    
        // update
      } while (num == 1);
    }
    
    /**
     * continue && break
     */
    public void case3() {
    
      // init
      int num = 1;
    
      // body
      do {
        System.out.println("进入循环体");
        if (num % 3 == 0 ) {
          num++;
          continue;
        }
        if (num % 5 == 0 ) {
          break;
        }
        num++;
        // update
      } while (num <= 100);
    }

    总结:

    组成

    • 循环控制均可抽象成四部分
      • init        初始化
      • test       条件测试
      • body     循环体代码
      • update  迭代变更

    注意

    • 一定要注意循环的退出条件,不要造成死循环
    • 即使不死循环,也要注意循环的次数
    • do-while至少需要执行一次然后再判断条件
  • 相关阅读:
    ThinkPHP框架 做个简单表单 添加数据例子__ACTION__ __SELF__
    ThinkPHP框架 系统规定的方法查询数据库内容!!同时也支持原生的SQL语句!
    ThinkPHP框架 基础 链接数据库
    ThinkPHP框架 3.2.2 获取系统常量信息 连接数据库 命名空间的理解
    ThinkPHP框架 自定义 Empty 方法保护本地信息不被暴露!!!
    Smarty模板保留缓存
    this指向
    phpcms v9 的表单向导功能的使用方法 附多个案例
    phpcms标签整理_当前栏目调用
    转载]PhpCms V9调用指定栏目子栏目文章的两种方法
  • 原文地址:https://www.cnblogs.com/L-Test/p/11350798.html
Copyright © 2011-2022 走看看