本文已参与「新人创作礼」活动,一起开启掘金创作之路。
控制选择结构语句
- if、if else
- switch
if语句
:只要有一个分支执行,整个语句结束; 只要有else分支,语句就可以保证100%有分支执行。 if语句中,只要一条java语句,{ }可以不写。 1. if(布尔表达式){ java语句; java语句; ...... } 2. if(布尔表达式){ java语句; ...... } else{ java语句; java语句; ...... } 3. if(布尔表达式){ java语句; java语句; ...... }else if{ java语句; java语句; ...... } else if{ java语句; java语句; ...... } ......
switch
-
语法结构: switch(int或String类型的字面值或变量){ case int或String类型的字面值或变量: java语句; ...... break; case int或String类型的字面值或变量: java语句; ...... break; case int或String类型的字面值或变量: java语句; ...... break; ............. default : java语句; }
-
执行原理:switch后面的小括号当中的“数据”与case后面的“数据”进行一一匹配,匹配成功的分支执行语句。当该分支执行完,分支后有break时,整个switch语句终止执行。如果该分支没有break直接进入下一个分支执行(不进行匹配)——case穿透现象。即提供break语句可以避免穿透。如果所有分支都没有匹配成功,当有default的语句,会执行default分支当中的程序。
-
switch和case只能探测int和String类型,不能探测其他类型。byte、short、char可以自动转换成int类型。
-
JDK只能探测int类型;JDK7及以上探测int或String。
-
case可以合并
控制循环结构语句
- for
- while
- do while
for
循环体、计数器
-
语法结构 for(初始化表达式;布尔表达式;更新表达式){ 循环体——java语句; }
-
执行原理:
- 初始化表达式、布尔表达式、更新表达式都不是必须的【两个分号是必须的】
- for的执行过程
- 先执行初始化表达式,并且该表达式仅执行一次;
- 判断布尔表达式的结果是true(false)
- 布尔表达式为真
- 执行循环体,执行更新表达式
- 判断布尔表达式结果是true(false)
- 布尔表达式为真
- 执行循环体更新表达式
- 判断......
- 布尔表达式为真
- 布尔表达式为假
- 退出for循环
- 布尔表达式为真
for(int a =1;a<11;a++){ //a++和++a的区别在于:
System.out.println(a); //如果它们是表达式的一部分的话,那么+1的顺序会影响到结果
} //如果表达式就是一个简单的a++或++a;那是一样的结果
//for循环嵌套理解
for(int i = 1;i<6;i++){
System.out.println("began");
for(int j = 1;j<5;j++){
System.out.println("j——>"+j);
}
System.out.println("end");
}
//使用for :输出9*9乘法表——嵌套 i为行
for(int i = 1;i<10;i++){
for(int j=1;j<=i;j++){
System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println();
}
while
- 语法结构:
- while(布尔表达式){ 循环体; }
- 执行次数0-N次
do......while
- 语法结构 do{ 循环体 }while(布尔表达式);
- 执行次数1-N次
改变控制语句顺序
- break
- continue
break
- java语言中的关键字,“中断”
- break;——可以当一个完整的java语句
- break在switch语句中,用于终止switch的语句执行
- break语句同样可以使用在循环语句中,用于终止循环
for(int i =1;i<5;i++){
for(int j = 1;j<3;j++){
if(j==2){
break; //break结束最近的循环体
}
System.out.println("j——>"+j);
}
}
System.out.println("============================");
for1:for(int i =1;i<5;i++){
for2:for(int j = 1;j<3;j++){
if(j==2){
break for1; //给循环命名之后,可以指定终止的循环
}
System.out.println("j———>"+j);
}
}
continue
- java语句中的关键字,表示继续
- continue;——构成一个单独的java语句
- break和continue的区别
- break循环不执行
- continue表示该循环不执行,直接执行下一个循环
//continue和break的区别
for(int i = 1;i<=10;i++){
if(i==5){
break;
}
System.out.println("i="+i);
}
System.out.println("============================");
for(int i = 1;i<=10;i++){
if(i==5){
continue;
}
System.out.println("i="+i);
}