控制流程语句

控制流程语句包含以下几种:

  1、if - else 语句

  2、switch 语句

  2、循环语句: while和for

  3、break和continue语句

if - else 语句:(判断语句)

格式一: 只适用于一种情况下去使用。

   if(判断条件){
      符合条件执行的代码;
   }


格式二:适用于两种情况下去使用
   if(判断条件){
      符合条件执行的代码
   }else{
      不符合条件执行 的 代码
   }

格式三: 适用于多种情况使用的

   if(判断条件1){
      符合条件1执行的 语句;
   }else if(判断条件2){
      符合条件2执行 的语句;
   }else if(判断条件3){
      符合条件3执行 的语句;
   }else if(判断条件4){
      符合条件4执行 的语句;
   }......else{
      都不符合上述 条件执行的代码...
   }

switch 语句

当需要判断多种情况的时候,用if - else 语句比较繁琐。此时适合用switch语句。

1、格式:

   switch(你的选择){
      case 值1:
         符合值1执行的代码
         break;
      case 值2:
         符合值 2执行的代码
         break;
      case 值3:
         符合值 3执行的代码
         break;
      case 值4:
         符合值 4执行的代码
         break;
      ......

      default: 
         你的选择都符合上述的选项时执行的代码;
         break;
   }

2、注意事项

 (1) switch语句使用的变量只能是byte、 char、 short、int、 String数据类型,String数据类型是从jdk7.0的时候开始支持的。
 (2) case后面跟的数据必须是一个常量。 
 (3) switch的停止条件:
      switch语句一旦匹配上了其中的一个case语句,那么就会执行对应的case中的语句代码,执行完毕之后如果没有
     遇到break关键字或者是结束switch语句的大括号,那么switch语句不会再判断,按照代码的顺序从上往下执行
     所有的代码。直到遇到break或者是结束siwitch语句的大括号为止。(贯穿效果)

 (4) 在switch语句中不管代码的顺序如何,永远都是会先判断case语句,然后没有符合的情况下才会执行default语句。

3、优缺点:

  switch语句的优点:switch语句的结构清晰。

  switch缺点:如果 判断的条件是一个区间范围的,使用switch操作就非常的麻烦了。

4、代码示例:

需求: 接受键盘录入一个月份, 根据对应的月份输出对应的季节。
 345  春天
 678 夏天
 9 10 11 秋天
 1 2 12 冬天

要求使用switch语句实现。

import java.util.*;
class Demo4
{
   public static void main(String[] args) 
   {
      System.out.println("请输入一个月份:");
      //创建一个扫描器
      Scanner scanner = new Scanner(System.in);
      //调用扫描器的nextInt方法
      int month = scanner.nextInt();
      switch(month){
         case 3:
         case 4:
         case 5:
            System.out.println("春天");
            break;
         case 6:
         case 7:
         case 8:
            System.out.println("夏天");
            break;
         case 9:
         case 10:
         case 11:
            System.out.println("秋天");
            break;
         case 12:
         case 1:
         case 2:
            System.out.println("冬天");
            break;
         default:
            System.out.println("没有对应的季节");
            break;
      }
   }
}

循环语句

一、while循环

1、格式:

   while(循环的条件){
      循环语句;
   }

2、while循环语句要注意的事项:
  (1) while循环语句一般是通过一个变量控制其循环的次数。
  (2) while循环语句的循环体代码如果只有一个语句的时候,那么可以省略大括号。但是也是不建议大家省略。
  (3) while循环语句的判断条件后面不能跟有分号,否则会影响到执行的效果。

二、do - while循环

格式:
   do{
      循环语句;
   }while(判断条件);

while循环语句与do-while循环语句的区别:
   while循环语句是先判断后执行循环语句的;

  do-while循环语句是先执行,后判断。不管条件是否满足至少会执行一次;

三、for循环

格式:

 for(初始化语句;判断语句;循环后的语句){
    循环语句;
 }


for循环语句 要注意的事项:
 1. for(;;)这种写法 是一个死循环语句,相当于while(true);
 2. for循环语句的初始化语句只会执行一次,只是在第一次循环的时候执行而已。
 3. for循环语句的循环体语句只有一句的时候,可以省略大括号不写。但是不建议省略。

break和continue语句

break:

适用范围:

  只能用于switch或者是循环语句中。

作用:
   1. break用于switch语句的作用是结束一个switch语句。
   2. break用于循环语句中的作用是结束当前所在的循环语句。

continue:

适用范围:

   continue只能用于循环语句。

作用:

  continue的作用是跳过本次的循环体内容。继续下一次。

注意的事项:
   1. 在一种情况下,continue后面不能跟有其他语句,因为是永远都无法执行到。
   2. continue 也可以配合标记使用的。

标记用法:

标记的格式:

  标记名字: 语句

break 和 continue 都可以结合标记使用。示例如下:

class BreakDemo
{
   public static void main(String[] args)
   {
      aaa:for(int j = 0 ; j<3 ; j++){ // j=0 外层for循环
         bbb:for(int i = 0 ; i< 2 ; i++){  // i=0 内层for循环
            System.out.println("hello world"); // 1 
            break aaa;
         }
      }
   }
}

class ContinueDemo
{
   public static void main(String[] args)
   {
      aaa:for(int j = 0 ; j<3 ; j++){ // j=0 外层for循环
         bbb:for(int i = 0 ; i< 2 ; i++){  // i=0 内层for循环
            System.out.println("hello world"); // 1 
            continue aaa;
         }
      }
   }
}

原文地址:https://www.cnblogs.com/nicker/p/5759118.html