【Java】循环

好记性不如烂笔头,复习一下Java基础并记录在我的小仓库。


一、语法结构

  • 在一些特定条件下,语句需要重复执行多次,因此需要使用到循环。
  • 在Java中,循环分为三种,分别是 while 、 for , do while。
  • 他们的共同点是都需要根据boolean布尔类型的结果true或false 来判断是否继续循环
  • 不同点则是循环体的方式不同

1.while循环

// 此处 while 的循环条件是 true,意味着会一直循环下去,俗称死循环
// 当然,如果此处搭配 if,也可以实现中途中断循环
boolean flag = true;
int i = 0;
while(flag){
	// 需要输出的内容
	if(i++>5){
		break; // 当然也可以使用 return 直接返回值
	}
}

以上是 while 的使用方式,boolean 布尔类型的 flag 被赋值 true 应用在 while 中,因此此时的 while 不看内部结构,就是一个死循环。
当然,可以通过 break,return 的方式直接结束掉循环(二者对 for,do while 都适用)。
循环体部分可长可短,最终保持是 boolean 即可,也就是说可以使用多个与或非,只要最终结果不是 true 就是 false。

2.for循环

// 表达式1 可以定义一些变量初始值,请注意!这里是局部变量,方法体结束就无法使用,因此大多数情况都是定义循环数量的初始值使用,例如 int i = 0
// 表达式2 是 for 语句的循环条件,不满足条件是跳出循环,例如 i < 10
// 表达式3 的作用是改变循环变量的值,当然可以不写,例如 i++
for(/*表达式1*/ int i = 0  ; /*表达式2*/ i > 10   ; /*表达式3*/  i++   ){// 循环体; 
}

以上是 for 的使用方式,for中的表达式 1,表达式 2,表达式 3可以都不写,根据上面注释的意思,可以看出,都不写则会进入死循环。
表达式 1 可以在 for 之前就定义好并且直接在表达式 2,表达式 3中使用
表达式 2 如果不想死循环,则需要明确判断语句
表达式 3 也可以不写,直接在循环体中更改循环变量值

for的执行过程

for(/* ① */ int i = 0  ; /* ④ */ i > 10   ; /* ③ */  i++   ){// ②
}
  • 如上所示,for 会在第一次循环时进入 ①,之后多次循环都不会进入。
  • ① 后进入 ② 执行循环体内容
  • 执行完 ②,进入 ③
  • 最后根据 ④ 中的boolean值判断是否继续循环

3.do while循环

int i = 0;
do{
// 循环体
}while(i++<5);

和while类似,只是do while会先执行一次循环(这里可能直接影响到是否进入循环),之后进入 while 中进行判断 boolean 值是否满足条件。

二、案例

  1. 从1加到100 , 并输出
  2. 我有3个任意数需要存入数组,如何存入
  3. 我有300个任意数字需要存入数组,如何存入

  1. 从1加到100 , 并输出

	// for
	for(int i = 1,sum=0; i <= 100 ; i++){
		sum += i;
	}
	System.out.print(sum);
	
	// while
	int sum1 = 0,i=0;
	while(i++<100){
		sum1 += i;
	}
	System.out.print(sum1);
	
	// do while
	int sum2 = 0,j=0;
	do{
		sum2 += i;
	}while(++j<100);
	System.out.print(sum2);
  1. 我有3个任意数需要存入数组,如何存入

int[] arr = {1,2,3};

  1. 我有300个任意数字需要存入数组,如何存入

int[] arr1 = new int[300];
	// for
	for(int i = 1; i < 300 ; i++){
		arr1[i] = i;
	}
	
	// while
	int i=0;
	while(i++<100){
		arr[i] = i;
	}
	
	// do while
	int j=0;
	do{
		arr[j] = j;
	}while(++j<100);

三、总结

针对以上所讲内容,可以根据当前场景选择适当的循环语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值