Java基础核心-循环结构
for循环
什么是循环
案例-1
王五蛋是欣知汽车拉力赛的选手,本场拉力赛需要选手跑完5圈才能完赛领奖如果没跑完就无法领奖
用if写这段代码就是
int a = 0; //跑的圈数
if(a<5){
System.out.println("这是跑的第"+(++a)+"圈");
}else {
System.out.println("已经跑完了,去领奖");
}
if(a<5){
System.out.println("这是跑的第"+(++a)+"圈");
}else {
System.out.println("已经跑完了,去领奖");
}
......
if(a<5){
System.out.println("这是跑的第"+(++a)+"圈");
}else {
System.out.println("已经跑完了,去领奖");
}
这段代码看似可以解决刚才的问题,但实则无法解决。同时代码冗余,结构啰嗦。
循环的作用是什么
循环在生活中随处可见,循环语句可以在满足循环条件的情况下,反复执行某一段代码。这段被重复执行的代码被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。
for循环的使用方法
for(声明循环变量;循环条件;迭代){
被循环的代码块
}
for(int money = 0;money < 500万; money++){
继续工作
}
for循环可以在循环条件满足的情况下,反复执行{}大括号内的代码块。
执行顺序:声明循环变量——>判断循环条件——>执行循环代码——>迭代——>判断循环条件…此段代码意义:声明钱的变量,判断是否挣够500万,如果没挣够,继续工作,工作后钱增加,再进行判断。
循环结构的组成:
1.初始化语句。
一条或者多条语句,这些语句完成一些初始化操作。
2.判断条件语句。
这是一个boolean 表达式,这个表达式能决定是否执行循环体
3.循环体语句。
这个部分是循环体语句,也就是我们要多次执行的代码块
4.迭代
这个部分是改变循环变量值的,让循环能在合适的时候退出
PS:判断条件语句的结果是一个boolean类型
PS:循环体语句如果是一条语句,大括号可以省略;如果是多条语句,大括号不能省略。建议永远不要省略
PS:for循环中的循环变量在循环外部无法使用
while循环
while循环的使用方法
声明循环变量
while(循环判断){
被循环的代码块
迭代
}
int money = 0;
while(money < 500){
继续工作
money++;
}
for循环语句和while循环语句可以等价转换,循环需要的内容只是换了位置而已。
不同点:在for循环中声明的循环变量无法在循环外部使用,而while循环却是在循环结构外部声明的循环变量,所以即便循环结束,也可以继续使用。但更推荐使用for循环,for循环的循环变量在循环结束后会直接被销毁,更合理的使用内存空间。
do-while循环
do-while循环的使用方法
声明循环变量
do{
被循环的代码块
迭代
}while(循环判断);
int money = 0;
do{
继续工作
money++;
}while(money < 500);
根据刚才的操作,for循环与while循环都是先进行循环条件判断,在执行循环内的代码。而do-while循环更加特殊,它会先执行循环内的代码,再进行循环条件的判断。如果循环条件最一开始就不满足,for循环和while循环一次都不会执行,而do-while循环由于先执行循环体的原因,即便不满足也会执行一次。
三种循环的比较
break与continue的用法
break
String jc = “还能坚持”;
for(int i = 0;i < 500;i++){
System.out.print(“做俯卧撑”);
System.out.print(“还能坚持吗?”);
jc = in.next();
if(jc.equals(“坚持不住”) ){
break;
}
}
break是退出循环。当循环中代码执行到break关键字时,会立即退出循环,继续执行循环结构之后的代码。
continue
String jc = “还能坚持”;
for(int i = 0;i < 500;i++){
System.out.print(“俯卧”);
System.out.print(“还能坚持吗?”);
jc = in.next();
if(jc.equals(“坚持不住”) ){
continue;
}
System.out.print(“撑”);
}
continue是跳过本次循环。当代码执行遇到continue时,会将本次循环终止,但是循环结构不退出,继续执行迭代部分并开始下一次循环。