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

【日撸 Java 三百行】Day 9(While语句)

目录

Day 9:While 语句的基本使用方法

一、基础知识及案例分析

二、代码及测试

拓展:流程控制语句专题补充

小结


Day 9:While 语句的基本使用方法

Task:

while 语句本质上比 for 更基础, 因此可以替代后者. 但 for 在很多时候更方便.
break 语句又出现了, 上次是在 switch 语句里. 都是表示跳出当前代码块.

一、基础知识及案例分析

1. 关于 While 语句
        由于在 Day7-Day8 的任务中已经比较多次的使用过 while 语句了,熟悉程度较高;加上在学习 switch,for 语句后也有对应的专题总结,基础知识这里略过。
        唯一值得注意的是:

while 和 for 的区别主要在:for 常用于已知具体需要循环多少次,while 常用于未知具体循环次数,但知道结束条件。这个说法是比较感性的,需要读者在编码过程中切实体会。

 2. 程序分析
        本次测试在累积求值的基础上,增加结束条件:不超过某数。具体逻辑与 for 类似,这里不做展开,仅仅给出对应代码和运行结果。

二、代码及测试

        代码如下:

package basic;/*** This is the ninth code. Names and comments should follow my style strictly.** @author: Changyang Hu joe03@foxmail.com* @date created: 2025-05-08*/
public class WhileStatement {/*** * @Title: main* @Description: The entrance of the pragram.** @param args Not used now** @return void */public static void main(String args[]) {whileStatementTest();}// Of main/*** * @Title: whileStatementTest* @Description: The sum not exceeding a given value* * @return void */public static void whileStatementTest() {int tempMax = 100;int tempValue = 0;int tempSum = 0;// Approach 1.while (tempSum <= tempMax) {tempValue++;tempSum += tempValue;System.out.println("tempValue = " + tempValue + ", tempSum = " + tempSum);} // Of whiletempSum -= tempValue;System.out.println("The sum not exceeding " + tempMax + " is: " + tempSum);// Approach 2.System.out.println("\r\nAlternatice approach.");tempValue = 0;tempSum = 0;while (true) {tempValue++;tempSum += tempValue;System.out.println("tempValue = " + tempValue + ", tempSum = " + tempSum);if (tempMax < tempSum) {break;} // Of if} // Of whiletempSum -= tempValue;System.out.println("The sum not exceeding " + tempMax + " is: " + tempSum);}// Of while
}// Of class WhileStatement

        运行结果如下:

拓展:流程控制语句专题补充

【Java 专题补充】流程控制语句-CSDN博客


小结

        相比于 for 循环语句,while 常用于已知结束条件,未知循环具体次数的情景。同时,while 还有一个常见用法:while(true),使得某功能持续运行,可以通过 break 来跳出循环。

http://www.xdnf.cn/news/5144.html

相关文章:

  • 使用 systemd 管理 Linux 服务:配置与自动重启指南
  • web组件的底层实现
  • 2025数维杯数学建模B题完整限量论文:马拉松经济的高质量发展思路探索
  • PostgreSQL技术内幕30:Heap Only Tuple(HOT)原理解析
  • 理解 `.sln` 和 `.csproj`:从项目结构到构建发布的一次梳理
  • yolov5如何训练使用MRI 脊椎分割数据集_ 脊椎分割项目解决方法如何 原图,标签分别2460张 实现可视化及评估
  • 常用电阻阻值表E24(5%)和E96(1%)
  • 《软件项目经济性论证报告模板:全面解析与策略建议》
  • NWD 格式转换 STL 全流程:专业方案与迪威模型网在线转换详解
  • 《大规模电动汽车充换电设施可调能力聚合评估与预测》MATLAB实现计划
  • 【C】初阶数据结构14 -- 归并排序
  • 韩媒聚焦Lazarus攻击手段升级,CertiK联创顾荣辉详解应对之道
  • C++学习之类和对象_1
  • 日常代码逻辑实现
  • Android应用隐私合规:解决极光推送SDK提前收集WiFi信息问题
  • 解决SVN更新时,提示“不知道这样的主机“问题
  • RDD的自定义分区器-案例
  • python可视化:北方城市客流变化分析2
  • 广西某建筑用花岗岩矿自动化监测
  • 鸿蒙开发:dialog库做了一些优化
  • daytona开源代码架构分析
  • CMD常见命令
  • Oracle非归档模式遇到文件损坏怎么办?
  • 力扣:轮转数组
  • WD5030L CC/CV模式DCDC15A高效同步转换器消费电子工业控制汽车电子优选择
  • 命名视图~
  • NOIP1999提高组.拦截导弹
  • 一周学会Pandas2 Python数据处理与分析-Pandas2数据排序操作
  • React 第三十八节 Router 中useRoutes 的使用详解及注意事项
  • OpenHarmony SystemUI开发——修改状态栏和导航栏的高度