黑马程序员技术交流社区

标题: break语句 [打印本页]

作者: yangjijin    时间: 2014-7-2 20:34
标题: break语句

1)        为什么需要break语句
a)        在前面学习过的循环结构中,在执行循环时要进行条件判断,只有在条件为“假”时,循环才会结束。有时我们想要根据需要停止整个循环或是跳到下一次循环(也就是不执行完整个循环体),我们可以用跳转语句来实现。
b)        Java中有三种跳转形式:
1.        break:停止
2.        continue:继续
3.        return:返回
c)        我们今天学习前两种:break和continue
d)        在switch结构中使用过break:用于终止switch语句中的某个分支,使程序跳转到switch语句块以外的下一条语句
int i = 2;
                switch (i) {
                case 1:
                        System.out.println("星期一");
                        break;
                case 2:
                        System.out.println("星期二");
                        break;
                }
// 其他语句
e)        在循环结构中使用break
f)        示例:在4000M长跑中,每跑一圈(400M),就判断一下能不能再跑下一圈。如果不能,就退出。如果能,就接着跑。
for (int i = 0; i<10; i++) {
      //跑400米;
if(不能坚持){
     break;     //退出比赛
}
}
g)        break的作用:
1.        改变程序控制流
用于do-while、while、for中时,可跳出循环而执行循环后面的语句
2)        如何使用break语句
a)        用break语句解决问题:循环录入某学生5门课的成绩并计算平均分,如果某分数录入为负,停止录入并提示录入错误

b)        循环录入成绩,判断录入正确性:录入错误,使用break语句立刻跳出循环;否则,累加求和
import java.util.Scanner;
/**
* Demo010.java 演示break,录入错误退出
*/
public class Demo010 {
        public static void main(String[] args) {
                int score; // 每门课的成绩
                int sum = 0; // 成绩之和
                int avg; // 平均分
                boolean wrong = true;
                Scanner input = new Scanner(System.in);
                System.out.print("输入学生姓名: ");
                String name = input.next(); // 输入姓名

                for (int i = 0; i < 5; i++) { // 循环5次录入5门课成绩
                        System.out.print("请输入5门功课中第" + (i + 1) + "门课的成绩: ");
                        score = input.nextInt();
                        if (score < 0) {
                                wrong = false;
                                break;
                        }
                        sum = sum + score;
                }

                if (wrong) {
                        avg = sum / 5; // 计算平均分
                        System.out.println(name + "的平均分是:" + avg);
                } else {
                        System.out.println("抱歉,分数录入错误,请重新进行录入!");
                }
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2