Java 流程控制语句——循环结构

Java 流程控制语句——循环结构

Java 流程控制语句大致分为三大结构:顺序结构、分支结构、选择结构。
其中顺序结构是程序默认的执行流程,按代码顺序从上到下依次执行的,就不过多的赘述了。
需要重复执行某段程序代码的情况是很常见的,所以在程序中提供了循环语句便于我们使用。



一、for 循环语句

for 循环语句是最常见的循环语句之一。

for 循环语句格式:

for(初始化语句; 条件判断语句; 条件控制语句){
    
    
	循环体语句;  //循环体语句,要重复执行的代码
}

for 循环语句执行流程:

  • 执行初始化语句
  • 执行条件判断语句,看其结果是 true 还是 false;如果结果为 true 则执行循环体语句;如果结果为 false 则结束循环
  • 执行条件控制语句
  • 返回第二步继续执行条件判断语句

在这里插入图片描述

例1:使用程序重复打印 10 遍 Hello World

public class Demo{
    
    
	public static void main(String[] args){
    
    
		for(int i = 1; i <= 10; i++){
    
    
			System.out.println("Hello World");
		}
	}
}

例2:使用 for 循环语句,顺序打印数字 1~5,输出结果示例:1 2 3 4 5

说明:
System.out.println(); 是换行的输出,输出结果后会换行
System.out.print(); 是不换行输出,输出结果后不换行
\t 为转义字符,相当于 Tab 键,表示空 8 个空格的位置

public class Demo{
    
    
	public static void main(String[] args){
    
    
		for(int i = 1; i <= 5; i++){
    
    
			System.out.print(i+"\t");
		}
	}
}

例3:使用 for 循环语句,逆序输出数字 1~5,输出结果示例:5 4 3 2 1

public class Demo{
    
    
	public static void main(String[] args){
    
    
		for(int i = 5; i >= 1; i--){
    
    
			System.out.print(i+"\t");
		}
	}
}

例4:计算 1 + 2 + 3 + 4 + 5 的和

public class Demo{
    
    
	public static void main(String[] args){
    
    
		int sum = 0;  //定义整型变量 sum,并赋初值为0,用于存放最后的结果
		
		/*
			循环执行过程:
			初始化语句:int i = 1;
			条件判断语句:i <= 5
			条件控制语句:i++
			
			当 i = 1 时,sum = 1,i 的值变为 2
			当 i = 2 时,sum = 1 + 2,i 的值变为 3
			当 i = 3 时,sum = 1 + 2 + 3,i 的值变为 4
			当 i = 4 时,sum = 1 + 2 + 3 + 4,i 的值变为 5
			当 i = 5 时,sum = 1 + 2 + 3 + 4 + 5,i 的值变为 6
			当 i = 6 时,不满足条件 i <= 5,结束整个循环
		*/
		
		for(int i = 1; i <= 5; i++){
    
    
			sum += i;  //sum += i 相当于 sum = sum + i
		}
		
		System.out.println("1 + 2 + 3 + 4 + 5 = " + sum);  //输出最后累加得到的结果
	}
}

例5:计算 5!(说明:5!= 5 × 4 × 3 ×2 × 1)

public class Demo{
    
    
	public static void main(String[] args){
    
    
		int sum = 1;  //定义整型变量 sum,并赋初值为1,用于存放最后的结果
		
		/*
			循环执行过程:
			初始化语句:int i = 1;
			条件判断语句:i <= 5
			条件控制语句:i++
			
			当 i = 1 时,sum = 1,i 的值变为 2
			当 i = 2 时,sum = 1 * 2,i 的值变为 3
			当 i = 3 时,sum = 1 * 2 * 3,i 的值变为 4
			当 i = 4 时,sum = 1 * 2 * 3 * 4,i 的值变为 5
			当 i = 5 时,sum = 1 * 2 * 3 * 4 * 5,i 的值变为 6
			当 i = 6 时,不满足条件 i <= 5,结束整个循环
		*/
		
		for(int i = 1; i <= 5; i++){
    
    
			sum *= i;  //sum *= i 相当于 sum = sum * i
		}
		
		System.out.println("5!= " + sum)
	}
}

二、while 和 do ··· while 循环语句

1、while 循环语句

while 循环语句用法和 for 循环语句用法差不多

while 循环语句格式:

初始条件语句;
while(条件判断语句){
    
    
	循环体语句;
	条件控制语句;
}

while 循环语句执行流程:
先判断后执行,至少执行 0 次循环

  • 执行初始化语句
  • 执行条件判断语句,看其结果是 true 还是 false;如果结果为 true 则执行循环体语句;如果结果为 false 则结束循环
  • 执行条件控制语句
  • 返回第二步继续执行条件判断语句

在这里插入图片描述

例:使用 while 循环顺序打印数字 1~5,输出结果示例:1 2 3 4 5

public class Demo{
    
    
	public static void main(String[] args){
    
    
		int i = 1;
		while(i <= 5){
    
    
			System.out.println(i + "\t");
		}
	}
}

2、do ··· while 循环语句

do ··· while 循环语句格式:

初始化语句;
do{
    
    
	循环体语句;
	条件控制语句;
}while(条件判断语句);

do ··· while 循环语句执行流程 :
先执行后判断,至少执行 1 次循环

在这里插入图片描述

例:使用 do ··· while 循环逆序打印数字 1~5,输出结果示例:5 4 3 2 1

public class Demo{
    
    
	public static void main(String[] args){
    
    
		int i = 5;
		do{
    
    
			System.out.print(i + "\t");
			i--;
		}while(i >= 1);
	}
}

三、循环的嵌套

在编程中,循环体中也可以嵌套其他循环

嵌套循环执行流程:

  • 当外层循环执行第 1 次时,内层循环需要执行完自己所有的次数之后,才会继续执行第 2 次外循环
  • 当外层循环执行第 2次时,内层循环需要执行完自己所有的次数之后,才会继续执行第 3 次外循环
  • 依次类推,直到循环全部结束

例1:打印输出九九乘法表

public class Demo{
    
    
    public static void main(String[] args){
    
    
        for(int i = 1; i <= 9; i++){
    
    
            for(int j = 1; j<=9; j++){
    
    
                System.out.print(i + " + " + j + " = " + i * j + "\t");
            }
            System.out.println();
        }
    }
}

例2:上面 例1 中打印的乘法表不够简洁,所以我们重新打印输出一个我们常见的正三角九九乘法表

public class Demo{
    
    
    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 + "\t");
            }
            System.out.println();
        }
    }
}

四、跳转控制语句

当我们在循环中,需要跳出循环时就可以使用跳转控制语句:continue 和 break 实现跳出循环。

continue:只跳过跳过本次循环,继续执行下次循环

例:输出数字 1~10,但是不输出是 3 的倍数的数字,输出示例:1 2 4 5 7 8 10

public class Demo{
    
    
    public static void main(String[] args) {
    
    
        for(int i = 1; i <= 10; i++){
    
    
            if(i % 3 == 0){
    
    
                continue;  //满足 if 条件,跳出本次循环,执行下一次循环
            }
            System.out.print(i + "\t");
        }
    }
}

break:直接结束整个循环流程

例:输出数字 1~10,但是不输出大于 7 的数字,输出结果示例:1 2 3 4 5 6 7

public class Demo{
    
    
    public static void main(String[] args) {
    
    
        for(int i = 1; i <= 10; i++){
    
    
            if(i > 7){
    
    
                break;  //满足 if 条件,直接结束整个循环流程
            }
            System.out.print(i + "\t");
        }
    }
}

五、小结

for 循环语句和 while 循环语句区别:

  • for 循环语句适用于知道 循环次数 或 循环范围 的情况
  • while 循环语句适用于只知道 循环条件,不知道 循环次数 或 循环范围 的情况

如果需要在循环过程中跳出循环可以适用 continue 和 break 实现

  • continue:只跳过本次循环,继续执行下次循环
  • break:直接结束整个循环

如果文章对各位小伙伴有帮助的话欢迎三连!!!

另外,文章如有错误之处,也欢迎各位大佬批评指正!!!

猜你喜欢

转载自blog.csdn.net/qq_46286412/article/details/126409395