一.while语句
1.格式
while(进入循环的条件){
循环体语句
}
2.执行流程
先判断循环条件是否满足,如果条件为true,则进入循环体,执行完毕后再次回到while语句进行下一次的判断,如果条件为false,则退出循环
3.特点—先判断后执行
1)想要进入循环,应该对循环变量设置适当的值,以便满足判断条件
2)要想执行指定次数后退出循环而避免死循环,应设法在循环体内对循环变量的值做修改
4.注意事项
1)如果循环体只有一个语句,可以省略大括号,但为了保证程序结构的清晰和可读性,建议不要省略
2)while语句的判断条件后不能加分号,否则会影响到执行的效果
3)永真循环又叫死循环,如while(true)或while(1==1)
二.使用Random类产生随机数
1)创建Random类的对象,Random类在java.util包中
Random random = new Random();
2)调用Random类的方法返回随机数
int nextInt()—返回随机整数
int nextInt(int n)—返回0到n-1间的随机整数
m到n之间的随机数—nextInt(n-m+1)+m
三.do while语句
1.格式
do{
循环体语句
}while(判断条件);
2.执行流程
无论条件是否满足,都先进入循环体执行一次,然后再判断循环条件是否满足,如果条件为true,则再次进入循环体,如果条件为false,则退出循环
3.特点—先执行后判断
4.注意事项
while语句后有分号
四.for语句
1.格式
for(初始化语句;条件判断语句;后续语句){
循环体语句
}
2.执行流程
1)初始化语句只会执行一次,用于循环变量的初始化,保证能进入循环
2)判断循环条件是否满足,如果条件为true,则进入循环体,如果条件为false,则退出循环体
循环执行完毕后,在执行后续语句(一般在这里修改循环变量的值)
3)重复步骤2,进行下一次判断
3.特点—先判断后执行
1)要想进入循环,应对循环变量设置适当的值,以便满足判断条件
2)要想执行指定次数后退出循环而避免死循环,应设法在循环体内对循环变量的值做修改
4.注意事项
1)如果循环体只有一个语句,可以省略大括号,但为了保证程序结构的清晰和可读性,建议不要省略
2)for语句的判断条件后不能加分号,否则会影响到执行的效果,整个for语句末尾无需加分号
3)用针循环又叫死循环,如for(;;)或for(;true;)或for(;1==1;)
五.循环语句的嵌套使用
1.三种循环语句都可以嵌套使用,形成多重循环
2.三种循环语句的比较
1)for循环适用于循环次数已知的情况,而while循环和do while循环适用于循环次数未知的情况
2)while循环和for循环有可能一次也不执行,而do while循环至少执行一次
3)大多数情况,三种循环可以相互等价替代,都能实现相同的功能需求
六.导致流程跳转的语句
以下四种情况都可以导致程序代码的执行流程发生改变
1)break //退出整个循环
2)continue //退出本次循环进入下一次循环
3)return //方法返回
4)throw //抛出异常
1.break关键字
1)break用于switch语句时,会立即退出整个switch语句,继续执行后面的语句
2)break用于循环语句时,会立即退出当前所在的循环语句,继续执行后面的语句
while(true){
循环体语句;
if(条件){
break;
}
}
等价于
boolean flag = true;
while(flag){
循环体语句;
if(条件){
flag =false;
}
}
3)单独使用break只能退出当前循环,配合标记使用退出外层循环
outer:for(int j=0;j<3;j++){
for(int i=0;i<2;i++){
System.out.println("hello world");
break outer;
}
}
2.continue关键字
1)continue只能用于循环语句中,不会退出整个循环,只会退出本次循环,继续执行下一次循环
2)continue后面不能跟其他语句,因为这些语句永远都无法执行到,称之为死代码
3)continue也可以配合标记使用