大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 while循環語句詳解

while循環語句詳解

更新時間:2022-08-15 07:40:00 來源:動力節點 瀏覽783次

Java while 循環語句是一種控制流語句,它允許基于給定的布爾條件重復執行代碼。while 循環可以被認為是一個重復的 if 語句。

在控制結構的迭代(或重復)類別中,有兩種常用的測試前循環。它們是:while 和 for。

迭代的概念與可能想要重復一個動作有關。像所有控制結構一樣,我們提出一個問題來控制循環的執行。術語循環來自使用流程圖時發生的循環運動。

在大多數編程語言中,問題(稱為測試表達式)是一個布爾表達式。Boolean 數據類型有兩個值——真和假。讓我們重寫結構來考慮這一點:

標志的初始化

當表達式為真時

一些陳述或行動

一些陳述或行動

一些陳述或行動

更新標志

在 while 控制結構中,正常工作的循環有四個屬性。他們是:

初始化標志

測試表達式

行動或行動

更新

標志的初始化在技術上不是控制結構的一部分,而是在循環開始之前發生的必要項目。英文短語是“當表達式為真時,請執行以下操作”。這是真實的循環。當測試表達式為假時,您停止循環并繼續程序中的下一項。請注意,因為這是循環前的測試,所以 可能不會發生操作。它被稱為循環前的測試,因為測試先于動作。它有時也被稱為預測試循環,這意味著測試是在動作和更新之前(或拉丁語表示之前)。

while 循環的人類示例

考慮以下從母親到孩子的單向對話。

孩子:孩子什么也沒說,但媽媽知道孩子早餐吃了麥片,而且歷史告訴我們,孩子很可能把麥片灑在地板上。

媽媽說:“雖然你確實看到(只要你能看到)地板上有一個 Cheerio,但把它撿起來扔進垃圾桶。”

注意:所有元素都存在以確定孩子將要做的動作(或流程)(在這種情況下是重復的)。因為這個問題(你能看到一個 Cheerios)只有兩個可能的答案(真或假),當地板上有 Cheerios 時,動作將繼續。要么孩子 1) 永遠不會撿起 Cheerio,因為他們從來沒有灑過任何東西,或者 2) 撿起 Cheerio 并一次接一個地撿起 Cheerio,而他可以看到地板上的 Cheerio(直到它們都被撿起) .

無限循環

在這一點上,值得一提的是,好的編程總是提供一種方法來確保循環問題最終為假,從而使循環停止執行,程序繼續執行下一行代碼。但是,如果這沒有發生,則程序處于無限循環中。無限循環是一件壞事。考慮以下代碼:

偽代碼無限循環

loop_response = 'y'
而 loop_response == 'y'
    輸出“你幾歲?”
    輸入用戶年齡
    輸出“你朋友的年齡?”
    輸入friend_age
    輸出“你的年齡加起來是:”
    輸出 user_age +friend_age

程序員在循環之前為標志分配了一個值,這是正確的。但是,他們忘記更新標志了。每次詢問測試表達式時,它總是為真。因此,一個無限循環是因為程序員沒有提供退出循環的方法(他忘記更新標志)。考慮以下代碼:

loop_response = 'y';
而 loop_response = 'y'
    輸出“你幾歲?”
    輸入用戶年齡
    輸出“你朋友的年齡?”
    輸入friend_age
    輸出“你的年齡加起來是:”
    輸出 user_age +friend_age
    輸出“你想再試一次嗎?y or n”
    輸入 loop_response

無論用戶在標志更新期間回復什么,測試表達式都不會進行關系比較而是進行賦值。它將“y”分配給變量并詢問“y”是否為真?由于所有非零值都被視為代表真,因此測試表達式的答案為真。維奧拉,你有一個無限循環。

計數循環

上面的示例適用于事件控制循環。標志更新是某人決定是否希望循環再次執行的事件。通常初始化設置標志,以便循環將至少執行一次。

while 循環的另一個常見用法是作為計數循環。考慮:

計數器 = 0
當計數器 < 5
    輸出“我喜歡冰淇淋!”
    計數器 += 1

變量 counter 被稱為控制循環。在進入while循環結構之前設置為零(稱為初始化),只要小于5(五);循環動作將被執行。但是循環操作的一部分使用增量運算符將計數器的值增加一。執行循環五次后(一次用于計數器的值:0、1、2、3 和 4),表達式將為 false,程序中的下一行代碼將執行。計數循環旨在執行一組給定次數的動作(可能不止一個語句)。在我們的示例中,消息在監視器上顯示五次。它是通過確保 while 控制結構的所有四個屬性都存在并正常工作來完成的。屬性是:

初始化標志

測試表達式

行動或行動

更新

缺少屬性可能會導致無限循環或產生不希望的結果(無法正常工作)。

無限循環

考慮:

計數器 = 0;
而計數器 < 5
    輸出“我喜歡冰淇淋!”

缺少標志更新通常會導致無限循環。

計數的變化

在下面的示例中,整數變量 age 被稱為控制循環(即標志)。我們可以假設年齡在程序前面提供了一個值。因為while結構是循環前的測試;有可能這個人的年齡是 0(零)并且我們第一次測試表達式時它會是假的,并且循環的動作部分永遠不會被執行。

雖然 0 < 年齡
    輸出“我愛糖果!”
    年齡 -= 1

假設 age 和 counter 都是整數數據類型并且 age 具有值,請考慮以下變體:

計數器 = 0;
而計數器 < 年齡
    輸出“我喜歡玉米片!”
    計數器 += 1

這個循環是一個計數循環,類似于我們的第一個計數循環示例。唯一的區別是我們的表達式中沒有使用文字常量(即 5),而是使用變量 age(以及存儲在 age 中的值)來確定執行循環的次數。然而,與我們的第一個計數循環示例不同,它總是會執行 5 次;有可能這個人的年齡是 0(零)并且我們第一次測試表達式時它會是假的,并且循環的動作部分永遠不會被執行。如果大家想了解更多相關知識,可以關注一下動力節點的Java教程,里面有更豐富的知識等著大家去學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 精品国产日韩亚洲一区二区 | 久久男人资源站 | 国产毛片一区二区三区精品 | 国产目拍亚洲精品区一区 | 免费视频爱爱 | 色婷婷视频在线观看 | 国产精品视频2021 | 99精品国产三级在线观看 | 四虎影院在线免费 | 尤物黄色 | 成人私拍福利视频在线 | 亚洲福利视频在线 | 久久精品国产亚洲片 | 久久亚洲国产精品五月天 | 亚洲欧洲日本精品 | 天天躁日日躁成人字幕aⅴ 天天躁日日躁狠狠躁黑人躁 | h录音 国产 在线 | 9l国产精品久久久久麻豆 | 9久热 | 中国美女一级a毛片录像在线 | 久久大香伊蕉在人线观看热2 | 欧美日本一二三区 | 亚洲综合网站 | 国产日产欧美精品 | 久久久久久久久a免费 | 女人寂寞偷人视频a级 | 久久中文字幕综合不卡一二区 | 亚洲精品99久久久久久 | 亚洲福利视频精选在线视频 | 一日本道加勒比高清一二三 | 成年女人色毛片免费 | 久久中文网 | 亚洲国内 | 免费国产不卡午夜福在线观看 | 日韩va亚洲va欧美va浪潮 | 欧日韩一区二区三区 | 呦女www| 九九99久久精品国产 | 精品亚洲一区二区三区 | 中文字幕亚洲日韩无线码 | 精品久久综合一区二区 |