【java探索之旅】走进循环结构 深入解析while、for和do while的用法

🎥 屿小夏 : 个人主页 🔥个人专栏 : Java编程秘籍 🌄 莫道桑榆晚,为霞尚满天!

文章目录

  • 📑前言
  • 一、循环结构
    • [1.1 while循环](#1.1 while循环)
    • [1.2 while代码示例](#1.2 while代码示例)
    • [1.3 break](#1.3 break)
    • [1.4 continue](#1.4 continue)
  • 二、for循环
    • [2.1 基本语法](#2.1 基本语法)
    • [2.2 执行过程](#2.2 执行过程)
    • [2.3 代码示例](#2.3 代码示例)
    • [2.4 for注意事项](#2.4 for注意事项)
  • [三、do while](#三、do while)
    • [3.1 基本语法](#3.1 基本语法)
    • [3.2 代码示例](#3.2 代码示例)
  • 🌤️全篇总结

📑前言

循环结构是编程中非常重要和常用的一种控制结构,它允许程序重复执行一段代码,以实现特定的功能。在本文中,我们将详细介绍while循环、for循环和do while循环的语法和用法,并提供了一些示例代码来帮助读者理解和应用这些循环结构。

一、循环结构

1.1 while循环

基本语法

java 复制代码
while(循环条件){
	循环语句;
}

循环条件为 true, 则执行循环语句; 否则结束循环

1.2 while代码示例

  • 代码示例1: 计算 1 - 100 的和
java 复制代码
in
t n = 1;
int result = 0;
while (n <= 100) {
	result += n;
	n++;
} 
System.out.println(num);
// 执行结果
5050
  • 代码示例2: 计算 5 的阶乘
java 复制代码
int n = 1;
int result = 1;
while (n <= 5) {
	result *= n;
	n++;
} 
System.out.println(num);
// 执行结果
120
  • 代码示例3: 计算 1! + 2! + 3! + 4! + 5!
java 复制代码
int num = 1;
int sum = 0;
// 外层循环负责求阶乘的和
while (num <= 5) {
	int factorResult = 1;
	int tmp = 1;
	// 里层循环负责完成求阶乘的细节.
	while (tmp <= num) {
		factorResult *= tmp;
		tmp++;
} 
	sum += factorResult;
	num++;
} 
System.out.println("sum = " + sum);

注意事项

  1. 和 if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }
  2. 和 if 类似, while 后面的 { 建议和 while 写在同一行.
  3. 和 if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行.
java 复制代码
int num = 1;
while (num <= 10); {
	System.out.println(num);
	num++;
} 
// 执行结果
[无任何输出, 程序死循环]

此时 ; 为 while 的语句体(这是一个空语句), 实际的 { } 部分和循环无关. 此时循环条件 num <= 10 恒成立, 导致代码死循环了

1.3 break

break 的功能是让循环提前结束

代码示例:找到 100 - 200 中第一个 3 的倍数

java 复制代码
int num = 100;
while (num <= 200) {
	if (num % 3 == 0) {
        System.out.println("找到了 3 的倍数, 为:" + num);
        break;
	} 
    num++;
} 
// 执行结果
找到了 3 的倍数, 为:102

执行到 break 就会让循环结束(在多层嵌套的循环中,一个break只能跳出一层循环)

1.4 continue

continue 的功能是跳过这次循环, 立即进入下次循环

  • 代码示例: 找到 100 - 200 中所有 3 的倍数
java 复制代码
int num = 100;
while (num <= 200) {
	if (num % 3 != 0) {
		num++; // 这里的 ++ 不要忘记! 否则会死循环.
		continue;
	} 
    System.out.println("找到了 3 的倍数, 为:" + num);
	num++;
}

执行到 continue 语句的时候, 就会立刻进入下次循环(判定循环条件), 从而不会执行到下方的打印语句

二、for循环

2.1 基本语法

java 复制代码
for(表达式①;布尔表达式②;表达式③){
	表达式④;
}
  • 表达式1: 用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次
  • 表达式2: 循环条件,满则循环继续,否则循环结束
  • 表达式3: 循环变量更新方式

2.2 执行过程

①②③④--->②③④--->②③④--->②③④--->②③④--->②③④--->...--->②为false,循环结束

2.3 代码示例

  • 计算 1 - 100 的和
java 复制代码
int sum = 0;
for (int i = 1; i <= 100; i++) {
	sum += i;
} 
System.out.println("sum = " + sum);
// 执行结果
5050
  • 计算 5 的阶乘
java 复制代码
int result = 1;
for (int i = 1; i <= 5; i++) {
	result *= i;
} 
System.out.println("result = " + result);
  • 计算 1! + 2! + 3! + 4! + 5!
java 复制代码
int sum = 0;
for (int i = 1; i <= 5; i++) {
	int tmp = 1;
	for (int j = 1; j <= i; j++) {
		tmp *= j;
	} 
    sum += tmp;
} 
System.out.println("sum = " + sum);

2.4 for注意事项

和while循环类似

  1. 和 if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }

  2. 和 if 类似, for 后面的 { 建议和 while 写在同一行.

  3. 和 if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行.

  4. 和while循环一样,结束单趟循环用continue,结束整个循环用break

三、do while

3.1 基本语法

java 复制代码
do{
	循环语句;
}while(循环条件);

先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束。

3.2 代码示例

打印 1 - 10

java 复制代码
int num = 1;
do {
	System.out.println(num);
	num++;
} while (num <= 10);

注意事项

  1. do while 循环最后的分号不要忘记
  2. 一般 do while 很少用到, 更推荐使用 for 和 while.

🌤️全篇总结

本篇介绍了三种常见的循环结构:while循环、for循环和do while循环。在while循环中,根据循环条件的真假来决定是否执行循环体;for循环则通过三个表达式来控制循环的初始化、条件和更新;而do while循环是先执行循环体,再判断循环条件是否满足。此外,我们还介绍了break和continue语句的使用方法,break用于提前结束整个循环,而continue用于跳过本次循环的剩余代码,直接进行下一次循环。

循环结构对于处理重复性任务或遍历数据是非常重要的,它能够提高代码的效率和可读性,减少重复的代码量。

相关推荐
汤姆小白2 小时前
01-环境搭建与项目导览
人工智能·python·机器学习·numpy
Lhappy嘻嘻6 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
伊玛目的门徒7 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
Jerry7 小时前
LeetCode 226. 翻转二叉树
算法
想做小南娘,发现自己是女生喵8 小时前
【无标题】
数据结构·算法
向日的葵0068 小时前
langchain的Tools教程(三)
python·langchain·tools
懒鸟一枚9 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
言乐610 小时前
Python实现可运行解密游戏游戏框架
python·游戏·小程序·游戏程序·关卡设计
Kx_Triumphs10 小时前
HDU4348 To the moon(主席树区间修改模板)
算法·题解