【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(循环条件);
do
和while
是关键字,也有循环四要素,只是位置不同。do...while
先执行语句,再判断条件,意味着循环体至少执行一次。while
后面有一个分号。while
和do...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 循环控制的详细介绍,涵盖了 while
和 do...while
循环的基本语法、执行流程及示例。希望对你理解 Java 循环控制有所帮助!
相关文章:

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

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

栈与队列面试题(Java数据结构)
前言: 这里举两个典型的例子,实际上该类型的面试题是不确定的! 用栈实现队列: 232. 用栈实现队列 - 力扣(LeetCode) 方法一:双栈 思路 将一个栈当作输入栈,用于压入 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刷机包太慢 解决办法
文章目录 修改前下载速度修改后下载速度修改方法(修改host) 修改前下载速度 一开始笔者以为是迅雷没开会员的问题,在淘宝上买了一个临时会员后下载速度依然最高才100KB/s 修改后下载速度 修改方法(修改host) host文…...
Python中的策略模式:解锁编程的新维度
引言 策略模式是一种行为型设计模式,允许算法独立于使用它的客户端而变化。这使得我们可以根据不同的情况选择不同的算法或策略来解决问题,从而增强系统的灵活性。在日常开发中,策略模式常用于处理多种算法或行为之间的切换,比如…...
ara::core::Future::then()的概念和使用方法
1. 概念 在ara::core::Future的上下文中,then()是一种用于处理异步操作结果的机制。一个Future代表一个尚未完成的异步计算,它最终会产生一个结果或者一个错误。then()方法允许你在Future完成时注册一个回调函数(或者说后续操作)…...

九、5 USART串口数据包
数据包作用:把一个个单独的数据给打包起来,将同一批的数据进行打包和分割,方便接收方进行识别,方便我们进行多字节的数据通信。 1、串口收发HEX数据包 (1)数据包的格式是个人规定的,如以FF为包…...

SQL第12课——联结表
三点:什么是联结?为什么使用联结?如何编写使用联结的select语句 12.1 联结 SQL最强大的功能之一就是能在数据查询的执行中联结(join)表。联结是利用SQL的select能执行的最重要的操作。 在使用联结前,需要了解关系表…...

CentOS7 虚拟机操作系统安装及相关配置教程
1、安装虚拟机 在VMware《主页》界面中点击《创建新的虚拟机》按钮: 选择你准备好的ISO文件,点击下一步: 然后填写虚拟机的名称以及虚拟机将来保存的位置: 再次下一步,填写虚拟机磁盘大小: 继续下一步&…...

『网络游戏』窗口基类【06】
创建脚本:WindowRoot.cs 编写脚本: 修改脚本:LoginWnd.cs 修改脚本:LoadingWnd.cs 修改脚本:ResSvc.cs 修改脚本:LoginSys.cs 运行项目 - 功能不变 本章结束...
04_23 种设计模式之《单例模式》
文章目录 一、单例模式基础知识单例模式有 3 个特点: 单例模式(Singleton Pattern)是一种创建型设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。这种模式通常用于管理共享资源,如…...

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

C++:string (用法篇)
文章目录 前言一、string 是什么?二、C语法补充1. auto2. 范围for 三、string类对象的常见构造1. Construct string object2. String destructor3. operator 四、string迭代器相关1. begin与end1)begin2)end3)使用 2. rbegin 与 r…...
力扣随机题
最接近原点的K个点 题目 973. 最接近原点的 K 个点 - 力扣(LeetCode) 思路 这就是一道排序题,直接根据公式排序,然后返回对应范围的数组就行了 代码 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)标签选择器 案例:使用标签选择器编写一个圆 1.代码 2.效果 2)类选择器 案例:使用类选择器为div添加背景色 1.代码 2.效果 3)id…...
Linux系统编程—I/O缓冲区(C语言实现)
I/O缓冲区 进程的I/O缓冲区机制是计算机操作系统中一个重要的概念,它涉及到数据在内存和外设之间的传输。以下是关于进程的I/O缓冲区机制的详细解释: 1.定义与作用 定义:I/O缓冲区是指在内存里开辟的一块区域,用来存放接收用户输…...

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

.NET CORE程序发布IIS后报错误 500.19
发布IIS后浏览时报错误500.19,同时配置文件web.config的路径中也存在问号“?”。 可能原因:没有安装运行时...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...

论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...