##循环
######1. while循环
1.1 while循环语句格式
基本格式:
while(条件判断语句){
循环体语句;
}
完整格式:
初始化语句;
while(条件判断语句){
循环体语句;
条件控制语句;
}
执行流程:
- 1执行初始化语句;
- 2执行条件判断语句,看结果是true还是false
-
如果是false,循环结束,
-
如果是true,继续执行.
- 3执行循环体语句;
- 4执行条件控制语句;
- 5回到2继续;
public class TestWhile {
public static void main(String[] args) {
//需求:控制台打印5次HelloWorld
int i = 5;//初始化语句
while (i <= 5){//条件判断语句
System.out.println("HelloWorld");//循环体语句
i++;//条件控制语句
}
}
}
案列:
需求:世界上最高山峰是珠穆朗玛峰(8844.43m=8844430mm),假如有张足够大的纸,它的厚度是0.1mm,请问折叠多少次,可以折成珠穆朗玛峰的高度?
int count = 0;
//定义纸张厚度
double paper = 0.1;
//定义珠峰高度
int zf = 8844430;
while(paper <= zf){
paper *= 2;
count++;
}
System.out.println("需要折叠" + count + "次");
}
1.2do…while循环
基本格式:
do{
循环体语句;
}while(条件判断语句);
完整格式:
初始化语句;
do{
循环体语句;
条件控制语句;
}while(条件判断语句);
执行流程:
- 1执行初始化语句;
- 2执行循环体语句;
- 3执行条件控制语句;
- 4执行条件判断语句,看结果是true还是false
-
如果是false,循环结束,
-
如果是true,继续执行.
- 5回到2继续;
public static void main(String[] args) {
int i = 5;//初始化语句
do {
System.out.println("HelloWorld");//循环体语句
i++;条件控制语句
}while (i<=5);//条件判断语句
######2.跳转控制语句
2.1
continue:用在循环中,基于条件控制,跳过某次循环体内容的执行,继续下一次的执行.
break:用在循环中,基于条件控制,终止循环体内容的执行,也就是结束当前整个循环.
public static void main(String[] args) {
for (int i = 1;i<=5;i++){
if (i%2 ==0){
//continue; //1,3,5
break; //1
}
System.out.println(i);
}
######3循环嵌套
需求:在控制台输出一天的小时和分钟;分钟和小时的范围:
分钟:0 <= minute < 60 小时: 0 <= hour < 24
public static void main(String[] args) {
/*
System.out.println("0时0分");
System.out.println("0时1分");
System.out.println("0时2分");
System.out.println("0时3分");
System.out.println("1时0分");
System.out.println("1时1分");
System.out.println("1时2分");
System.out.println("1时3分");
System.out.println("2时0分");
System.out.println("2时1分");
System.out.println("2时2分");
System.out.println("2时3分");
//循环改进
for (int minute = 0;minute<4;minute++){
System.out.println("0时" + minute + "分");
}
for (int minute = 0;minute<4;minute++){
System.out.println("1时" + minute + "分");
}
for (int minute = 0;minute<4;minute++){
System.out.println("2时" + minute + "分");
}
for (int hour = 0;hour<3;hour++){
System.out.println(hour + "时" + "0分");
}
for (int hour = 0;hour<3;hour++){
System.out.println(hour + "时" + "1分");
}
for (int hour = 0;hour<3;hour++){
System.out.println(hour + "时" + "2分");
}
for (int hour = 0;hour<3;hour++){
System.out.println(hour + "时" + "3分");
}
for (int hour = 0;hour<3;hour++){
for (int minute = 0;minute<4;minute++){
System.out.println(hour + "时" + minute + "分");
}
}*/
//改进:外循环控制小时范围,内循环控制分钟范围
for (int hour = 0; hour < 24; hour++) {
for (int minute = 0; minute < 60; minute++) {
System.out.println(hour + "时" + minute + "分");
}
}
######4.Random
4.1Random的作用
需求:猜数字
程序自动生成0-100之间的数字,使用程序猜出这个数字.当猜错根据情况给出相应的提示.
int number = new Random().nextInt(100);
while (true) {
System.out.println("请输入要猜的数字");
int guessNum = new Scanner(System.in).nextInt();
if (guessNum > number) {
System.out.println("猜的数字" + guessNum + "大了");
} else if (guessNum < number) {
System.out.println("猜的数字" + guessNum + "小了");
} else {
System.out.println("猜中");
break;
}
}