大战熟女丰满人妻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教程,里面有更豐富的知識等著大家去學習,希望對大家能夠有所幫助。

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

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 色综七七久久成人影 | 美女又xx又xx免费 | 国内视频自拍 | 韩国色三级伦不卡高清在线观看 | 亚洲涩涩精品专区 | 国产精品成人h片在线 | www.色五月| 欧美成人一区二免费视频 | 国产视频在线观看福利 | 亚洲免费视频一区 | 欧美成人丝袜视频在线观看 | 天天摸日日摸 | 狠狠色伊人亚洲综合第8页 狠狠色综合久久丁香婷婷 狠狠色综合久久婷婷 | 国产一区二区三区乱码网站 | 一级特级aaaa毛片免费观看 | 综合激情五月婷婷 | 日本免费一区二区三区看片 | 伊人久久综合视频 | 毛片女女女女女女女女女 | 九九天天影视 | 久久久四虎成人永久免费网站 | 色女孩综合 | 天天操天天射天天爽 | 九九热在线视频免费观看 | 天天狠狠操 | 成人在线黄色 | 国产网红精品 | 激情综合婷婷亚洲图片 | 国产亚洲综合视频 | 天天视频国产精品 | 欧美男女爱爱视频 | 亚洲精品国产精品一区二区 | 一级特黄女人生活片 | 五月婷婷在线观看视频 | 国产一区二区三区在线观看精品 | 亚洲国产成人久久精品hezyo | 亚洲欧美综合久久 | 国产一级毛片欧美视频 | 99久久成人国产精品免费 | 呦呦国产| 国农村精品国产自线拍 |