流程控制
分支控制
单分支
语法结构
if(布尔表达式){ 语句块 }
{}可以省略不写,但是省略后,if只对后面的一句话负责。
多分支
语法结构
if(布尔表达式1){ 语句块1; }else if(布尔表达式2){ 语句块2; }else if(布尔表达式3){ 语句块n; }else{ 语句块n+1; }
双分支
语法结构
if(布尔表达式){ 语句块1 }else{ 语句块2 }
随机数
Math类 random方法
random()返回带正号的double值,该值大于等于0.0并且小于1.0
Math.random()-------->[0.0,1.0)
Math.random()*6------>[0.0,6.0)
(int)(Math.random()*6)------>[0,5]
switch
语法结构
switch(表达式){ case 值1 : 语句序列1 [break]; case 值2 : 语句序列2; [break]; case 值3 : 语句序列3; [break]; …… [default :默认语句] }
switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果表达式的值与任一case值不匹配,则进入default语句(存在default的语句情况下)。case参数在jdk1.5之前必须是整数(long类型除外)或者枚举,不能是字符串,在jdk1.7之后允许使用字符串String。当布尔表达式是等值判断时可以使用switch和if,但是当布尔表达式为区间判断的时候,则要使用if。
switch后面是一个(),()中返回的结果是一个等值,这个等值类型可以是int、byte、short、char、String、枚举
为防止case穿透,在每个分支后面加上一个break
default分支可以写在任意位置,但是如果没有写在最后一行,后面则需要加上break;
循环结构
while
while (布尔表达式) { 循环体; }
do—while
do { 循环体; } while(布尔表达式) ;
while和do-while的区别: while:先判断,再执行 do-while:先执行,再判断---》至少被执行一次,从第二次开始才进行判断
for
for (初始表达式; 布尔表达式; 迭代因子) { 循环体; }
增强for循环
int count=0;
for(int num:numbers){
count++;
//输出num
System.out.println("第"+count+"个学生的成绩为:"+num);
}
关键字
break
作用:停止循环(停止最近的循环)
continue
作用:结束本次循环,继续下一次循环(结束本次离它近的循环,继续下一次循环)
return
跟循环无关,就是程序中遇到return那么return所在的那个方法就停止执行了: