JAVA语言循环结构

JAVA循环语句

循环四要素:

循环初始化:一条或多条语句,这些语句完成一些初始化操作,让循环开始执行
循环继续条件:控制循环是否继续或结束的条件
循环体:需要被循环执行的代码
循环步长(间距,周期):当前循环和下一次循环之间的差量

为什么要用循环语句:
答:为了执行代码中的重复步骤,减少代码的冗余,是代码简洁明了。
循环语句的特点:
1.循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码
2.被称为循环体语句,当反复执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形成死循环。

for循环

结构
for(初始化;循环条件;循环步长){循环语句体}
for循环的执行:
1.从初始化开始执行
2.执行循环条件(如果循环条件判断为true,则执行循环体,否则跳出循环)
3.执行循环体
4.执行循环步长(为了改变循环条件,使其能在某种情况下跳出循环,而不是执行死循环)
适用场合
1.程序中同一操作需要执行n(n>1)多次
2.明确知道循环的结束条件。
例如:`

class demo1{
	public static void main(String[] args){
		int sum=0;
	for(int i=0;i<=100;i++){
	sum+=i;
	}
	System.out.println(sum);
	}
}

while循环

结构:
初始化
while(循环判断执行条件){循环体;循环步长}
切记:while循环中一定要把初始化放在循环之外,否则每当执行一次循环,就会初始化一个变量,占用空间。
while循环和for循环类似;可以直接由for循环改造而来,例如:

class demo1{
	public static void main(String[] args){
		int sum=0;
		int i=0;
	while(i<=100){
	sum+=i;
	i++;
	}
	System.out.println(sum);
	}
}

执行效果和前边for循环的例子相同。

do…while循环

此循环与前边两者的循环有一个很大的不同循环体在判断循环条件之前无条件执行一次
结构
初始化
do{循环体;循环步长}
while(循环判断条件);
执行过程:
从初始化开始,顺序执行,在while的判断条件中进行判断选择,(如果结果为true,继续执行循环体,否则跳出循环)
例如:

class demo00{
	public static void main(String[] args){
	int i=1;
	do{
	i+=1;
	}
	while(i<0);
		System.out.println(i);
	}
}

执行结果如下图:
在这里插入图片描述
由此可以清楚的看到,虽然虽然循环条件判断为false,但是已经执行一次语句体

break continue关键字

这两个关键字有效的解决了循环语句中的各种情况,
break
直接跳出当前循环(当前循环为一层时,直接跳出循环,当前循环为n(n>=2),跳出当前循环进入n-1层循环)
用法:
for(初始化;条件判断;步长){语句体1;语句体2;break;…语句n;}
直接跳出循环,不执行break后面的语句。例如:

/*
数据:正数的个数,负数的个数,总和,平均值
指令:
1.循环输入数据
2.在输入时计算正数的个数,负数的个数,总和
3.输入0时,结束循环
4.计算平均值
5.结束
循环
1.初始化
2.true
3.4.输入数据,判断正负,计数,
*/
import java.util.Scanner;
class demo12{
	public static void main(String[] args){
		Scanner scanner=new Scanner(System.in);
		System.out.print("enter nums:");
		int ncount=0;
		int icount=0;
		int sum=0;
		while(true){
		double n=scanner.nextDouble();
		if(n==0){
		break;
		}
		else if(n>0){
		icount+=1;
		}
		else{
		ncount+=1;
		}
		sum+=n;
		n=0;
		}
		System.out.println(sum);
		System.out.println(ncount+icount);
		System.out.println(ncount);
		System.out.println(icount);
	}
}

执行结果:

在这里插入图片描述
由此可以看出当执行到break语句时直接结束循环,输出结果。
continue
此语句可以强迫程序跳到循环的起始处,当程序运行到continue语句时,会停止执行后边的语句,直接跳转到循环起始位置,
==注意,如果是多层循环语句,需要跳到别的循环(非当前循环)时,需要使用标记,但是不提倡使用,例如:

class demo18{
	/*
	指令:遍历2~1000所有的数字,判断其是否为素数,(除了1和其自身之外,不能被其他整数整除)
	如果在遍历的过程中出现整除现象,则不是素数,否则循环结束,是素数
	*/
	
	public static void main(String[] args){
		int count=0;
		out:for(int i=2;i<=1000;i++){
		for(int j=2;j<=Math.sqrt(i)+1;j++){
		if(i%j==0){
		continue out;
		}
		}
		System.out.print(i+" ");
		count++;
		if(count%8==0){
		System.out.println();
		}
		}		
	}
}

控制跳转语句return

return语句可以跳出当前循环,但是更多的是用于结束一个函数,也就是调转到上层方法,但是本质上是结束当前方法。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值