Java 中的三种循环结构 你会用么?
1.for循环
格式:
for(初始化语句1; 判断语句2; 步进语句3){
循环代码4
}
执行流程:
先执行1初始化语句
执行2判断语句,如果判断结果是true
执行4循环代码
执行3步进语句
继续回到2 4 3 2 4 3
如果判断结果是false,代表循环结束
注意:
初始化语句只在第一次循环中执行,之后不再执行
代码演练:
public static void main(String[] args) {
/*
判断0-10的奇偶数
*/
//偶数:能够被2整除的数字称为偶数
// 0 是一个特殊的偶数
for(int i=0;i<=10;i++){
if (i%2 == 0){
System.out.println(i+"是偶数");
}else {
System.out.println(i+"是奇数");
}
}
}
2.while循环
格式:
初始化语句1;
while(判断语句2){
循环代码3;
步进语句4;
}
执行流程:
1 初始化语句
2 执行判断语句,如果是true就执行大括号里面的代码,如果是false就结束循环
3 循环代码
4 步进语句
再次循环执行2判断语句
代码演练:
public static void main(String[] args) {
/*
求1-100的累加和
*/
int x = 1;
int sum = 0;
while (x<=100){
sum += x;
x++;
}
System.out.println("1-100的累加和为:"+sum);
}
3.do-while循环
格式:
初始化语句1;
do{
循环语句2;
步进语句3;
}while(判断语句4);
执行流程:
1 初始化语句
2 循环语句
3 步进语句
4 判断语句 , 如果判断的结果是true就继续循环,如果判断的结果是false就结束循环
注意:
do-while循环是先执行后判断,不管条件是否满足至少执行一次
代码演练:
public static void main(String[] args) {
/*
输出1-10的和
*/
int a = 1;
int sum = 0;
do {
sum += a;
a++;
}while (a<=10);
System.out.println("1-10的和为:"+sum);
}
三种循环的使用场景
三种循环结构均可实现相应的功能,按照实际需要选择更为简便的形式。以下为使用场景的总结:
- 明确循环次数的时候:建议使用for循环
- 不明确循环次数的时候:建议使用while循环
- do...while循环比较特殊,它先执行循环体,然后根据判断条件决定是否再次执行循环,即do...while至少执行一次循环
循环嵌套
代码演练1
public static void main(String[] args) {
/*
循环嵌套:
外层循环执行1次,内存循环执行一圈
*/
/*
循环出从0点0分-23点59分
*/
//遍历小时
for (int i=0; i<24; i++){
//遍历分钟
for (int j=0; j<60; j++){
System.out.println(i + "点" + j + "分");
}
}
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
System.out.println("你是第" + i + "位顾客");
while (true) {
System.out.println("请选择你想要购买的商品:1.水果 2.蔬菜 3.饮料 4.结束购买");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if (a == 1) {
System.out.println("您购买的是水果");
} else if (a == 2) {
System.out.println("你购买的是蔬菜");
} else if (a == 3) {
System.out.println("您购买的是饮品");
} else if (a == 4) {
break;
} else {
System.out.println("您输入的指令有错误");
}
}
}
}
两种死循环的写法
1.while(true){...}
2.for(;;){...}