JAVA循环语句用法(while、do...while、for、break、continue语句)

循环结构语句

在实际生活中经常会将同一件事情重复做很多次。例如,在做眼保健操的第四轮刮眼眶时,会重复刮眼眶的动作;打乒乓球时,会重复挥拍的动作。在Java中有一种特殊的语句称为循环语句,可以将一段代码重复执行。循环语句分为while循环语句、do...while循环语句和for循环语句3种。

while循环语句

while 语句会反复地进行条件判断,只要条件成立,0内的执行语句就会执行,直到条件不成立,while 循环结束。

while循环语句的语法结构如下:

while(循环条件) {
    执行语句
    ...
}

在上面的语法结构中,{}中的执行语句称为循环体,循环体是否执行取决于循环条件。当循环条件为 tue时,循环体就会执行。循环体执行完毕,程序继续判断循环条件,如果条件仍为 ue,则继续执行循环体直到循环条件为 false 时,整个循环过程才会结束。

while循环执行流程图

下面通过打印1-4之间的自然数演示while循环语句的用法

public class WhileDemo {

	public static void main(String[] args) {
		int x=1;	//定义变量x,初始值为1
		while(x<=4){	//循环条件
			System.out.println("x="+x);	//条件成立,打印x的值
			x++;		//x进行自增
		}

	}

}

第3行代码定义了变量x,初始值为1。在满足循环条件x<=4 的情况下,循环体会重复执行,打印x的值并让x自增。由执行流程图可知,打印结果中x的值分别为1、2、3、4。
注意:文件中第6行代码在每次循环时改变变量x的值,从而达到最终改变循环条件的目的。如果没有这行代码,x的值一直为 1,整个循环会进人无限循环状态,永远不会结束。

while循环语句程序举例

设有一张厚为0.2 mm,面积足够大的纸,将它不断地对折。试问对折多少次后,其厚度可达珠穆朗玛峰的高度( 8843.8m)。对折多少次可达0.8mm?

import java.util.Scanner;
public class Demo {
	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		double i =0.2;
		int e=0;
		while(i<=8843800){
			i=i*2;
			e++;
		}
		System.out.println("折叠次数为:"+e);
	}

}

运行结果:

do...while循环语句

do...while语句和while循环语句功能类似。

do...while循环语句的语法结构如下:

do {
    执行语句
    ...
}while(循环条件);

在上面的语法结构中,do 关键字后面{}中的执行语句是循环体。do...while 循环语句将循环条件放在了循环体的后面。这也就意味着,循环体会无条件执行一次,然后再根据循环条件决定是否继续执行。

do...while循环执行流程图

下面使用do..while循环语句输出1-4的自然数演示do...while循环语句的用法

public class DoDemo {

	public static void main(String[] args) {
		int x=1;	//定义变量x,初始值为1
		do{	
			System.out.println("x="+x);		//打印x的值
			x++;			//将x的值自增
		}while(x<=4);		//循环条件

	}

}

运行结果:

while循环和do...while循环演示运行结果一致,说明 do ...while 循环和 while 循环能实现同样的功能。但是在程序运行过程中,这两种语句还是有差别的。如果循环条件在循环语句开始时就不成立,那么 while 循环的循环体一次都不会执行,而 do...while 循环的循环体会执行一次。例如,将文件中的循环条件x<=4 改为x<1.则do...while演示会打印x=1,而while演示什么也不会打印。

while循环语句程序举例

从1开始做自然数的累加,当其累加和超过1000时,共计累加了多少数 ?当时的累加和是多少?

public class Demo {

	public static void main(String[] args) {
		int sum=0;
		int num=1;
		
		do{
			sum+=num;
			num++;
		}while(sum<=1000);
		System.out.println("累加了"+(num-1)+"个数");
		System.out.println("累加和为"+sum);

	}

}

运行结果:

for循环语句

for循环通常用于已知循环次数的情况,使用该循环时,测试是否满足某个条件,如果满足条件,则进入下一次循环,否则,退出该循环。

for循环语句的语法格式如下:

for(初始化表达式;循环条件;操作表达式){
    执行语句
    ...
}

在上面的语法格式中,for 关键字后面()中包括了三部分内容:初始化表达式、循环条件和操作表达式,它们之间用(;)分隔;{}中的执行语句为循环体。

下面通过对自然数1-4求和演示 for 循环的使用

public class For {
	public static void main(String[] args) {
		int sum = 0;		//定义变量sum,用于记住累加的和
		for(int i=1;i<=4;i++){		//i的值会在1-4变化
			sum+=i;				//实现sum与i的累加
		}
		System.out.println("sum="+sum); 	//打印累加的和
	}

}

运行结果

在for 循环中,变量的初始值为 1,在判断条件=4 结果为 tue 的情况下执行循环体sum+=i”;执行完毕后,执行操作表达式i++,i的值变为 2,然后继续进行条件判断,开始下一次循环,直到i=5时,判断条件i<=4 结果为 false,循环结束,执行 for 循环后面的代码,打印“sum=10”。

for循环语句程序举例:

输入10个整数,分别求出所有正数之和、所有负数之和、零的个数。

import java.util.Scanner;
public class ForDemo {
	public static void main(String[] args) {
		int positive=0;
		int negative=0;
		int zero=0;
		for(int i=1;i<=10;i=i+1){
			Scanner scan=new Scanner(System.in);
			System.out.print("请输入第"+i+"个整数:");
			int num =scan.nextInt();
			if(num>0){
				positive=positive+num;
			}
			else if(num<0){
				negative=negative+num;
			}
			else {
				zero=zero+1;
			}
		}
		System.out.println("正整数之和为"+positive+","+"负数之和为"+negative+","+"零的个数为"+zero);;

	}
}

运行结果:

break语句

在 switch 条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,用于终止某个case并跳出swich结构;当它出现在循环语句中时,用于跳出循环语句,执行循环后面的代码。

break语句用法:

1.break用于switch语句中,终止switch语句。

2.break用于跳出本层循环,进入外层循环。

3.break在循环语句中常与条件语句一起使用。

4.break用于其他位置,毫无意义。

for(...)
{
   for(...)
{
   ......
   break;
   ......
}
  ......
}

当满足某个条件时,可以使用 break 语句来提前结束循环,无需等待循环条件的自然终止。

break代码示例运行结果如下:

public static void main(String[] args) {
		for (int i=1;i<=10;i=i+1){
			if(i==5){
				break;
			}
			System.out.println(i);
		}

	}

当i==5时,break用于终止循环。 

break语句程序举例:

请输入密码及确认密码,如果两次密码不一致,则重新输入,直至密码一致,输出“密码设置成功”。

    public static void main(String[] args) {
		String pwd1 = "";//pwd1存储密码
		String pwd2 = "";//pwd2存储确认密码
		Scanner scan=new Scanner(System.in);
		while(true){//让循环一直执行
			System.out.println("请输入密码:");
			pwd1 = scan.nextLine();
			System.out.println("请再次输入密码");
			pwd2 = scan.nextLine();
			if(pwd1.equals(pwd2)){//如果两次密码相等
				System.out.println("密码设置成功");
				break;//跳出循环
			}
		}
	}
}

运行结果:

continue语句

continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。

continue语句用法:

1.用于终止本次循环,跳过该循环体中位于continue后面的语句进入下次循环。
2.用于循环语句中,类似于break语句,常与条件语句一起使用。

for(...)
{
    for(...)
{
    ......
    continue;
    ......
    }

......
}

continue代码示例运行结果如下:

	public static void main(String[] args) {
		for (int i=1;i<=10;i=i+1){
			if(i<5){
				continue;
			}
			System.out.println(i);
		}

	}

当变量i<5 时,执行 continue 语句,跳过当前循环的剩余代码,直接进行下一轮循环。该代码将输出如下结果: 

continue语句程序举例:

求正整数n的所有约数及约数个数
(约数,又称因数、因子。整数a除以整数b(b≠0)除得的商正好是整数而没有余数,我们就说a能被b整除,或b能整除a。a称为b的倍数,b称为a的约数。)

	public static void main(String[] args) {
		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.print(i+" ");//输出约数
			count++;//统计个数加1
		}
		System.out.println();
		System.out.println("约数个数为"+count);
		for(int i = 1;i<=num;i++){
			if(num%i==0){
				System.out.print(i+" ");
				count++;
			}
		}

	}

运行结果:

总结:

以下是对Java中break和continue语句的总结:
1.break语句用于终止整个循环的执行,并跳出循环体之后的代码执行。
2.continue语句用于跳过循环体中剩余的语句,直接进入下一次循环的执行。
3.break语句和continue语句通常与if语句一起使用,以便在满足某些条件时跳出循环或跳过循环的某些部分。
4.break语句和continue语句只能用于循环语句(for、while、do-while)和switch语句中。
5.在循环嵌套中,break语句和continue语句只会影响当前循环,而不会影响外层循环。


  • 40
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值