分支结构
① if (结果为boolean类型的表达式){
执行语句;
}
② if(结果为boolean类型的表达式){
执行语句;
}else{
执行语句;
}
③ if(结果为boolean类型的表达式){
执行语句;
}else if(){
执行语句;
}
...
else{
执行语句;
}
Switch ...case
int key = 0;
Switch(key){
case:1;
执行语句;
break;
case:1;
执行语句;
break;
case:1;
执行语句;
break;
default:
执行语句;
}
注意: ① key的类型只能是 int short byte char String 枚举 整数和字符
② case一旦匹配就不在匹配别的
③ case 不加break就会出现case穿透;
也会穿透到default下面的语句中
④break是直接结束语句
⑤当所有的case都不匹配时在执行defaul下面的语句 default可以省略
穿透案例 : 算几月几号是星期几
循环结构
for循环
for(初始化语句①;判断条件语句②;步进表达式③){
执行语句④;
}
执行顺序:
① -> ② -> ④ -> ③ -> ② -> ④
while循环
初始化语句1;
while(判断条件语句2){
执行语句3;
步进表达式;
}
执行顺序:1 -> 2 -> 3 -> 4 -> 2->3
do ...while循环
初始化语句1;
do{
执行语句2;
步进表达式3;
}while(判断条件语句4);
执行循序:
1 -> 2 ->3 -> 4 ->2 ->3 ->4
总结:
①do ...while循序至少执行一次
②死循环:
for(;;){
}
while(ture){
}
break 和 continue
break 是结束当前循环 只能用在Switch结构 和 循环结构中
continue:是结束当次循环 ,开始下一次循环 只能用在循环结构中
一般都结合if使用
循环结构的标签
break continue只能控制离他们最近的循环
标签名: for(){}
标签名: while(){}
标签名 break;
标签名 continue;
随机数
Random rd = new Random();
int num = rd.nextInt(m);
m:随机数的范围 列如是 10 那就是[0,10);
求m - n的随机数 : rd.nextInt(m - n + 1) + n;