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用于循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,进行下一次是否进行循环的判断。

原文地址:https://www.cnblogs.com/LittleSkinny/p/12764007.html