Java流程控制


1.顺序结构

2.if选择结构

  • if单选择结构

    if(布尔表达式){

    //如果布尔表达式为true将执行的语句

    }

  • if双选择结构

    if(布尔表达式){

    //如果布尔表达式的值为true

    } else{

    //如果布尔表达式的值为false

    }

  • if多选择结构

    if(布尔表达式 1){

    //如果布尔表达式1的值为true,执行代码

    } else if(布尔表达式 2){

    //如果布尔表达式2的值为true,执行代码

    } else if(布尔表达式 3) {

    //如果布尔表达式3的值为true,执行代码

    } else{

    //如果以上布尔表达式都不为true,执行代码

    }

  • 嵌套的if结构

    你可以在另一个if或者else if语句中使用if或者else if语句,也可以像if语句一样嵌套else if…else

    if(布尔表达式 1){

    ///如果布尔表达式 1的值为true,执行代码

    if(布尔表达式 2){

    ///如果布尔表达式 2的值为true,执行代码

    }

    }

3.Switch选择结构

switch语句中的变量类型可以是:

  • byte、short、int或者char

  • 从Java SE 7开始,switch支持字符串String类型,同时case标签必须为字符串常量或字面量

switch(expression){

case value:

//语句

break; //可选

case value:

//语句

break; //可选

//你可以有任意数量的case语句

default://可选

//语句

}

package com.tudou.operator;
//import java.util.Scanner;

public class Demo02 {
   public static void main(String[] args) {

       char grade = 'C';

       switch(grade){
           case 'A':
               System.out.println("优秀");
               break;      //可选
           case 'B':
               System.out.println("良好");
               break;
           case 'C':
               System.out.println("及格");
               break;
           case 'D':
               System.out.println("不及格");
               break;
           default:
               System.out.println("未知");
      }
  }
}

 

JDK7的新特性,表达式结果可以是字符串:

package com.tudou.operator;
//import java.util.Scanner;

public class Demo03 {
   public static void main(String[] args) {
       String name1 = "土豆";
       //JDK7的新特性,表达式结果可以是字符串
       //字符的本质还是数字
       //反编译步骤: java---class(字节码文件) ----反编译(用IDEA)

       switch (name1){
           case "土豆":
               System.out.println("土豆");
               break;
           case "番茄":
               System.out.println("番茄");
               break;
           default:
               System.out.println("???");
      }
  }
}

 

上述文件的反编译结果:

//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//

package com.tudou.operator;

public class Demo03 {
   public Demo03() {
  }

   public static void main(String[] args) {
       String name1 = "土豆";
       byte var3 = -1;
       switch(name1.hashCode()) {
       case 727303:
           if (name1.equals("土豆")) {
               var3 = 0;
          }
           break;
       case 965338:
           if (name1.equals("番茄")) {
               var3 = 1;
          }
      }

       switch(var3) {
       case 0:
           System.out.println("土豆");
           break;
       case 1:
           System.out.println("番茄");
           break;
       default:
           System.out.println("???");
      }

  }
}

 

4.While循环结构

while(布尔表达式){

//循环内容

}

  • 只要布尔表达式为true,循环就会一直执行下去

  • 少部分情况需要循环一直执行,比如服务器的请求响应监听等

  • 循环条件一直为true就会造成无限循环【死循环】

     

do…while循环

  • 对于while语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

  • do…while循环和while循环相似,不同的是,do…while循环至少会执行一次。

    do{

    //代码语句

    }while(布尔表达式);

 

while和do…while的区别

  • while先判断后执行,do…while是先执行后判断

  • do…while总是保证循环体会被至少执行一次

 

5.For循环

for循环是支持迭代的一种通用结构,是最有效、最灵活的循环结构。

for循环执行的次数是在执行前就确定的。

for(初始化;布尔表达式;更新){

//代码语句

}

IDEA快捷生成for循环: 100.for 回车

 

6.break continue

  • break用于强行退出循环,不执行循环中剩余的语句。(break语句也在switch语句中使用)

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

  • goto关键字

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/java/279170.html

(0)
上一篇 2022年8月6日 16:27
下一篇 2022年8月6日 17:25

相关推荐

发表回复

登录后才能评论