break和continue语句
循环中, 每一段代码都是必须循环完毕后自动退出,才继续执行其他代码,如果希望在某个循环中间中断,符合某条件再继续循环,java提供了两个循环中断控制语句,break和continue语句。
break语句
break;
for(...)
{
for(...)
{
......
break;
......
}
......
}
说明:
1.break语句用于跳出本循环,进入外层循环。
2.在循环语句中常与条件语句一起使用。
public class ReadProgram{
public static void main(String[] args){
for(int i = 1;i <= 10; i = i+1){
if(i == 5){
break;
}
System.out.println(i);
}
}
}
结果
程序举例1:
请输入一个正整数,判断这个数是否为质数。
boolean isPrime = true;//标记,是质数为true,不是质素为false
Scanner scan=new Scanner(System.in);
System.out.print("请输入一个大于等于2的正整数:");
int num = scan.nextInt();
for (int i = 2; i <num; i++){
if(num%i==0){
isPrime = false;//将标记设置为false
break;
}
}
if (isPrime){
System.out.println(num+"是质数!")
}else{
System.out.println(num+"不是质数!")
}
程序举例2:
请输入密码及确认密码,如果两次密码不一致,则重新输入,直至密码一致,输出“密码设置成功”。
String pwd1 = "";//pwd1 储存密码
String pwd2 = "";//pwd2 储存确认密码
Scanner scan.new Scanner(System.in);
while(ture){//让循环一直进行
System.out.println("请输入密码:");
pwd1=scan.nextLine();
System.out.println("请再次输入密码:");
pwd2=scan.nextLine();
if(pwd1.equals(pwd2)){//如果两次密码相等
System.out.println("密码设置成功");
break;//跳出循环
}
}
continue语句
continue
for(...)
{
for(...)
{
......
continue;
......
}
......
}
说明:
1.用于终止本次循环,跳过该循环体中位于continue后面的语句,进入下次循环。
2.用于循环语句中,类似break语句,常与条件语句一起使用。
public class ReadProgram{
public static void main(String[] args){
for(int i=5;i<=10;i=i+1){
if(i<5){
continue;
}
System.out.println(i);
}
}
}
结果
程序举例3:
求正整数n的所有约数及约数个数
int count =0;//用于统计约数个数
Scanner scan=new Scanner(System.in);
System.out.println("请输入一个正整数:");
int num=scan.nextInt();
for (int i=1;i<=num;i++){
if(num%i!=0){
continue;//不能整除,回去判断下一个数
}
System.out.println(i+" ");//输出约数
count++;//统计个数加1
}
System.out.println();
System.out.println("约数个数为:"+count);
break和continue使用注意
1.break和continue都可以在循环中使用,为循环提供额外的控制。
2.在某些情况下,使用break和continue可以简化程序设计。但是,过度使用或者不正确使用会使程序难以读懂也难以调试。
练习
1.从键盘输入若干个同学的成绩,直到-1为止,输入平均成绩。
public static void main(String[] args) {
int score = 0;
double average = 0;
int sum = 0;
int count = 0;
Scanner scan = new Scanner(System.in);
while (true) {
System.out.println("请输入一个成绩:");
score = scan.nextInt();
if (score == -1) {
break;
}
sum += score;
count++;
}
if (count == 0) {
System.out.println("没有输入有效成绩!");
} else {
average = (double) sum / count;
System.err.println("平均分为:" + average);
}
}
2.输入一个整数,判断这个数是否是完全数。
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.print("请输入一个整数:");
int num=scan.nextInt();
int sum=0;
for(int i=1;i<=num-1;i++){
if(num%i==0){
sum+=i;
}
}
if(num==sum){
System.out.println(num+"是一个完全数");
}else{
System.out.println(num+"不是一个完全数");
}
}
结果
扩展
1.关键字(保留字):编程语言事先定义好并赋予特殊含义的单词。所有关键字都是小写的。
abstract | boolean | break | byte | case |
cast | catch | char | class | continue |
default | do | double | else | enum |
extends | false | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | privare | protected | public |
return | strictfp | short | static | super |
switch | synchronzed | this | throw | throws |
transient | true | try | void | while |
2.JDK下载网址:
JDK下载链接:https://www.oracle.com/cn/
3.Eclipse下载网址
Eclipse下载链接:https://www.eclipse.org/downloads