分支结构:
if语句
- 第一种格式:
if(关系表达式){
语句体;
}
-
第二种格式:
if(关系表达式) {
语句体1;
}else {
语句体2;
}
-
第三种格式:
if (判断条件1) {
执行语句1;
} else if (判断条件2) {
执行语句2;
}
...
}else if (判断条件n) {
执行语句n;
} else {
执行语句n+1;
}
switch语句
switch (表达式){
case 目标值1:
执行语句1
break;
case 目标值2:
执行语句2
break;
......
case 目标值n:
执行语句n
break;
default:
执行语句n+1
break;
}
说明
在上面的格式中,switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后的语句,如果没找到任何匹配的值,就会执行default后的语句。switch语句中的break关键字将在后面的做具体介绍,此处,我们只需要知道break的作用是跳出switch语句即可。
注意
switch语句中的表达式只能是byte、short、char、int类型的值,如果传入其它类型的值,程序会报错。
但是在JDK5.0中引入的新特性enum枚举也可以作为switch语句表达式的值,在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。
case穿透(下坠)
在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,这是一种简写的方式。
if和switch的区别
相同点:if语句和switch语句都可以表达分支结构
不同点:
1、if语句格式相对灵活,更加强大,switch语句相对弱小。所有的switch语句都可以被if语句替代。
2、if语句更多的是做一些连续性的判断,而switch语句更多的是做一些离散性的匹配
3、if语句每次都需要获取表达式的值,而switch只获取一次表达式的值,所以相对switch的效率高一些。
for循环
for循环语句格式:
for(初始化表达式①; 布尔表达式②; 步进表达式④){
循环体③
}
跳出死循环
break: 1 break的使用场景:在选择结构switch语句中、在循环语句中
2 break的作用:跳出当前switch/循环语句
continue: 1 continue的使用场景:在循环语句中
2 continue的作用:结束本次循环,继续下一次循环
break 结束整个循环
continue 结束本次循环,继续下一次循环
附上一个题目:输入两个数a,n,求s=a+aa+aaa+aaaa+aa...a的值,共n个数。例如a=2,n=5,2+22+222+2222+22222(此时共有5个数相加)。