目录
一、前言
二、for循环
1.定义
2.例题 1
3.例题 2
4.例题 3
5.例题 4
三、while循环
1.定义
2.例题 1
四、do...while循环
1.定义
五、三种循环的总结
1.区别
2.死循环
六、循环嵌套
七、跳转控制
1.break跳转
2.continue跳转
- 学习概述:循环就是重复做某件事,具有明确的开始与停止标志。今天主要学习for、while、do while三大循环以及循环嵌套和跳转语句
- 学习目标:三大循环熟练掌握
for (初始化语句; 循环条件; 迭代语句)
{
循环体语句(重复执行的代码);
}
- 初始化:表示循环开始的起始状态
- 循环条件:循环是否能够运行下去的条件,true继续执行、false结束运行
- 迭代:对初始化变量进行操作
- 循环体:在循环内部执行
- 执行流程:先进入for初始化语句,判断是否满足循环条件,如果满足进入循环体语句。进入迭代语句,再次判断循环条件......
- 在控制台利用for循环输出5次Hello World!
编码实现:
for(int i=0;i<5;i++)
{
System.out.println("Hello World!");
}
输出结果:
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
- 求1-5之间的数据和,并把求和结果在控制台输出
编码实现:
int i,sum=0;
for(i=1;i<=5;i++)
{
sum+=i;
}
System.out.println(sum);
输出结果:
15
- 求1-10之间的偶数和,并把求和结果在控制台输出。
- 这题需要在循环内部加一个if条件判断偶数,筛选过后相加。
编码实现:
int i,sum=0;
for(i=1;i<=10;i++)
{
if(i%2==0)//判断偶数
sum+=i;
}
System.out.println(sum);
输出结果:
30
需求:在控制台输出所有的“水仙花数”和个数,水仙花数必须满足如下2个要求:1. 水仙花数是一个三位数2. 水仙花数的个位、十位、百位的数字立方和等于原数 例如:1^3+5^3+3^3=153 这一题也要在循环内部加入if条件判断,这部分可以看看Java100天编程指南---第6天:分支结构的详细介绍。对于三位数直接在for循环遍历所有三位数字就行,不需要if判断。对于立方和可以if判断各位数字立方相加是否为原数进行判断。
编码实现:
int ge,shi,bai,i,count=0;//定义个位、十位、百位变量存储数据
for(i=100;i<=999;i++)//遍历所有3位数字
{
ge=i%10;
shi=(i/10)%10;
bai=i/100;
if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i)//满足结果
{
count++;
System.out.println(i);
}
}
System.out.println("水仙花数一共有"+count+"个");
输出结果:
153
370
371
407
水仙花数一共有4个
初始化语句;
while (循环条件)
{
循环体语句(被重复执行的代码);
迭代语句;
}
- 初始化:对while中的条件进行初始化
- 循环条件:判断能不能进入到循环体内部
- 循环体语句:循环内部的语句
- 迭代语句:对循环条件进行处理
- 执行流程:先执行初始化语句,进入while判断,true进入循环,false退出循环。进入循环执行循环体、迭代条件继续判断.....
世界最高山峰是珠穆朗玛峰(8848.86米=8848860毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,折叠多少次,可以折成珠穆朗玛峰的高度。 解题思路:使用while循环,循环条件是(纸张厚度<山峰高度),内部控制纸张折叠,每折叠一 次,纸张厚度为原来两倍,定义折叠的次数,每折叠该变量+1
编码实现:
int count=0;
double paper=0.1;
double height=8848860;
while(paper
输出结果:
折叠多少27次可以折成珠穆朗玛峰的高度。
初始化语句;
do
{
循环体语句;
迭代语句;
} while (循环条件);
- 初始化:对while中的条件进行初始化
- 循环条件:判断能不能进入到循环体内部
- 循环体语句:循环内部的语句
- 迭代语句:对循环条件进行处理
- 执行流程:先执行初始化语句,直接进入循环体语句、进入迭代语句,然后执行条件判断语句true进入循环,false退出循环......
- for和while循环先判断条件是否成立,再决定执行循环体
- do...while先执行一次循环体,然后判断条件是否成立
for(;;)
{
}
while(true)
{
}
do
{
} while (true);
- 一层for循环里面嵌套一层for循环......,循环嵌套可以有多层for循环
- 例如:
for(int i = 0; i < 5; i++)
{
for(int j = 0; j < 2; j++)
{
for(int k = 0; k < 1; k++)
{
System.out.println("我爱你");
}
}
}
定义:跳出并结束当前所在循环的执行 注意: 只能用于结束循环, 或者switch分支的执行 例题:下列代码执行过后,输出的i值是多少?
编码实现:
int i;
for(i=0;i<5;i++)
{
if(i==2)
break;
}
System.out.println(i);
输出结果:
2
- 定义:用于跳出当前循环的当次执行,进入下一次循环
- 注意:只能在循环中使用
- 例题:下列代码执行过后,输出的i值是多少?
编码实现:
int i;
for(i=0;i<5;i++)
{
if(i==2)
continue;
}
System.out.println(i);
输出结果:
5