JAVA循环

本文详细介绍了Java中的for循环、while循环和do...while循环的工作原理、语法结构和应用场景,包括循环嵌套、计数和控制语句,以及它们之间的区别。重点讲解了如何通过实例理解循环的执行流程和如何避免无限循环。
摘要由CSDN通过智能技术生成

JAVA循环

循环结构:在程序中总有一些需要反复执行代码,所以就要用到循环结构,把需要重复执行的代码放到“循环体”中,在联合计数器,共同控制这段需要被反复执行的代码

java循环分为三种

1、for循环

2、while循环

3、do…while循环

for循环

for循环语法结构

	for(初始表达式; 布尔表达式; 更新表达式){
	           java语句;
	}

例如:

for(int i = 0; i <= 10;i++){
      System.out.println("Hello");
}

其执行原理就是

先执行初始表达式,并且只执行一次

再执行布尔表达式,如果判定结果为True,则继续向下运行输出for循环内的java语句

最后执行更新表达式,即i++,也就是每次循环完i会加1

从0开始运行,0<=10满足布尔表达式,输出一个Hello,此时i会加上1,循环继续

此时i已经为1

那么从1开始运行,1<=10满足布尔表达式,输出一个Hello,此时i继续加1,循环继续

直到循环到i>10,也就是不满足布尔表达式,为false,循环退出

如果想记录循环的次数的总和

需要定义一个单独的值来进行储存

例如

求100以内的奇数的和

int sum = 0;
for(int i =0; i <= 100; i++){
       if(i%2 != 0){
              System.out.println(i);
                 sum = sum +i ;
        }
}
System.out.println(sum);

最后输出的sum就是0~100内所有奇数的和

for( ; ;)代表的是无限循环,其原因是没有限制条件

i++ 的意思是每次循环成功 i+1

i-- 的意思是每次循环成功 i-1

for循环嵌套

int sum = 0;(记录所有sum的和,因为不在循环体中)

for(int i = 1; i < 100; i++){

​		sum += i;(就是sum=sum+i  ) 

​		System.out.println_(  );

}

以上for循环结束后,最终输出求和的结果

​ system.out.println(“sum” + sum);

循环体中可以编写其他控制语句

控制语句可以嵌套使用

控制语句可以是:if ,else if, else,swich,for,while,do…while

内层循环中的变量名和外层循环中的变量名不能重复,会冲突

for(int i = 0; i < 10; i++){for(int j = 0 ; j < 3; j++){

​	这里也是循环体内的代码,无论写了什么,都要执行10次	

​	}

}

先把里边的for循环3遍,再把循环3遍的结果用外边的for循环10次

while循环
while(布尔表达式){

​	循环体

}

其执行原理是

​ 先判定布尔表达式是否为true,如果为true,则执行循环体,循环结束后,再判断布尔表达式是否为true,如果为true,则执行循环体,循环结束后,再判断布尔表达式是否为true,知道布尔表达式的结果判定为false,while循环结束。

​ 如果第一次判定的时候布尔表达式的结果就是false,那么while会执行0次。

while(true){

System.out.println("Hello");

}

这是while循环的死循环,由于while中的布尔表达式一直判定为true,就会一直执行下去

用while输出一到十的数


int i = 0 ;

while(i < 10){

​	i++;

​	System.out.println("i = "+ i);

}

实际上 while 循环可以看做是 for 循环的另一种变形写法,本质上是一样的,执行效率上也是一样的

do…while

do…while循环是while循环的变形

do…while与while的区别

do…while循环最少会执行一次 1~n次

while循环可能会执行0次 0~n次

do{

​	System.out.println("Hello");

}while(布尔表达式);

执行顺序为

​ 先执行do内的循环体,再判断布尔表达式的结果,如果结果为true,那么再执行do内的循环体,再判断布尔表达式的结果,直到循环体执行完之后布尔表达式判定为false,循环结束

**注意do…while 循环最后的“ ;”不要丢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值