java入门-----执行语句(下)

java入门-----执行语句(下)

3.2 while循环

while循环

语法结构:
while(表达式){
…代码块…
}

理解:
表达式的结果必须是boolean
true - 执行代码块
false- 跳出循环
死循环:
while(true){
System.out.println(“死循环”);
}

while循环变形记:while循环可以表示for循环

int i = 0;
while(i < 5){
    System.out.println("循环五次");
    i++;
}

案例:我有个梦想,每月存3000,每年递增1000元,多少个月后存满20万

int money = 3000;
int allMoney = 0;
int month = 0;
while(allMoney < 200000){
    allMoney+=money;
    month++;
    if(month % 12 == 0){
        money+=1000;
    }
}

System.out.println(month + "个月以后存满20万  " + money);

46个月以后存满20万 6000

3.3 do-while循环

do-while循环
语法结构:
do{
…代码块…
}while(表达式);
理解:
表达式的结果必须是boolean
true - 执行代码块
false- 跳出循环
执行顺序:
1.先执行一遍代码块
2.判断表达式
2.1 true - 执行代码块,再重复第2个步骤
2.2 false- 跳出循环

死循环:
do{
System.out.println(“死循环”);
}while(true);

​ 案例:小明参加学校组织的歌咏比赛,
大赛在即,老师建议:先彩排一次,如果很令人满意,
以后就不用彩排了,否则每天都排,直到现场表现满意为止!

Scanner scan = new Scanner(System.in);
		
String str;
do{
    System.out.println("小明开始表演");
    System.out.println("评委老师请给出意见");
    str = scan.next();
}while(str.equals("不满意"));

给出满意,结束排练;不满意则继续排练

总结:循环次数不确定

​ for vs while vs do-while
语法结构的区别:
​ for(初始化变量;判断条件;更新变量){}
​ while(判断条件){}
​ do{}while(判断条件);
​ 循环共同点:判断条件的结果都是boolean值,true-循环 false-跳出循环
执行顺序的区别:
​ for:先判断,再执行
​ while:先判断,再执行
​ do-while:先执行一遍,再判断
应用场景的区别:
​ 循环次数确定:for
​ 循环次数不确定,先判断,再执行:while
​ 循环次数不确定,先执行一遍,再判断:do-while

4.特殊的流程控制语句

4.1 break

break
作用:作用于循环中,表示跳出当前循环

while(true){
    System.out.println("111");
    System.out.println("222");
    if(true){
        break;
    }
    System.out.println("333");
    System.out.println("444");
}

输出的结果是:

111

222

案例:循环录入小明同学5门课的成绩并计算平均分,

如果某分数录入为负停止录入并提示。

Scanner scan = new Scanner(System.in);
double sum = 0;

boolean flag = true;//true-5次正常录入	false-有输入负数的情况
for(int i = 1;i<=5;i++){
    System.out.println("请输入第" + i + "门成绩:");
    double score = scan.nextDouble();
    if(score < 0){
        flag = false;
        break;
    }
    sum+=score;
}

if(flag){
    double avg = sum/5;
    System.out.println("平均分为:" + avg);
}else{
    System.out.println("分数为负数,停止录入");
}

4.2 continue

作用:作用于循环中,表示跳过当前循环剩余的部分,进入到下一次循环

while(true){
    System.out.println("111");
    System.out.println("222");
    if(true){
        continue;
    }
    System.out.println("333");
    System.out.println("444");
}

输出结果是:
111

222

111

222

…无限循环。只跳过了每次循环的后半截

案例:循环录入Java课5名学生的成绩,

统计分数大于等于80分的学生比例。

Scanner scan = new Scanner(System.in);
int num = 0;//记录成绩大于等于80分学生的人数
for(int i = 1;i<=5;i++){
    System.out.println("请输入第" + i + "名学生的成绩:");
    double score = scan.nextDouble();
    if(score < 80){
        continue;
    }
    num++;
}
System.out.println("分数大于等于80分的学生比例为:" + (num/5.0*100) + "%");

4.3 return

作用:作用于方法中,表示结束该方法

public static void main(String[] args){
    System.out.println("111");
    System.out.println("222");
    if(true){
        return;
    }
    System.out.println("333");
    System.out.println("444");	
}

return会直接结束整个main方法

return还会用于方法的返回值,后期进行详解。。。

4.4 lable

lable不同于上述三种控制语句,lable是一种方法,不是关键字;

可以理解为:给循环语句命名

http:for(int i=0;i<5;i++){
    System.out.println("123123");
}

将此循环for命名为http ;

案例:

嵌套for循环,外层循环5次,内层循环3次,
外层循环到第3次时,在内层循环中退出外层循环

for(int i = 1;i<=5;i++){
    for(int j = 1;j<=3;j++){
        System.out.println(i + " -- " + j);
        if(i == 3){
            break ;
        }
    }
}

此处break会停止内层循环,达不到需求

a:for(int i = 1;i<=5;i++){
			for(int j = 1;j<=3;j++){
				System.out.println(i + " -- " + j);
				if(i == 3){
					break a;
				}
			}
		}

通过lable将外层循环命名为a,break就可以停止指定循环;

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值