java学习笔记5-循环语句
for循环
格式
- 程序格式
1 | for(初始化语句;条件判断语句;条件控制语句){ |
执行流程
-
执行初始化语句
-
执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
-
执行循环体语句
-
执行条件控制语句
-
回到2继续
案例
案例案例
输出五次helloworld
1
2
3
4
5
6
7
8public class ForTest {
public static void main(String[] args) {
//输出五次helloworld
for (int i=1;i<=5;i++){
System.out.println("helloworld");
}
}
}求和
1
2
3
4
5
6
7
8
9
10public class ForTest {
public static void main(String[] args) {
//求1到10之和
int n = 0;
for (int i = 1;i <= 10;i++ ){
n +=i;
}
System.out.println(n);
}
}求偶数和
1
2
3
4
5
6
7
8
9
10
11
12public class ForTest {
public static void main(String[] args) {
//求偶数和
int num = 0;//定义偶数之和
for (int i = 1; i <= 10; i++) {
if(i%2==0){ //取余的方法
num+=i; //利用下标确定偶数
}
}
System.out.println(num);
}
}求水仙花数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19public class ForTest {
public static void main(String[] args) {
//定义变量n,用以保存水仙花数的数量,初始为0
int n = 0 ;
//输出水仙花数用到的循环
for (int i = 0;i <= 1000;i++){
int ge = i%10; //获取个位数
int shi = i/10%10; //获取十位数
int bai = i/10/10%10; //获取百位数
//判定条件
if (ge*ge*ge + shi*shi*shi + bai*bai*bai ==i){
System.out.println(i); //输出水仙花数
n++;
}
}
//打印最终结果
System.out.println("水仙花数共有" + n + "个");
}
}
while循环
格式
-
完整格式
1
2
3
4
5初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}
执行流程
-
执行初始化语句
-
执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
-
执行循环体语句
-
执行条件控制语句
-
回到2继续
案例
案例案例
一张纸这多少次比珠穆朗玛峰高
因为要反复折叠,所以要使用循环,但是不知道折叠几次,这种情况下更适合使用while循环
while(条件判断语句){循环体}
循环的执行过程中每次纸张折叠,纸张的厚度要加倍因此需要先定义纸张厚度,在循环中使厚度加倍
double paper = 0.1;
while (条件判断语句){
paper *= 2;}
折叠过程中当智障厚度大于珠峰就停止了,因此继续执行的要求使纸张厚度小于珠峰高度
int zf = 8844430;
while (paper <= zf ){…}
设置一个计数器,在循环中执行累加,对应折叠了多少次
int count = 0;
while ( paper <= zf ){
count++;
}
1
2
3
4
5
6
7
8
9
10
11
12public class WhileTest {
public static void main(String[] args) {
int zf = 8844430;
double paper = 0.1;
int count = 0;
while (paper <= zf){
paper *= 2;
count++;
}
System.out.println(count);
}
}
do…while循环
格式
-
完整格式
1
2
3
4do{
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程
-
执行初始化语句
-
执行循环体语句
-
执行条件控制语句
-
执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
-
回到2继续
案例
-
输出五次helloworld
1
2
3
4
5
6
7
8
9public class DoWhileTest {
public static void main(String[] args) {
int j = 1;
do {
System.out.println("helloworld");
j++;
}while (j<=5);
}
}
三种循环的区别
三种之间的区别
- for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
- do…while循环先执行一次循环体,然后判断条件是否成立,是否继续循环体(先执行后判断)
for和while的区别
- 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
- 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用
死循环格式
- for(;;){}
- while(true){}
- do{}while(true);
p.s.
-
for循环常用于知道循环次数的问题
-
while常用于不知道循环次数的问题
-
while的死循环格式是最常用的
-
ctrl+c可结束死循环
跳转控制语句
-
跳过6和7
1
2
3
4
5
6
7
8
9
10
11public class TiaoZhuanTest {
public static void main(String[] args) {
for(int i = 0;i<=20;i++){
if (i==7|i==6){
//continue;
//break;
}
System.out.println(i);
}
}
}
循环嵌套
-
九九乘法表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15public class QianTaoTest {
public static void main(String[] args) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(i + "*" + j + "=" + i * j + " ");
}
System.out.println();
}
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Grape's Blog!