Java入门基础学习笔记24——While循环和do-while循环

1、While循环:

 

例1:

package cn.ensource.loop;public class WhileDemo3 {public static void main(String[] args) {// 目标:掌握while循环的书写格式,以及理解其执行流程// 需求:打印多行Hello Worldint i = 0;while (i < 5) {System.out.println("Hello World");i++;}}
}

注意:其中i++的迭代语句,我们不要忘记了,不然这个循环是一个死循环。

while循环和for循环有什么区别?什么时候是for,什么时候用while?

功能上是完全一样,for能解决的问题,while也能解决,反之亦然。

使用规范:知道循环几次,使用for;不知道循环几次建议使用while。while循环可以用于不确定循环次数的情况。

while循环案例:

需求:世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?

package cn.ensource.loop;public class WhileDemo3 {public static void main(String[] args) {// while案例double paper_thickness = 0.1;     // 纸张厚度double height_zhufeng = 8848860;  //珠峰高度int counter = 0;                  //纸张折叠次数while(height_zhufeng > paper_thickness) {paper_thickness *= 2;         // 纸张折叠一次,厚度就是原来的两倍counter++;}System.out.println("纸张折叠次数: " + counter);}
}

设置断点进行调试:

package cn.ensource.loop;public class WhileDemo3 {public static void main(String[] args) {// while案例double paper_thickness = 0.1;     // 纸张厚度double height_zhufeng = 8848860;  //珠峰高度int counter = 0;                  //纸张折叠次数while(height_zhufeng > paper_thickness) {paper_thickness *= 2;         // 纸张折叠一次,厚度就是原来的两倍counter++;}System.out.println("纸张折叠次数: " + counter);System.out.println("最终纸张的厚度: " + paper_thickness);}
}

我们也能算出最终纸张的厚度:

使用规范:如果一开始不知道循环次数的情况下,建议使用while循环解决更专业。一开始就知道循环几次的情况下,使用for循环解决更专业。

 do-while循环:

例:

package cn.ensource.loop;public class DoWhileDemo4 {public static void main(String[] args) {// 目标:掌握do-while语句的书写格式、执行流程、应用场景// 打印多行Hello Worldint i = 1;do {System.out.println("Hello World");i++;} while( i <= 3);}
}

do-while的特点:先执行后判断。

package cn.ensource.loop;public class DoWhileDemo4 {public static void main(String[] args) {// 目标:掌握do-while语句的书写格式、执行流程、应用场景do {System.out.println("Hello World");} while(false);}
}

直接循环条件为false,我们可以看到还是打印了一次Hello World语句。先执行的打印语句,然后再进行判断。

do-while循环应用场景案例:

刷票系统。

for循环和while循环的其他区别:

在for循环中,控制循环的变量只能在循环中使用。

while循环中,控制循环的变量在循环后还是可以继续使用。

可以将for循环中的控制循环的变量拿出来放到外边。

package cn.ensource.loop;public class DoWhileDemo4 {public static void main(String[] args) {// 目标:掌握do-while语句的书写格式、执行流程、应用场景int n = 0;while (n < 10) {System.out.println("Hello World");n++;}System.out.println(n);}
}

注意:这个n的最终值是10, 这是这段代码的特点。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/705349.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++显式类型转换

本文主要分析C的4种显式类型转换 文章目录 static_cast基本数据类型转换const用于类层次结构void* dynamic_cast继承中的转换 const_castreinterpret_cast参考资料 我们使用显示类型转换&#xff0c;就是在告诉编译器要怎么解释这块内存。 在早期C/C中&#xff0c;显式的类型转…

使用python给图片加上文字水印

使用python给图片加上文字水印 作用效果代码 作用 给图片加上文字水印文字水印的字体&#xff0c;颜色&#xff0c;位置可自定义 效果 原图&#xff1a; 加水印后的图&#xff1a; 代码 from PIL import Image, ImageDraw, ImageFontdef add_text_watermark(input_image…

ThreadLocal,一次到位

一、定义 ThreadLocal是线程私有变量&#xff0c;用于保存每个线程的私有数据。 那么什么情况下需要进行线程隔离 二、源码分析 public class ThreadLocalTest01 {ThreadLocal<Integer> t new ThreadLocal<>();public void test() {t.set(1);Integer integer…

iOS plist文件增删改查

一. plist简介 plist文件&#xff0c;即属性列表文件&#xff0c;全名是Property List&#xff0c;这种文件的扩展名为.plist&#xff0c;因此&#xff0c;通常被叫做plist文件。它是一种用来存储串行化后的对象的文件&#xff0c;在iOS开发中通常用来存储用户设置&#xff0c…

记笔记从学Typora开始--------------------(1)下载、安装、购买、激活

一、登录Typora官网 官网地址&#xff1a;Typora 二、鼠标往下滑&#xff0c;点击下载按钮 三、下载得到安装包&#xff0c;双击 四、一直点击下一步&#xff0c;进行安装 五、安装完成 六、启动Typoera 七、针对欢迎界面点击下一页 八、一直点击直到弹出以下软件激活界面 九…

wefaf

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话&#xff1a; 知不足而奋进&#xff0c;望远山而前行&am…

NAT技术总结与双向NAT配置案例

NAT的转换方式&#xff1a; 1.静态转换&#xff1a;固定的一对一IP地址映射。 interface GigabitEthernet0/0/1 ip address 122.1.2.24 nat static global 122.1.2.1 inside 192.168.1.1 #在路由器出接口 公网地址 私网地址。 2.动态转换&#xff1a;Basic NAT nat address-gr…

Shell脚本 <<EOF ... EOF语法(Here Document)(特殊的输入重定向方式)(定界符)

文章目录 Here Document语法Here Document 的基本语法使用场景 关于定界符定界符不是变量定界符在 Here Document 中只是一个字符串&#xff0c;主要功能是标记输入文本的开始和结束&#xff0c;使用时应遵循最佳实践格式要求例子和说明如何使用定界符定界符可重复使用&#xf…

如何在云电脑实现虚拟应用—数据分层(应用分层)技术简介

数据分层&#xff08;应用分层&#xff09;技术简介 近几年虚拟化市场实现了非常大的发展&#xff0c;桌面虚拟化在企业中应用越来越广泛&#xff0c;其拥有的如下优点得到大量企业的青睐&#xff1a; 数据安全不落地。在虚拟化环境下面数据保存在中心服务器上面&#xff0c;…

想做好抖店?新手、老玩家切勿掉进这些坑,操作要慎重!

大家好&#xff0c;我是电商花花。 很多人都说做抖音小店不需要脑子&#xff0c;会抄就行&#xff0c;难道做店真的就是这样吗&#xff1f; 真的就是会抄&#xff0c;会简单选品&#xff0c;找一些达人就能出单&#xff0c;就能实现睡后收入了吗&#xff1f; 其实并不见得&a…

Day_5

1. Apache ECharts Apache ECharts 是一款基于 Javascript 的数据可视化图表库&#xff0c;提供直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性化定制的数据可视化图表 官网地址&#xff1a;https://echarts.apache.org/zh/index.html 入门案例 快速入门&#x…

K210开发板MicroPython开发环境搭建

一、安装CanMV IDE开发软件 1、进入如下连接 https://developer.canaan-creative.com/resource 2、点击下载 3、下一步 4、修改安装路径&#xff0c;下一步 5、接受许可下一步 6、下一步 7、安装 8、完成 9、区域①菜单栏&#xff1a;操作文件&#xff0c;使用工具等。…