Java语言程序设计——篇三(2)

2024-07-13 1022阅读

循环结构

  • 概述
    • 1️⃣while循环
        • 例题讲解
        • 2️⃣do-while循环
            • 例题讲解
            • 🚩while循环与do-while循环区别
              • 3️⃣for循环
                  • 例题讲解
                  • 4️⃣循环的嵌套
                    • 🏮例题讲解

                      概述

                      ⭐️Java语言提供了4种循环结构:

                      (1) while循环

                      (2) do-while循环

                      (3) for循环

                      (4)增强的for循环

                      ⭐️一般情况下,一个循环结构包含四部分内容:

                      (1)初始化部分

                      (2)循环条件

                      (3)循环体部分

                      (4) 迭代部分

                      1️⃣while循环

                      while循环语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。

                      语法结构如下所示:

                      [初始化部分]

                      while (条件表达式){

                      // 循环体

                      [迭代部分]

                      }

                      注意: 如果条件表达式的值一开始就为假,则循环体一次也不执行,但循环条件表达式一定能够执行。

                      Java语言程序设计——篇三(2)

                                    “当循环”

                      例题讲解

                      例:随机产生一个100~200之间的整数,用户从键盘上输入所猜的数,程序显示是否猜中的消息,如果没有猜中要求用户继续猜,直到猜中为止。

                      int magic = (int)(Math.random()*101)+100;

                      分析:java.long.Math类的random()方法,返回一个0.01.0(不包括1.0)的double型随机数,乘以101转化为0100的整数,再加上100,得到100~200之间的整数

                      import java.util.Scanner;
                      public class GuessNumber {
                              public static void main(String[] args) {
                      		int magic = (int)(Math.random()*101)+100;
                      		Scanner input = new Scanner(System.in);
                      		System.out.print("请输入你猜的数:");
                      		int guess = input.nextInt();
                      		while(guess!=magic){
                      			if(guess > magic){
                      			       System.out.println("错误!太大,请重猜");
                      			}
                                                             else{
                      			       System.out.println("错误!太小,请重猜");
                      			}
                      			guess = input.nextInt();
                      		}
                               System.out.println("恭喜你,答对了!\n该数是"+magic);
                              }
                      }
                      

                      没有guess = input.nextInt();这行代码就会变成死循环

                      2️⃣do-while循环

                      语法结构如下所示:

                      [初始化部分]

                      do{

                        // 循环体

                      [迭代部分]

                      }while(条件);

                      执行顺序是:

                      先执行循环体语句,然后判断循环条件表达式的值。表达式为true时,继续执行循环体,表达式为false则结束循环。

                      注意:

                      即使条件表达式值为假,

                      循环体至少要执行一次。

                      Java语言程序设计——篇三(2)

                                    “直到型循环”

                      例题讲解

                      假设我们要计算用户输入的一系列正整数之和,直到用户输入0为止。do-while循环的特点是先执行一次循环体,然后检查条件,如果条件为真,则继续循环;如果条件为假,则退出循环。

                      package shujia_test1;
                      import java.util.Scanner;
                      public class Csdn3_3 {
                      	public static void main(String[] args) {
                      		Scanner scanner = new Scanner(System.in);
                      		int number;
                      		int sum = 0; // 用于存储数字之和
                      		do {
                      			System.out.print("请输入一个正整数(输入0结束): ");
                      			number = scanner.nextInt(); // 读取用户输入
                      			if (number > 0) {
                      				sum += number; // 如果输入的是正整数,则加到总和中
                      			}
                      		} while (number != 0); // 当输入不是0时,继续循环
                      		System.out.println("输入的正整数之和为: " + sum);
                      		scanner.close();
                      	}
                      }
                      

                      🚩while循环与do-while循环区别

                      1. 循环条件的判断时机

                      • while循环:是先判断条件再执行循环体。也就是说,在每次循环开始前,都会先检查条件表达式是否为真。如果条件为真,则执行循环体内的语句;如果条件为假,则直接跳过循环体,继续执行循环之后的语句。因此,while循环有可能一次都不执行循环体。
                      • do-while循环:是先执行循环体再判断条件。即,无论条件是否满足,循环体都会至少执行一次。然后,在循环体执行完毕后,再检查条件表达式的值。如果条件为真,则继续执行下一次循环;如果条件为假,则退出循环。

                        2. 循环结构的表达式

                      • while循环的表达式为:while(表达式){循环体}。这里,表达式是循环的条件,只有在条件为真时,才会执行循环体中的语句。
                      • do-while循环的表达式为:do{循环体;}while(条件表达式);。这里,循环体会先执行一次,然后检查条件表达式的值。如果条件为真,则继续执行循环体;如果条件为假,则退出循环。

                        3. 适用场景

                      • while循环适用于事先知道循环次数或循环条件的情况,特别是当循环可能一次都不执行时。
                      • do-while循环适用于至少需要执行一次循环体的情况,无论条件是否满足。这在需要至少进行一次初始化操作或验证操作的场景中特别有用。

                        3️⃣for循环

                        语法结构如下所示:

                        for ([初始化部分];[条件]; [迭代部分]){

                        // 循环体

                        }

                        初始化部分:只执行一次,循环变量赋初值;

                        条件:循环条件,用来判断是否继续循环;可以省略(死循环)

                        迭代部分:用于修改循环变量的值,改变循环条件

                        循环体:单条语句或复合语句

                        Java语言程序设计——篇三(2)

                        🌈循环控制变量可以在for循环中声明和初始化,但在循环外不能引用它。

                        🌈for循环中的三个表达式可以均为空。若条件表达式也为空,则表示当前循环是一个无限循环。

                        🌈for循环、while循环、do-while循环有时可相互转换。

                        例题讲解

                        编写程序,输出100~1000所有能被5和6整除的数,每行显示10个,数字之间用一个空格字符隔开。

                        package shujia_test1;
                        public class Csdn3_4 {
                        	public static void main(String[] args) {
                        		int count = 0; // 用于计数每行已输出的数字数量
                        		for (int i = 100; i 
                        			if (i % 5 == 0 && i % 6 == 0) { // 检查数字是否同时被5和6整除
                        				System.out.print(i + " "); // 输出数字及空格
                        				count++; // 增加计数
                        				// 当每行输出了10个数字时,换行
                        				if (count % 10 == 0) {
                        					System.out.println();
                        				}
                        			}
                        		}
                        	}
                        }
                        
                        	public static void main(String[] args) {
                        		for (int i = 1; i 
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]