您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Java中循環結構的用法示例的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
文本關鍵字:基本結構、循環結構、while、do-while、for
為了講解方便,我們可以將循環結構劃分為四個部分來進行描述。當然,這四個部分并不是都要出現,甚至在都不出現時也可以構成一個循環結構。并且,對于不同的循環結構,每個部分的相對位置也不同。
在進入循環結構之前可以定義一些循環中以及循環結束后都要用到的變量,進行賦值。
用于決定是否繼續進行循環,如果為假,則循環結束。判斷部分可以直接使用一個布爾類型的變量,或者使用表達式,但是必須保證表達式的結果為布爾類型。
循環結構的核心部分,用于書寫每次想要重復執行的代碼,通常要根據程序功能來設計。
用于輔助控制循環的結束,在循環體之后執行,如變量自增等。
與判斷結構類似,當不使用大括號時,循環結構只能控制一行代碼,通常我們會添加大括號
[初始化部分] while(條件判斷部分){ 循環體 [迭代部分] }
對于while循環,通常用于循環次數不確定時,如:讓使用者決定什么時候退出循環。
可以用一個布爾變量直接來決定循環是否繼續
可以用break關鍵字隨時跳出循環
當條件判斷部分不成立時結束循環
初始化部分和迭代部分可以省略
條件判斷部分后如果出現分號會導致結構直接結束
循環輸出1到9
public static void main(String[] args){ // 初始化部分 int i = 1; // 括號中為循環繼續執行的條件:當i的值小于等于9時 while(i <= 9){ // 循環體部分 System.out.println(i); // 迭代部分:輔助控制循環結束或根據循環體的需要來寫 i++; } }
猜字程序
import java.util.Scanner; import java.util.Random; public class Test{ public static void main(String[] args){ // 初始化Scanner,用于從鍵盤讀入數據 Scanner sc = new Scanner(System.in); // 初始化隨機數生成工具 Random random = new Random(); // 隨機生成一個0~99的整數 int n = random.nextInt(100); // 定義一個布爾類型的變量,用于控制循環的結束 boolean flag = true; // 使用flag作為控制循環結束的變量 while(flag){ System.out.println("請輸入一個數:"); // 從鍵盤讀取一個數 int temp = sc.nextInt(); // 判斷輸入的數是否與隨機數相同,猜中則退出 if(temp == n){ System.out.println("猜中了!"); // 修改flag為false,使得循環退出 flag = false; }else{ // 如果沒有猜中,就讓用戶自己決定是不是要繼續猜 System.out.println("猜錯了!還要繼續嗎?1:繼續2:退出"); // 如果輸入的數字為2則退出(此處暫不考慮輸入出錯等其他情況) if(sc.nextInt() == 2){ // 修改flag為false,使得循環退出 flag = false; } } } // 使用后關閉 sc.close(); } }
[初始化部分] do{ 循環體 [迭代部分] }while(條件判斷部分);
do-while循環與while循環的用法基本相同,主要的不同點在于循環體(迭代部分)一定會先執行一次,然后再進行判斷,這非常適合在初學時做成菜單程序。
可以用一個布爾變量直接來決定循環是否繼續
可以用break關鍵字隨時跳出循環
當條件判斷部分不成立時結束循環
初始化部分和迭代部分可以省略
菜單程序
break只能跳出離自己最近一層的switch-case或循環結構,如果想直接跳出指定層的循環,需要使用到自定義標簽。自定義標簽的用法比較簡單,直接在一個循環結構的起始位置加一個單詞,配合冒號使用,在進行跳出時,可以在break后面添加自定義標簽的名稱,即可跳出指定層的循環。
import java.util.Scanner; public class Test{ public static void main(String[] args){ // 初始化Scanner,用于從鍵盤讀入數據 Scanner sc = new Scanner(System.in); // 在此處使用自定義標簽out(名稱可以自定義)來進行標記 out:do{ System.out.println("****歡迎使用xxx系統****"); System.out.println("****1.系統功能一*******"); System.out.println("****2.系統功能二*******"); System.out.println("****3.退出系統*********"); System.out.print("請輸入功能選項:"); // 從鍵盤讀入一個數選擇要執行的功能 int select = sc.nextInt(); switch(select){ case 1: // 功能一相關代碼 break; case 2: // 功能二相關代碼 break; case 3: // 指定跳出外層的do-while循環,否則只能跳出當前的switch-case結構 break out; } // 判斷條件一直為真,除非用戶輸入選項3退出系統,則使用break跳出。 }while(true); // 使用后關閉 sc.close(); } }
for(初始化部分;條件判斷部分;迭代部分){ 循環體 }
for循環主要用于循環次數確定的情況,通常使用break直接跳出循環是由于已經完成了所需工作,終止剩余無用循環以提高程序運行效率。
for循環的一個明顯特點在于初始化部分,迭代部分的控制比較方便,可以完全在循環內部完成
初始化部分寫在小括號中第一個位置,只會執行一次
如果在初始化部分聲明一個新的變量,則該變量只能在循環內部使用
判斷條件出現在小括號的中間位置,可以是布爾類型的變量或表達式,也可以直接省略使用break關鍵字手動跳出
迭代部分通常用于變量的控制,每次循環體結束后執行
continue關鍵字可以用于所有的循環結構,作用是立即結束當前循環(跳過循環體的剩余部分內容,迭代部分依然會執行),進入下一次循環
計算整數1~10的加和
public static void main(String[] args){ // 定義一個整數類型變量,用于記錄結果 int sum = 0; for(int i = 1;i <= 10;i++){ // 根據邏輯,將每次得到的值相加 sum += i; } // 輸出計算結果 System.out.println(sum); }
輸出整數0~100范圍內的所有偶數
public static void main(String[] args){ for(int i = 0;i <= 100;i++){ // 判斷當前數字的奇偶性,如果是奇數則跳過輸出語句 if(i % 2 != 0){ // 如果是奇數,將跳過循環體剩余的部分,迭代部分不受影響 continue; } System.out.println(i); } // 輸出計算結果 System.out.println(sum); }
死循環的出現是由于我們沒有正確的指定循環的終止條件和控制相關的變量,導致判斷條件部分一直為真,使得循環結構無法結束。但有些時候根據功能需要我們會手動先構造一個死循環,然后使用break來進行跳出,如:菜單程序,由用戶來決定什么時候結束,進行循環的跳出。手動構建一個死循環十分簡單,但是如果意外的出現死循環就需要優先檢查條件判斷部分以及相關變量的變化了。
while(true){ 循環體 }
do{ 循環體 }while(true)
// 是的,你沒有看錯,所有的部分都不需要填寫,但是分號不能省略 for(;;){ 循環體 }
感謝各位的閱讀!關于“Java中循環結構的用法示例”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。