分支语句
switch
标准格式:
switch (普通表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
case 值3:
语句体3;
break;
...
default:
语句体n+1;
break; // 最后一个break语句可以省略,但是强烈推荐不要省略
}
执行流程:
看表达式的结果和哪个case后面的值相同,就执行那个case后面的语句体,碰到break就结束switch.
如果没有符合要求的case则执行default后面的语句体.
注意事项:
①switch后面小括号当中只能是下列数据类型:
基本数据类型:byte
/short
/char
/int
引用数据类型:String
字符串、enum
枚举
②switch
可以没有default
,但是一般都会加上
③case
语句后面可以不加break
.但是如果不加break
就会出现case
穿透问题.匹配哪一个case
就从哪一个位置向下执行,直到遇到了break
或者整体结束为止;
循环语句
for
格式:
for(初始化语句;比较表达式;步进语句){
循环体;
}
执行流程:
先执行初始化语句,然后看条件判断的结果,如果为false 循环结束,如果为true 执行循环体.循环体执行完后执行条件控制语句.然后继续执行条件判断(PS:注意,不是初始化语句)如果结果为false,结束循环,结果为true则继续循环体,然后条件控制语句以此类推.
注意事项:
for循环的变量在小括号当中定义,只有循环内部才可以使用
while
基本格式:
while(比较表达式){
循环体;
}
执行流程:
看判断表达式的结果,如果为false循环结束,如果为true,则执行循环体.循环体执行完后继续看判断表达式的结果以此类推
完整格式:
初始化语句;
while(比较表达式){
循环体;
步进语句;
}
执行流程:
1, 执行初始化语句
2, 执行判断表达式, 看其结果为 true 还是 false
如果为 false , while 循环结束;
如果为 true ,继续执行循环体;
3, 执行条件控制语句
4, 回到2步骤继续
do...while
格式:
do{
循环体;
}while(比较表达式);
执行流程:
先执行循环体,然后看判断表达式的结果如果为true则继续执行循环体如果判断表达式的结果为false则循环结束,如此反复。
for循环和while循环的区别
for循环的特点:
初始化表达式只在当前的循环范围内有效。出了循环的大括号以外,就无法使用了(tips:for循环的初始化表达式,也可以定义在外面)
while循环的特点:
初始化表达式是定义在循环的外面。出了循环也可以继续使用。
do-while循环和for、while循环的区别
do-while循环会至少先执行一遍循环体。然后再做条件判断
而for、while循环都是先判断条件。如果条件满足才执行循环体。如果条件不满足,就直接结束循环
使用场景
一般在循环次数确定的时候,推荐使用for循环
一般在循环次数不确定的时候,推荐使用while循环
do-while循环很少很少会用到
死循环
死循环就是会一直循环下去的循环
while(true){
}
for( ; ; ){
}
do{
}while(true);
跳转控制(控制跳转)语句
break
在循环过程中,碰到break整个循环就直接结束了
应用场景:
break只能出现在循环中或者switch中
continue
如果在循环过程中碰到了continue,则跳过本次循环,继续下次循环
Random随机数
步骤:
A. 导入包 import java.util.Random;
B. 创建对象 Random r = new Random();
C. 获取随机数 int num = r.nextInt(10);//取值范围是[0,9]