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.pswp.cn/diannao/13051.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13051.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13051.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

EFCore_創建項目

添加依賴 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Tools(Migration工具) 根據使用的DB添加對應依賴&#xff1a; SQL Server&#xff1a;Microsoft.EntityFrameworkCore.SqlServer 添加該依賴時可不添加Microsoft.EntityFrameworkCore&#xff0c;該依…

電工能混到這份上

最近看到某電工師傅發了一篇帖子&#xff0c;大致內容是他在處理一個簡單故障的時候居然花了很長的時間。我們一起來看看他遇到的是什么故障吧! plc 控制的一臺設備&#xff0c;行走部分靠 2 個腳踏開關控制&#xff08;內部開關量控制方向&#xff0c;電位器控制速度&#xff…

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…

前端模塊導入導出方式

不同的導出方式和相應的導入方式&#xff0c;可以提煉成 3 種類型&#xff1a;name、default 和 list。 以下是使用示例&#xff1a; // Name Export | Name Import // 一個“命名”的導出 export const name value import { name } from ...? 錯誤示例&#xff1a; export…

Linux平臺和Windows平臺互傳文件

rz和sz的出發對象都是從Linux出發的&#xff0c;例如sz發送&#xff08;Send&#xff09;從Linux->發送到Windows。 rz 從Windows文件發送到Linux中 先創立一個新文本文件 之后將hello Windows輸入到該文本文件中 在顯示器上顯示里面是否有hello Windows內容 sz發送Lin…

Flutter 中的 PageStorage 小部件:全面指南

Flutter 中的 PageStorage 小部件&#xff1a;全面指南 在Flutter中&#xff0c;PageStorage小部件提供了一種方法來保存和恢復頁面間的信息&#xff0c;這對于具有多個頁面且需要在這些頁面之間共享狀態的應用程序非常有用。本文將詳細介紹PageStorage的用途、如何使用它以及…

Microsoft Azure AI語音服務

一&#xff1a;文字轉語音SDK安裝 安裝語音 SDK - Azure AI services | Microsoft Learn 二&#xff1a;基于文本轉語音Rest API 文本轉語音 API 參考 (REST) - 語音服務 - Azure AI services | Microsoft Learn 三&#xff1a;基于文本合成語音 如何基于文本合成語音 - 語…

Retrying,一個神奇優雅的 Python 庫

大家好&#xff01;我是愛摸魚的小鴻&#xff0c;關注我&#xff0c;收看每期的編程干貨。 一個簡單的庫&#xff0c;也許能夠開啟我們的智慧之門&#xff0c; 一個普通的方法&#xff0c;也許能在危急時刻挽救我們于水深火熱&#xff0c; 一個新穎的思維方式&#xff0c;也許能…

非成對意象翻譯中的內容制約范式再思考

Rethinking the Paradigm of Content Constraints in Unpaired Image-to-Image Translation 非成對意象翻譯中的內容制約范式再思考 Xiuding Cai1 2, Yaoyao Zhu1 2, Dong Miao1 2, Linjie Fu1 2, Yu Yao1 2 蔡秀定 1 2 、朱瑤瑤 1 2 、苗東 1 2 、付林杰 1 2 、余瑤 1 2 Corre…

遙感數據集制作(Potsdam數據集為例):TIF圖像轉JPG,TIF標簽轉PNG,圖像重疊裁剪

文章目錄 TIF圖像轉JPGTIF標簽轉PNG圖像重疊裁剪圖像重命名數據集轉COCO格式數據集轉VOC格式 遙感圖像不同于一般的自然圖像&#xff0c;由于波段數量、圖像位深度等原因&#xff0c;TIF圖像數據不能使用簡單的格式轉換方法。本文以Potsdam數據集為例&#xff0c;制作能夠直接用…

Linux安裝配置CGAL,OpenCV和Gurobi記錄

安裝Qt&#xff0c;查看當前的Qt版本&#xff0c;需要至少滿足v5.12 qmake -v安裝CGAL&#xff0c;The Computational Geometry Algorithms Library (cgal.org) CGAL v5.6.1&#xff1a;https://github.com/CGAL/cgal/releases/download/v5.6.1/CGAL-5.6.1.tar.xz 確保C編譯…

每日復盤-20240515

僅用于記錄當天的市場情況&#xff0c;用于統計交易策略的適用情況&#xff0c;以便程序回測 短線核心&#xff1a;不參與任何級別的調整&#xff0c;采用龍空龍模式 一支股票 10%的時候可以操作&#xff0c; 90%的時間適合空倉等待 國聯證券 (1)|[9:25]|[133765萬]|31.12 一…

基于Pytorch深度學習神經網絡MNIST手寫數字識別系統源碼(帶界面和手寫畫板)

第一步&#xff1a;準備數據 mnist開源數據集 第二步&#xff1a;搭建模型 我們這里搭建了一個LeNet5網絡 參考代碼如下&#xff1a; import torch from torch import nnclass Reshape(nn.Module):def forward(self, x):return x.view(-1, 1, 28, 28)class LeNet5(nn.Modul…

【數據結構】C++語言實現二叉樹的介紹及堆的實現(詳細解讀)

c語言中的小小白-CSDN博客c語言中的小小白關注算法,c,c語言,貪心算法,鏈表,mysql,動態規劃,后端,線性回歸,數據結構,排序算法領域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 給大家分享一句我很喜歡我話&#xff1a; 知不足而奮進&#xff0c;望遠山而前行&am…

分布式系統的一致性與共識算法(三)

順序一致性(Sequential Consistency) ZooKeeper 一種說法是ZooKeeper是最終一致性&#xff0c;因為由于多副本、以及保證大多數成功的ZAB協議&#xff0c;當一個客戶端進程寫入一個新值&#xff0c;另外一個客戶端進程不能保證馬上就能讀到這個值&#xff0c;但是能保證最終能…

我的第一個網頁:武理天協

1. html代碼 1.1 首頁.html <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><title>武理天協</title><link rel"stylesheet" href"./style.css"><link rel"stylesh…

【車載開發系列】SID$11服務配置

【車載開發系列】SID$11服務配置 前言 ECUReset(ECU重置),ECU作為Server端,執行Client發送來ECU Reset請求中重啟的類型(通過子服務區分)。對于UDS協議關于處理該請求的邏輯,沒有強制性定義。 Step1:SID和SubFunction的追加 BasicEditor→Dcm→DcmConfigSet→DcmDs…

vs2019 c++里用 typeid() . name () 與 typeid() . raw_name () 測試數據類型的區別

&#xff08;1&#xff09; 都知道&#xff0c;在 vs2019 里用 typeid 打印的類型不大準&#xff0c;會主動去掉一些修飾符&#xff0c; const 和引用 修飾符會被去掉。但也可以給咱們驗證學到的代碼知識提供一些參考。那么今天發現其還有 raw_name 成員函數&#xff0c;這個函…

AES分組密碼

一、AES明文和密鑰位數 RIJNDAEL 算法數據塊長度和密鑰長度都可獨立地選定為大于等于 128 位且小于等于 256 位的 32 位的任意倍數。 而美國頒布 AES 時卻規定數據塊的長度為 128 位、密鑰的長度可分別選擇為 128 位&#xff0c; 192 位或 256 位 1.1 狀態 中間結果叫做狀態…

建模:3dmax

3Dmax 制作模型和動畫&#xff08;橘肉&#xff09;&#xff1b; RizomUV 對模型進行展UV&#xff08;橘皮&#xff09;&#xff1b; Substance Painter 紋理手繪&#xff08;給橘皮制定想要的皮膚&#xff09;&#xff1b; 1.基礎 1.1可編輯多邊形、可編輯樣條線 體、面都需要…