java基础语法:switch语句和break语句易错总结

switch语句:

  switch语句从字面上讲,可以称为开关语句,是一种多分支选择结构,一般与case、break、default配合使用,对流程进行控制。
  switch语句的语法格式如下:

switch(表达式) { 
    case 值1: 语句1;
    	break;
    case 值2: 语句2;
    	break; 
    case 值3: 语句3; 
    	break; 
        default: 语句4; 
        	break; 
    }

运行机理:
switch中的表达式结果会找对应的case匹配,如果匹配成功就找对应的的case执行
直到遇到break结束,如果case都不匹配,会直接执行default后面的语句。

总结:

1,一般一个case语句都会和一个break语句进行搭配,因为如果匹配到一个case后,若后面没跟break语句,就会继续执行下面的case语句内容,无论下面匹配的case值是什么,后面的值都会视为无效值的,直到遇到break语句或者执行到最后的默认语句default才会结束。

2,switch语句中的break语句的作用是跳出switch语句

以下面的题目为例:

char c = '\0';
          System.out.println(c);
            for(int i=1;i<=4;i++) {
              switch(i) {
                 case 1:  c = 'J';
                         System.out.print(c);  
                 case 2:  c = 'e';
                         System.out.print(c); 
                         break; 
                 case 3:  c = 'p';
                         System.out.print(c);
                 default: System.out.print("好");}

}

输出结果为:

Jeep好好

我来浅浅地分析一下:

step1:

i=1,执行case 1,输出J,因为无break语句,忽视case 2这个条件,直接执行c = 'e',输出e,遇到了break语句,则跳出switch语句。

step2:

i=2,执行case2,输出e,下一句因为有break语句,所以跳出switch语句、

step3:

i=3,执行case3,输出p,因为没有break语句,所以继续执行下面的语句,遇到默认语句,则输出‘好’。

step4:

i=4,无匹配语句,所以就会执行默认语句,输出‘好’。

然后i=5结束for循环。

ps:switch语句中不是必须有default选项的。switch语句首先会找满足条件的case值做为执行后面的程序入口,若所有的case都不满足,则找default入口,若未找到则退出整个语句;default只是一个备用入口,有没有都无所谓。

你可能感兴趣的:(java语法,eclipse)