流程控制 break/continue
-
break:终止、跳出 switch 、循环结构
- 循环执行中,遇到break,则退出整个循环结构
package package1; import java.util.Scanner; public class JavaTest{ public static void main(String[] args){ Scanner input = new Scanner(System.in); //如果输入数据非法,则跳出 boolean flag = true;//true代表合法 添加布尔变量 记录状态 double sum = 0; char stu = 5; for(int i = 1 ; i <= stu ; i ++){ System.out.println("请输入第" + i + "位同学的成绩"); double score = input.nextDouble(); if(score < 0 || score > 100){ flag = false;//存在非法数据 break; } sum += score; } if(flag){//flag == true double avg = sum / 5 ; System.out.println("5位同学的平均分位:" + avg); }else{ System.out.println("输入数据不合理,请重新输入!"); } } }
-
continue: 结束本次、进入下一次循环
- 循环执行中,遇到continue,则跳过此次,进入下一次循环
package package1; import java.util.Scanner; public class JavaTest{ public static void main(String[] args){ Scanner input = new Scanner(System.in); //如果输入错误,则重新输入 double sum = 0D; char stu = 5; for(int i = 1 ; i <= stu ; ){ System.out.println("请输入第" + i + "位学生成绩:"); double score = input.nextDouble(); if(score > 100 || score < 0){ System.out.println("输入有误,请重新输入:"); continue; } sum += score; i ++; } double average = sum / stu; System.out.println("5位学生的平均成绩为:" + average); } }