当前位置: 首页 > news >正文

【Java 循环控制实例详解【While do... while】】

Java 循环控制详解【While & do… while】

在这里插入图片描述

在 Java 中,循环控制是程序设计中非常重要的部分,主要包括 while 循环和 do...while 循环。本文将详细介绍这两种循环的基本语法、执行流程及相关示例。

1. while 循环控制

基本语法

循环变量初始化;
while(循环条件){循环语句;循环变量迭代;
} //while 循环也有四要素 只是四要素放的位置和For不一样

while 循环的四要素与 for 循环类似,只是放置的位置不同。

执行流程分析

在这里插入图片描述

  • 循环条件是返回一个布尔值的表达式。
  • while 循环是先判断条件再执行语句。

示例 1

题目:编写一个程序,使用 while 循环输出 “Hello this is Yhame.” 和一个递增的数字,从 1 到 10。循环结束后,输出当前的数字值。

public class While01 {public static void main(String[] args) {int i = 1;while(i <= 10) {System.out.println("Hello this is Yhame." + i);i++; // 循环迭代变量}System.out.println("推出循环,继续。。。" + i); // 这里 i = 11}
}

示例 2

题目:编写一个程序,使用 while 循环输出 1 到 100 之间所有能被 3 整除的数字。

public class WhileExercise01 {public static void main(String[] args) {int i = 1;while(i <= 100) {if(i % 3 == 0) {System.out.println("i = " + i);}i++; // 将 i++ 写在 if 语句内部,会导致 i 在其他情况下无法递增,最终引发无限循环。}System.out.println("程序继续运行");}
}

示例 3

题目:编写一个程序,使用 while 循环输出 40 到 200 之间的所有偶数。

public class WhileExercise02 {public static void main(String[] args) {int i = 40;while(i >= 40 && i <= 200) {if(i % 2 == 0) {System.out.println("i = " + i);}i++; // 不能写在 if 循环里面; 将 i++ 写在 if 语句内部,会导致 i 在奇数情况下无法递增,最终引发无限循环。}System.out.println("The process continues");}
}

2. do...while 循环控制

基本语法

循环变量初始化;
do {循环语句;循环变量迭代;
} while(循环条件);
  1. dowhile 是关键字,也有循环四要素,只是位置不同。
  2. do...while 先执行语句,再判断条件,意味着循环体至少执行一次。
  3. while 后面有一个分号。
  4. whiledo...while 的区别需要注意。
do … while 循环的执行流程

在这里插入图片描述

示例代码

题目:编写一个程序,使用 do…while 循环输出 “Hello This is Yhame!”,直到循环变量达到 10 次。循环结束后,输出 “The process continues!”。

public class DoWhile01 {public static void main(String[] args) {int i = 1; // 循环变量的初始化do {System.out.println("Hello This is Yhame!");i++; // 循环迭代变量} while(i <= 10);System.out.println("The process continues!");}
}
结果

在这里插入图片描述

do...while 练习 1

题目:编写一个程序,使用 do…while 循环输出从 1 到 100 的数字。

public class DoWhileExercise01 {public static void main(String[] args) {int i = 1;do {System.out.println(i);i++;} while(i >= 0 && i <= 100);}
}

do...while 练习 2

题目:编写一个程序,使用 do…while 循环计算并输出从 1 到 100 的数字之和。

public class DoWhileExercise02 {public static void main(String[] args) {int i = 1;int sum = 0;do {sum += i;i++;} while(i > 0 && i <= 100);System.out.println("总和为" + sum);System.out.println("Procedure in progress!");}
}

do...while 练习 3

题目:编写一个程序,使用 do…while 循环统计 1 到 200 之间能被 5 整除但不能被 3 整除的数字的个数,并输出这些数字。

public class DoWhileExercise03 {public static void main(String[] args) {// 统计1--200之间能被5整除但不能被3整除的个数// (1) 使用do...while输出 1--200// (2) 过滤能被5整除但不能被3整除的数// (3) 统计满足条件的个数 int count = 0;int i = 1;int count = 0;do {if(i % 5 == 0 && i % 3 != 0) {// i++; 这里添加i++会让程序跳不出循环System.out.println("i = " + i);count++;}i++;} while(i > 0 && i <= 200);System.out.println("这样的数一共有:" + count);}
}

do...while 练习 4

题目:编写一个程序,模拟一个对话,问用户是否还钱。如果用户的回答不是 ‘y’,则继续询问并输出 “Yhame使出五连鞭!”。直到用户回答 ‘y’ 为止,最后输出 “还挺懂事”。

import java.util.Scanner;public class DoWhileExercise4 {public static void main(String[] args) {// 如果李三不还钱,则Yhame一直使出五连鞭,直到李三说还钱为止// [System.out.println("Yhame问:还钱吗? (y/n)")] do...whileScanner in = new Scanner(System.in);char answer = ' ';do {System.out.println("Yhame问:还钱吗?(y/n)");answer = in.next().charAt(0); // 获取输入的第一个字符System.out.println("他的回答是" + answer);System.out.println("Yhame使出五连鞭!");} while(answer != 'y');System.out.println("还挺懂事");}
}

以上是关于 Java 循环控制的详细介绍,涵盖了 whiledo...while 循环的基本语法、执行流程及示例。希望对你理解 Java 循环控制有所帮助!

相关文章:

【Java 循环控制实例详解【While do... while】】

Java 循环控制详解【While & do… while】 在 Java 中&#xff0c;循环控制是程序设计中非常重要的部分&#xff0c;主要包括 while 循环和 do...while 循环。本文将详细介绍这两种循环的基本语法、执行流程及相关示例。 1. while 循环控制 基本语法 循环变量初始化; wh…...

10.2 Linux_进程_进程相关函数

创建子进程 函数声明如下&#xff1a; pid_t fork(void); 返回值&#xff1a;失败返回-1&#xff0c;成功返回两次&#xff0c;子进程获得0(系统分配)&#xff0c;父进程获得子进程的pid 注意&#xff1a;fork创建子进程&#xff0c;实际上就是将父进程复制一遍作为子进程&…...

栈与队列面试题(Java数据结构)

前言&#xff1a; 这里举两个典型的例子&#xff0c;实际上该类型的面试题是不确定的&#xff01; 用栈实现队列&#xff1a; 232. 用栈实现队列 - 力扣&#xff08;LeetCode&#xff09; 方法一&#xff1a;双栈 思路 将一个栈当作输入栈&#xff0c;用于压入 push 传入的数…...

手撕数据结构 —— 顺序表(C语言讲解)

目录 1.顺序表简介 什么是顺序表 顺序表的分类 2.顺序表的实现 SeqList.h中接口总览 具体实现 顺序表的定义 顺序表的初始化 顺序表的销毁 打印顺序表 ​编辑 检查顺序表的容量 尾插 尾删 ​编辑 头插 头删 查找 在pos位置插入元素 删除pos位置的值 ​…...

女友学习前端第二天-笔记

2024/10/8笔记 表格 table 表格 tr 行 td 单元格内容 th 表头 第一行相当于h1 alignleft /center /right 对齐方式 应在table边上 比如<table alignleft> border 代表边框 也应在table边上 比如<table alignleft border"1"> cellpadding 单元外框与…...

电脑手机下载小米xiaomi redmi刷机包太慢 解决办法

文章目录 修改前下载速度修改后下载速度修改方法&#xff08;修改host&#xff09; 修改前下载速度 一开始笔者以为是迅雷没开会员的问题&#xff0c;在淘宝上买了一个临时会员后下载速度依然最高才100KB/s 修改后下载速度 修改方法&#xff08;修改host&#xff09; host文…...

Python中的策略模式:解锁编程的新维度

引言 策略模式是一种行为型设计模式&#xff0c;允许算法独立于使用它的客户端而变化。这使得我们可以根据不同的情况选择不同的算法或策略来解决问题&#xff0c;从而增强系统的灵活性。在日常开发中&#xff0c;策略模式常用于处理多种算法或行为之间的切换&#xff0c;比如…...

ara::core::Future::then()的概念和使用方法

1. 概念 在ara::core::Future的上下文中&#xff0c;then()是一种用于处理异步操作结果的机制。一个Future代表一个尚未完成的异步计算&#xff0c;它最终会产生一个结果或者一个错误。then()方法允许你在Future完成时注册一个回调函数&#xff08;或者说后续操作&#xff09;…...

九、5 USART串口数据包

数据包作用&#xff1a;把一个个单独的数据给打包起来&#xff0c;将同一批的数据进行打包和分割&#xff0c;方便接收方进行识别&#xff0c;方便我们进行多字节的数据通信。 1、串口收发HEX数据包 &#xff08;1&#xff09;数据包的格式是个人规定的&#xff0c;如以FF为包…...

SQL第12课——联结表

三点&#xff1a;什么是联结&#xff1f;为什么使用联结&#xff1f;如何编写使用联结的select语句 12.1 联结 SQL最强大的功能之一就是能在数据查询的执行中联结&#xff08;join)表。联结是利用SQL的select能执行的最重要的操作。 在使用联结前&#xff0c;需要了解关系表…...

CentOS7 虚拟机操作系统安装及相关配置教程

1、安装虚拟机 在VMware《主页》界面中点击《创建新的虚拟机》按钮&#xff1a; 选择你准备好的ISO文件&#xff0c;点击下一步&#xff1a; 然后填写虚拟机的名称以及虚拟机将来保存的位置&#xff1a; 再次下一步&#xff0c;填写虚拟机磁盘大小&#xff1a; 继续下一步&…...

『网络游戏』窗口基类【06】

创建脚本&#xff1a;WindowRoot.cs 编写脚本&#xff1a; 修改脚本&#xff1a;LoginWnd.cs 修改脚本&#xff1a;LoadingWnd.cs 修改脚本&#xff1a;ResSvc.cs 修改脚本&#xff1a;LoginSys.cs 运行项目 - 功能不变 本章结束...

04_23 种设计模式之《单例模式》

文章目录 一、单例模式基础知识单例模式有 3 个特点&#xff1a; 单例模式&#xff08;Singleton Pattern&#xff09;是一种创建型设计模式&#xff0c;它确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取这个实例。这种模式通常用于管理共享资源&#xff0c;如…...

视频加字幕用什么软件最快?12款工具快速添加字幕!

对于大多数同学来讲&#xff0c;剪辑中比较头疼的就是如何给视频加字幕和唱词啦&#xff0c;特别是用Pr或者FCXP等专业剪辑软件&#xff0c;加字幕也是特别费时的&#xff0c;哪怕是有批量添加的功能orz... 虽然关于这方面的内容已经很多啦&#xff0c;但是真正全面的内容还特…...

C++:string (用法篇)

文章目录 前言一、string 是什么&#xff1f;二、C语法补充1. auto2. 范围for 三、string类对象的常见构造1. Construct string object2. String destructor3. operator 四、string迭代器相关1. begin与end1&#xff09;begin2&#xff09;end3&#xff09;使用 2. rbegin 与 r…...

力扣随机题

最接近原点的K个点 题目 973. 最接近原点的 K 个点 - 力扣&#xff08;LeetCode&#xff09; 思路 这就是一道排序题&#xff0c;直接根据公式排序&#xff0c;然后返回对应范围的数组就行了 代码 public int[][] kClosest(int[][] points, int k) {Arrays.sort(points, n…...

CSS样式基础样式选择器(案例+代码实现+效果图)

目录 1.css样式的规则 2.引入css样式的方式 1)行内式 2)内嵌式 3)外链式 1-link导入 2-import导入 4)总 3.css基础选择器 1)标签选择器 案例&#xff1a;使用标签选择器编写一个圆 1.代码 2.效果 2)类选择器 案例&#xff1a;使用类选择器为div添加背景色 1.代码 2.效果 3)id…...

Linux系统编程—I/O缓冲区(C语言实现)

I/O缓冲区 进程的I/O缓冲区机制是计算机操作系统中一个重要的概念&#xff0c;它涉及到数据在内存和外设之间的传输。以下是关于进程的I/O缓冲区机制的详细解释&#xff1a; 1.定义与作用 定义&#xff1a;I/O缓冲区是指在内存里开辟的一块区域&#xff0c;用来存放接收用户输…...

MySQL多表查询:行子查询

先看我的表数据 dept表 emp表 行子查询 子查询返回的结果是一行&#xff08;可以是多列&#xff09;, 这种子查询称为行子查询 常用的操作符: , <>, IN, NOT IN 例子1. 查询与“张无忌” 的薪资及直属领导相同的员工信息 拆解成两个问题 a. 查询"张无忌"…...

.NET CORE程序发布IIS后报错误 500.19

发布IIS后浏览时报错误500.19&#xff0c;同时配置文件web.config的路径中也存在问号“?”。 可能原因&#xff1a;没有安装运行时...

Qt 6 相比 Qt 5 的主要提升与更新

自从 Qt 6 发布以来&#xff0c;作为 Qt 框架的一个重大版本更新&#xff0c;它在多个核心方面进行了深度优化和改进。与 Qt 5 相比&#xff0c;Qt 6 不仅提升了性能&#xff0c;还改进了对现代硬件和图形 API 的支持&#xff0c;并增强了开发者的工作流程。本文将详细介绍 Qt …...

【数据结构】介绍

介绍数据结构 数据结构是计算机科学中重要的概念&#xff0c;是指组织和管理数据的方式。它涉及到数据的存储、操作和访问等操作。数据结构可以分为线性结构、树形结构和图形结构等。 线性结构是最简单的数据结构之一(本玄也是这样觉得(*&#xffe3;▽&#xffe3;*))&#…...

论医疗类系统全国运营推广策略

一、线上推广 搜索引擎优化&#xff08;SEO&#xff09;- 重点策略 持续更新网站内容&#xff0c;包括系统功能介绍、成功案例、行业新闻等&#xff0c;提高网站的权重和流量。进行搜索引擎优化&#xff08;SEO&#xff09;&#xff0c;确定与医疗机构辅助系统相关的关键词&a…...

Redis入门第一步:认识Redis与快速安装配置

认识Redis与快速安装配置&#x1f343; Redis是什么&#x1f432; 1.Redis的背景&#x1f38d; Redis&#xff08;Remote Dictionary Server&#xff09;译为"远程字典服务"&#xff0c;它是一款基于内存实现的键值型 NoSQL 数据库&#xff0c; 通常也被称为数据结…...

ES postman操作全量修改,局部修改,删除

全量修改 修改需要调用的url 地址是http://192.168.1.108:9200/shopping/_doc/1001&#xff0c;调用方法使用put 只修改指定的需求的内容的请求方式 post方式就是局部修改 http://192.168.1.108:9200/shopping/_update/1001&#xff0c;请求方式post 上图是只修改id 为1001数…...

社区交流礼仪 | 提问的艺术

唠唠闲话 2021 年通过 Julia 社区了解到开源&#xff0c;自此开始融入开源社区&#xff0c;学习和体验这种独特的协作模式与交流文化&#xff0c;受益良多。本篇文章为开源新手必读&#xff0c;文章中探讨的交流模式&#xff0c;不仅对参与开源项目的协作有所帮助&#xff0c;…...

极客兔兔Gee-Cache Day5

HTTPPool 既可以是服务端&#xff0c;也可以是客户端&#xff0c;这取决于特定的使用场景和上下文&#xff1a; 作为客户端&#xff1a;当本地缓存没有找到需要的数据时&#xff0c;HTTPPool 需要作为客户端&#xff0c;通过 httpGetter &#xff08;实现了 PeerGetter 接口&am…...

【IPv6】IPv6地址格式及地址分类(组播、单播、任播)整理

IPv6地址格式 IPv6 地址从 IPv4 地址的 32 bits 扩展到 128 bits&#xff0c;IPv6 地址的表示、书写方式也从 IPv4 的点分十进制&#xff0c;修改16进制的冒号分割 IPv4 点分格式(.) 192.168.11.11 IPv6 冒号分割(:) 2408:8459:3032:0000:0000:0000:0001:a9fd IPv6 的规范…...

Linux数据备份

1、Linux服务器中哪些数据需要备份 1&#xff09;Linux系统重要数据&#xff1a; ①/root/目录&#xff0c;管理员家目录 ②/home/目录&#xff0c;普通用户家目录 ③/etc/目录 &#xff0c;系统重要的配置文件保存目录 2&#xff09;安装服务的数据&#xff1a;例apache①…...

回到原点再出发

原文What Goes Around Comes Around作者Michael Stonebraker & Joseph M. Hellerstein其他译文https://zhuanlan.zhihu.com/p/111322429 1. 摘要 本文总结了近35年来的数据模型方案&#xff0c;分成9个不同的时代&#xff0c;讨论了每个时代的方案。我们指出&#xff0c;…...