好记性不如烂笔头,复习一下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加到100 , 并输出
- 我有3个任意数需要存入数组,如何存入
- 我有300个任意数字需要存入数组,如何存入
- 从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);
- 我有3个任意数需要存入数组,如何存入
int[] arr = {1,2,3};
- 我有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);
三、总结
针对以上所讲内容,可以根据当前场景选择适当的循环语句。