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

1、While循环:

 

例1:

package cn.ensource.loop;

public class WhileDemo3 {
    public static void main(String[] args) {
        // 目标:掌握while循环的书写格式,以及理解其执行流程
        // 需求:打印多行Hello World
        int 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 World
        int 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, 这是这段代码的特点。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【C++】:string类的基本使用

目录 引言一&#xff0c;string类对象的常见构造二&#xff0c;string类对象的容量操作三&#xff0c;string类对象的访问及遍历操作四&#xff0c;string类对象的修改操作五&#xff0c;string类非成员函数六&#xff0c;整形与字符串的转换 引言 string 就是我们常说的"…

8个迹象表明你需要一台新笔记本电脑,看一下你的笔记本是否有其中一个

序言 当你第一次打开你的笔记本电脑的盒子时,它会以最高性能运行,电池寿命更长,过热最小,资源使用效率高。然而,随着笔记本电脑的老化,它将不能满足预期用途。以下几个迹象表明,可能是时候寻找并投资一款新设备了。 你的设备不再具有预期用途 如果你的笔记本电脑不再…

JVM学习-虚拟机栈

虚拟机栈 每个线程创建时都会创建一个虚拟机栈&#xff0c;其内部保存一个个栈帧&#xff0c;对应一次次Java方法调用&#xff0c;栈是线程私有的。 生命周期: 与线程相同 作用 主管Java程序的运行&#xff0c;它保存方法的局部变量、部分结果、并参与方法的调用和返回。 …

优思学院|六西格玛与ISO9001最大的共同点是什么?

六西格玛管理和ISO 9001的共同点是它们都将客户放在首位。每个组织都有其特定的客户群&#xff0c;并向他们提供符合或超出期望的产品。 没有客户&#xff0c;组织无法生存。 因此&#xff0c;组织必须时刻关注并理解客户的当前和未来需求&#xff0c;并据此开展一切活动&…

yolov9训练自定义数据

1.训练yolov9&#xff0c;先准备好一份自定义数据.。到roboflow下载一份数据&#xff0c;数据格式是yolo格式。 2.到github下载yolov9源码 https://github.com/WongKinYiu/yolov9 3.为了方便配置环境&#xff0c;把代码上传到矩池云上面&#xff0c;使用云服务器 4.执行 pip i…

设计非递归算法,编程:在二叉排序树中,打印关键码a, b的公共祖先。注:例,若a是b的祖先,则a不算作公共祖先。反之亦然。

二叉排序树&#xff1a; 代码&#xff1a; #include <iostream> using namespace std;// 定义二叉树节点结构 typedef struct BTNode {char show;struct BTNode* left;struct BTNode* right; } BTNode;// 非递归插入节点的函数 BTNode* insertNode(BTNode* root, char k…

fastadmin对登录token的处理

fastadmin对token的操作 最近开发遇到一个场景&#xff0c;需要绕过验证获取登录&#xff0c;所以恶补了一下这个知识点&#xff0c;这个主要就是控制fastadmin的token的问题 代码分步实现 class Xcxuser extends Api {//关于鉴权protected $noNeedLogin [login,getopenid,…

Java:使用BigDecimal、NumberFormat和DecimalFormat保留小数

一、代码和调试结果 1.1 BigDecimal ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/fa36749de8124266a730817710fdf737.png) 1.2 DecimalFormat 1.3 NumberFormat 二、原代码 BigDecimalUtil.java 代码 package utils;import java.math.BigDecimal; import jav…

【Qt】Qt开源项目

1、Flameshot 截图工具 1.1 简介 Flameshot是一款功能强大但易于使用的屏幕截图软件,中文名称火焰截图。 Flameshot 简单易用并有一个CLI版本,所以可以从命令行来进行截图。 Flameshot 是一个Linux发行版中完全免费且开源的截图工具 1.2 源码 github:https://github.com…

申请一个开发者域名

申请一个开发者域名 教程 fourm.js.org 因本地没安装 hexo 环境&#xff0c;模板下载的 html

代理IP与网络隐私

随着科技的发展&#xff0c;越来越多的人开始享受网络的便利&#xff0c;人们逐步在社交媒体上分享自己的生活。这些公开信息是可以被所有人浏览观看的&#xff0c;但是也会存在部分隐私信息我们并不想要被人知晓&#xff0c;这就牵扯到网络隐私保护问题。 代理IP对于网络隐私保…

char x[]---char*---string---sizeof

字符串数组 #include <iostream>int main(){char c_str[]"abcd";char c_str1[]{a,b,c,d};std::cout<<sizeof(c_str)<<std::endl;std::cout<<sizeof(c_str1)<<std::endl;return 0; } char*存储的字符串个数 char*字符串所占字节大小 c…

Shell之高效文本处理命令

目录 一、排序命令—sort 基本语法 常用选项 二、去重命令—uniq 基本语法 常用选项 三、替换命令—tr 基本语法&#xff1a; 常用选项 四、裁剪命令—cut 基本语法&#xff1a; 常用选项 字符串分片 五、拆分命令—split 基本语法&#xff1a; 六、 文件…

【if条件、for循环、数据框连接、表达矩阵画箱线图】

编程能力&#xff0c;就是解决问题的能力&#xff0c;也是变优秀的能力 From 生物技能树 R语言基础第七节 文章目录 1.长脚本管理方式if(F){....}分成多个脚本&#xff0c;每个脚本最后保存Rdata&#xff0c;下一个脚本开头清空再加载 2.实战项目的组织方式方法&#xff08;一&…

【微服务最全详解】

文章目录 微服务微服务的介绍微服务服务架构演变 微服务网关微服务的负载均衡微服务的容灾机制服务崩溃服务容灾机制微服务熔断机制微服务限流Sentinel怎么实现限流微服务限流算法1.令牌桶算法2.漏斗桶算法 服务监控日志收集 微服务 微服务的介绍 微服务是一种软件架构风格&a…

上班族兼职新篇章:10大实战攻略,轻松年赚1-20万

对于众多上班族而言&#xff0c;如何在工作之余赚取额外收入&#xff0c;开启自己的第一份副业&#xff0c;已成为许多人心中的疑问。每个人的才能和兴趣点不尽相同&#xff0c;但都有机会找到适合自己的兼职方式。接下来&#xff0c;就让我们一起探索这10大实战攻略&#xff0…

Google Ads谷歌广告账户被封停怎么办?

跨境出海业务少不了需要做Google Ads推广业务&#xff1b;其中让投手们闻风丧胆的消息就是帐户被暂停。当 Google 检测到任何违反其政策且可能损害用户在线体验的行为时&#xff0c;就会发生这种情况。那么如何在做广告推广的同时&#xff0c;保证账号不被封禁呢&#xff1f;看…

基于单片机的智能安防系统设计(32+4G+WIFI版)-设计说明书

设计摘要&#xff1a; 本设计基于STM32单片机&#xff0c;旨在实现一个智能安防系统&#xff0c;主要包括烟雾和温度传感器、人体红外传感器、显示屏、按键、4G模块和WiFi模块等组件。通过这些组件的协作&#xff0c;实现了火灾检测、入侵监测、状态显示、用户交互和远程通信等…

AI高清逼真换脸换装

在我们的最新AI换脸换装技术中&#xff0c;我们将高度真实的视觉效果与创新的人工智能技术相结合&#xff0c;提供了前所未有的个性化数字体验。无论是为了娱乐、广告、电影制作还是个人化虚拟体验&#xff0c;我们的技术都能让你的想象无缝转换为现实。通过我们的平台&#xf…

Linux命令使用

一、ls tree clear 1.1 ls ls&#xff1a;查看当前目录下的文件名ls 目录名&#xff1a;查看指定目录下的文件名ls /&#xff1a;查看根目录下的文件名ls -a&#xff1a;查看当前目录下的所有文件名&#xff0c;包括隐藏文件ls -l&#xff1a;查看当前目录下文件的详细信息…