• Java流程控制


     

    1、顺序结构

    • Java的基本结构就是顺序结构,除非特别指明,否则就按顺序一步一步执行

    • 语句与语句之间、框与框之间是按从上到下的顺序执行的,是由若干个依次执行的处理步骤组成的,任何一个算法都离不开顺序结构

    2、选择结构

    2.1、if

    if单选择结构

    //语法
    if(布尔表达式){
       //如果表达式为真,则会执行的代码
    }

    //举例
    if(2 > 0){
       System.out.println("2是比0大的");
    }

    if双选择结构

    //语法
    if(布尔表达式){
       //如果表达式为真,则会执行的代码
    }else{
       //如果表达式为假,则会执行的代码
    }

    //举例
    public static void main(String[] args) {
       int score = 55;
       if(score >= 60){
           System.out.println("您的成绩合格!");
      }else{
           System.out.println("您的成绩不合格!");
      }
    }

    if多选择结构

    //语法
    if(布尔表达式1){
       //如果表达式1为真,则会执行的代码
    }else if(布尔表达式2){
       //如果表达式2为真,则会执行的代码
    }else if(布尔表达式3){
       //如果表达式3为真,则会执行的代码
    }else{
       //如果以上表达式都不为真,则会执行的代码
    }

    //举例
    public static void main(String[] args) {

       int score = 75;
       
       if (score == 100){
           System.out.println("您的成绩为A级,分数为:" + score);
      }else if(score >= 90){
           System.out.println("您的成绩为B级,分数为:" + score);
      }else if(score >= 80 && score < 90){
           System.out.println("您的成绩为C级,分数为:" + score);
      }else if(score >= 70 && score < 80){
           System.out.println("您的成绩为D级,分数为:" + score);
      }else if(score >= 60 && score < 70){
           System.out.println("您的成绩为E级,分数为:" + score);
      }else{
           System.out.println("您的成绩不合格,分数为:" + score);
      }
    }

    嵌套if

    可以在 if() 或者 else if() 中嵌套使用if选择结构,解决一些较为复杂的问题。

    2.2、switch

    //语法
    switch(expression){
       case value1:
           //语句
           break;
    case value2:
           //语句
           break;
    case value3:
           //语句
           break;
       default:
           //语句
    }

    //举例
    public static void main(String[] args) {

       char code = 'C';

       switch (code){
           case 'A':
               System.out.println("这个字符为A");
               //break;
           case 'B':
               System.out.println("这个字符为B");
               //break;
           case 'C':
               System.out.println("这个字符为C");
               //break;
           default:
               System.out.println("这个符不是A、B、C");
      }
    }
    • 注意点

      • value的类型可以是int、byte、short、char或者String类型

      • break是可选的,可写可不写,如果不写则会出现case渗透现象

        case渗透:如果 expression 的值等于其中某个 value,就会进入这个 case 分支里执行其中的语句,但是执行完这个分支里的语句之后程序并不会结束,而是执行后面所有的case分支,直到遇见break语句或者执行到最后,程序才会终止。

    3、循环结构

    循环三要素:初始值、判断循环是否终止的条件、更新,三者缺一便会形成死循环

    3.1、while循环

    //语法
    while(布尔表达式){
       //布尔表达式为真时的循环语句
    }

    //举例
    public static void main(String[] args) {
       
       //i = 1 为初始值
       int i = 1;
       //i <= 100 布尔表达式,即判断循环是否终止的条件
       while(i <= 100){
           System.out.println("i的值为:" + i);
           //i++ 为更新,即改变循环控制变量值以求越来越接近于循环终止的条件
           i++;
      }
    }
    • while循环是先判断后执行,所以如果布尔表达式为假,则循环语句一次都不会执行

    3.2、do while循环

    //语法
    do{
       //循环语句
    }
    while(布尔表达式);

    //举例
    public static void main(String[] args) {

       int i = 1;

       do {
           System.out.println("i的值为:" + i);
           i++;
      }while (i < 100);
    }
    • do while循环是先执行后判断,所以不管布尔表达式为真或者为假,则循环语句至少会执行一次

    3.3、for循环

    //语法
    for(初始值;布尔表达式;更新){
       //循环语句
    }

    //举例
    public static void main(String[] args) {
       
       for (int x = 1; x <= 100; x++) {
           System.out.println(x);
      }
    }
    • for循环执行顺序:

      • 先执行初始化步骤,可以在其中声明类型,也可在循环体外提前声明,可初始化一个或者多个循环控制变量

      • 其次检测布尔表达式的值,如果值为真,执行循环语句,否则结束循环

      • 执行一次循环后,更新循环控制变量的值

      • 再次检查布尔表达式的值,循环执行上面的过程

    3.2、增强for循环

    //语法
    for(声明语句:表达式){
       //循环语句
    }

    //举例
    public static void main(String[] args) {

       int[] arrays = {10,20,30,40,50,60};
       for (int i : arrays) {
           System.out.println(i);
      }
    }
    • 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时数组元素的值相等。

    • 表达式:要访问的数组名或者返回值为数组的方法。

    4、break、continue

    • break可用于任何循环结构的主体部分,强行退出循环,不执行循环中剩下的语句。

    • continue用于循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,进行下一次是否进行循环的判断。

  • 相关阅读:
    table的好处
    python使用split分隔字符串之后打印出来是乱码的问题
    关于python项目使用tornado框架时,加载不上静态资源(css/js)并报编码错误的问题
    马的遍历
    数据结构学习资料
    操作系统学习资料
    珠心算测验 C / C++
    拼数 C/C++
    神奇的幻方
    工艺品制作(多维数组应用)
  • 原文地址:https://www.cnblogs.com/LittleSkinny/p/12764007.html
Copyright © 2020-2023  润新知