一、跳转语句break
1.使用场景:break可以存在于switch选择结构中,代码执行到break,结束整个switch选择结构;
break还可以存在于循环结构中,代码执行到break,结束整个循环结构
2.注意:
(1)break存在于循环中,执行到break时,结束整个循环结构,后面的多有循环操作都不再执行。
(2)break一般结合if选择结构一起使用,因为退出循环结构是有一个条件,满足条件就退出,不满足条件不退出,所以break在循环中一般与if选择结构一起使用。
(3)break只能左右在switch选择结构和循环结构中。
示例1:
public static void main(String[] args) {
/*
* 循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误
*/
//创建Scanner类对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的姓名:");
String name = sc.next();
//sum变量用来统计所有课程成绩之和
double sum = 0;
//定义一个变量用来统计正确成绩的数量
int count = 0;
for(int i =1;i<=5;i++){
System.out.println("请输入5门课中第"+i+"门课的成绩:");
double score =sc.nextDouble();
//输入数据之后要进行判断,如果为负数,就结束录入
if(score<0){
System.out.println("抱歉,分数录入错误,请重新录入");
break;
}else{
count++;
sum+=score;
}
}
//求平均分:得到5门课的成绩才求平均分,少一门课的成绩,都不求平均分
if(count==5){
System.out.println("总分:"+sum);
double avg =sum/5;
System.out.println("5门课的平均分:"+avg);
}else{
System.out.println("没有录满5门课成绩,不予求平均分");
}}
结果:
请输入你的姓名:
lcj
请输入5门课中第1门课的成绩:
89
请输入5门课中第2门课的成绩:
98
请输入5门课中第3门课的成绩:
56
请输入5门课中第4门课的成绩:
23
请输入5门课中第5门课的成绩:
56
总分:322.0
5门课的平均分:64.4
示例2:
public static void main(String[] args) {
/*
* 从键盘输入一位整数,当输入1~7时,输出“星期一”~“星期日”
* 输入其他数字时,提示用户重新输入,输入0,程序结束
*/
Scanner sc = new Scanner(System.in);
int num;
do{
System.out.println("请输入一个1-7之间的数字,输入0退出程序:");
num = sc.nextInt();
//判断输入的数字是不是为0,如果为0,程序结束
if(num==0){
System.out.println("程序结束");
break;
}
//要判断你输入的数字是不是在1-7之间?
while(num<1||num>7){
System.out.println("你输入的数字不合格,只能输入1-7之间的数字,请重新输入:");
num = sc.nextInt();
}
//如果输入的数字是1-7之间的数字
switch(num){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
}
}while(num!=0);
}
结果:
请输入一个1-7之间的数字,输入0退出程序:
5
星期五
请输入一个1-7之间的数字,输入0退出程序:
7
星期日
请输入一个1-7之间的数字,输入0退出程序:
4
星期四
请输入一个1-7之间的数字,输入0退出程序:
5
星期五
请输入一个1-7之间的数字,输入0退出程序:
0
程序结束
二、跳转语句continue
1.使用场景:continue:只能存在于循环结构中,一般结合if选择结构一起使用,它的作用是结束当前循环(本次循环)continue后面的代码,继续执行下一次循环操作。
示例1:
public static void main(String[] args) {
/*
* 循环录入Java课的学生成绩,统计分数大于等于80分的学生比例
*/
Scanner sc = new Scanner(System.in);
System.out.println("请输入班级总人数:");
int num = sc.nextInt();
//定义一个变量,用来统计成绩大于等于80 的人数
double count=0;
//使用for循环获得每个学生的成绩
for(int i =1;i<=num;i++){
System.out.println("请输入第"+i+"个学生的成绩:");
double score =sc.nextDouble();
//获得成绩后,判断成绩是否大于等于80
if(score<80){
continue;
}
count++;
}
System.out.println("成绩大于等于80 的人数:"+count);
System.out.println("80分以上学生所占比例:"+(count/num*100)+"%");}
结果:
请输入班级总人数:
8
请输入第1个学生的成绩:
89
请输入第2个学生的成绩:
78
请输入第3个学生的成绩:
56
请输入第4个学生的成绩:
34
请输入第5个学生的成绩:
56
请输入第6个学生的成绩:
89
请输入第7个学生的成绩:
69
请输入第8个学生的成绩:
89
成绩大于等于80 的人数:3.0
80分以上学生所占比例:37.5%