循环

switch case语句

格式:

 1 switch(表达式/变量){
 2 
 3           case 常量值1:
 4 
 5                //语句体内容1
 6 
 7           break;
 8 
 9           case  常量值2:
10 
11                //语句体内容2
12 
13           break14 
15           ... ...
16 
17           default:
18 
19                 //语句体n
20 
21           break22 
23 }

执行流程:

     1.首先算出表达式的值。

     2.依次和case后面的常量值做比较,如果相等,就执行相应的语句体内容,

       在执行过程中,遇到break就会结束switch case语句。

     3.如果表达式值和case后的常量值都不相等,就执行default中的语句体内容,

 

       然后此switch case语句结束。

注意:1.每个case,和default后都会有break,敲代码的时候很容易忽略;

      2.case后的常量值,要加冒号":".

1 char c = 'a';
2 switch(c){
3     case 'a':
4          System.out.print("pido ");
5     default:
6          System.out.print("online");
7 }
8 代码的运行结果是_________;

答案:pido online

解析:1.首先这个switch语句,每个case,和default后都没有 break;语句;

      2.没有break语句,根据表达式找到对应的case后,会执行这个case和其下面的所有语句,直到遇到break,或执行完最后一行代码。

      3.其次输出语句没有换行,输出的内容会在一行;

面试题:switch后面的表达式的值可以是什么类型?可以是字符串类型吗?

答:表达式的数据类型,可以是byte/short/int/char/enum(枚举),JDK1.7之后可以接收字符串类型。

 

for循环

格式:

1 for(1.初始化语句; 2.条件判断表达式; 4.迭代语句) {
2          // 3.循环体内容
3 }

执行流程:

      1.执行顺序:1 -> 2 -> 3 -> 4 -> 2 -> 3 -> 4 -> 2 -> 3 -> 4 -> ...2,直到不满足表达式为止。

      2.初始化语句:负责循环变量的初始化;

      3.条件判断表达式:循环的条件,不满足退出循环。

      4.循环体内容:满足循环条件后,执行的代码块

      5.迭代语句:负责变量的迭代

附: 1.for循环的大括号,可以不写(最好写上)

     (不要复制我的这个代码测试,手敲才行,因为有可能会复制到系统识别不了你又看不见的字符,就报错了)

 

1         int sum = 0;
2         for(int n = 1; n < 10; n++)
3             sum+=n;
4             System.out.println(sum);

     2.如果刚学for循环,肯定不知道迭代是什么意思

        其实迭代就是,for循环中的变量,怎么增加,或减少(比如1,2,3,4这样加,或2,4,6这样加)

        如果减少的话,可以写"n--"。

 

 

1          int sum = 0;
2          for(int n = 1; n < 10; n+=2) {
3              sum += n;
4              System.out.println(sum);
5          }

 

     3.如果在草稿纸上按照执行顺序画的话,像一把小旗,for循环也叫红旗循环。

     4.for循环中小括号中三部分内容,都可以按需求不写。

 

break 和 continue:

break就直接结束循环,或结束语句。

 

1         int i = 0;
2         while (i >= 0) {
3             i = i + 1;
4             if (i == 10) {
5                 break;
6             }
7             System.out.println(i);
8         }

 

注意:i迭代到10后,执行break语句,程序就结束了,不会再执行输出语句。

 

continue是结束本次循环,继续下次循环。

 

 1 public static void main(String[] args) {
 2             // continue
 3             // 求一下100以内的偶数和  2+4+6+8+10+....+100
 4            int sum = 0;
 5            for (int i = 1; i <= 100; i++) {      // i= 1 2 3 4 5 6 7 8 9 10 ......
 6                //使用场景 奇数跳过去,不参与累加和
 7                if (i % 2 != 0) {   
 8                    continue;
 9                }
10                sum += i;    
11            }     
12 }

 

最后:

    1.死循环:循环条件永远为true,没有结束条件的循环。例如:while(true){}

      死循环一般要和跳出语句结合

    2.循环嵌套:指一个循环体是另一个循环,循环的次数 = 外部循环次数 * 内部循环的次数

      最经典的例子莫过于九九乘法表了。

1 for (int i = 1; i <= 9; i++) {
2             for (int j = 1; j <= i; j++) {
3                 System.out.print(i + "*" + j + "=" + (i * j) + " ");
4             }
5             System.out.println();
6 }

 

posted @ 2020-11-29 21:05  转角的遇见  阅读(114)  评论(0)    收藏  举报