break与continue

                        break与continue

为什么需要break语句?

回顾以前在switch见过break

代码
int i = 2;
switch(i){
case 1:
System.out.println(
"星期一");
break;
case 2:
System.out.println(
"星期二");
break;// --------------------+
}// | 跳转出去执行其它语句
// |
//其它语句<--------------------------------+

 

遇到break,立即跳出switch语句

break的功能是用于跳出程序,执行其它代码。

 

for(int i = 0; i < 10; i ++) {
if(i==5) {
break;
}
System.out.print(i
+ " ");
}
System.out.println(
"已经跳出for循环");

举一个简单的生活例子就知道了:

 

if(杨过练玉女心经累了) {

  休息// break

}

和小龙女干别的事情:聊天,上网,打游戏。

|- break语句的使用:

      |-问题:循环录入5门功课的成绩,如果分数小于0,则停止录入,并提示录入错误。分析:在录入的过程中进行分数的判断,如果为负数,立刻跳出循环,我们使用break来处理。

 

代码
import java.util.*;

public class Test {
public static void main(String[] args) {
Scanner input
= new Scanner(System.in);
double score;
boolean flag = true;
int sum = 0;
double avg;
for(int i = 1;i<=5;i++) {
System.out.println(
"请输入" + i + "的成绩:");
score
= input.nextInt();
if(score < 0) {
flag
= false;
break;
}
sum
= sum + (int)score;
}
if(flag) {
avg
= sum / 5;
System.out.println(
"平均分是:" + avg);
}
else {
System.out.println(
"对不起,分数录入错误,请重新输入成绩。");
}
}
}

 

|- break语句用于终止某个循环,使程序调到循环块外的下一条语句。在循环中位于break后的语句将不再执行。

|- continue语句的使用

    continue :只能用在循环里
  continue 作用:跳过循环体中剩余的语句而执行下一次循环

 

  |- 问题:循环录入学生java课的成绩,统计80分以上的学员的比例。

    |- 示例1

 

代码
import java.util.*;

public class Test {
public static void main(String[] args) {
Scanner input
= new Scanner(System.in);// 实例化
double score;// 保存分数
int num = 0;// 保存人数
for(int i = 1;i<=5;i++) {
System.out.println(
"请输入" + i + "的成绩:");
score
= input.nextInt();
if(score < 80) { // 当分数小于80分时,就被抛弃。num++ 就不会被执行。
continue;
}
num
++;// 对80分以上的人数进行累加
}
System.out.println(
"80分以上的人数是:" + num);
double rate = (double)num / 5 * 100;// 如果不转成double,那么就会是0*100
System.out.println("80分以上的人所占的比例是:"+ rate+"%");
}
}

 

 

|- 实例2

 

代码
import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner input
= new Scanner(System.in);
double score;
int num = 0;
int sum = 0;
double avg;
boolean flag = true;
for(int i = 1;i<=5;i++) {
System.out.print(
"请输入" + i + "的成绩:");
score
= input.nextInt();
if(score < 0) {
while(score < 0) {
flag
= false;
//break;
System.out.print("请输入" + i + "的成绩:");
score
= input.nextInt();
}
}
sum
+= score;
if(score < 80) { //当分数小于80分时,就被抛弃。num++ 就不会被执行。
continue;
}
num
++;
}

System.out.println(
"80分以上的人数是:" + num);
double rate = (double)num / 5 * 100;// 如果不转成double,那么就会是0*100
System.out.println("80分以上的人所占的比例是:"+ rate+"%");

if(flag) {
avg
= sum / 5;
System.out.println(
"平均分是:" + avg);
}
else {
System.out.println(
"对不起,分数录入错误,请重新输入成绩。");
}
}
}

 

|- 问题:1到100之间个位数字不是2、3、4、7,并且不能被3整除的整数之和

 

 

代码
public class Test {
public static void main(String[] args) {
int sum = 0;
for(int i = 1; i <=100;i++) {
if(i%10 ==2||i%10 ==3||i%10 ==4||i%10 ==7&&i%3==0) {
continue;
}
sum
= sum + i;
}
System.out.println(sum);
}
}

 

|- 问题:1到100之间所有的素数是?

       |- 什么叫做素数?

              |- 一个数除了1和它本身没有别的约数,这个数叫做素数(也叫质数)

 

代码
public class Test {
public static void main(String args[]) {
int num,i;
for(num = 2;num <= 100;num++) {
for(i = 2;i <= num / 2;i++) {
if(num % i == 0) {
break;
}
}
if(i > num / 2) {
System.out.print(num
+" ");
}
}
System.out.println(
"是素数" );
}
}

 

// output 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 是素数

 

posted @ 2010-12-20 12:07  meng72ndsc  阅读(525)  评论(0编辑  收藏  举报