0x00前言
? ? ? 在生活中有很多需要重復(fù)性操作的示例:播放器的單曲循環(huán),用于方便我們不斷的只聽一首歌曲。
? ? ? 我們在編程中,可能會遇到這樣的問題:? 在控制臺上不斷的輸出“Hello World”,
計算1+2+3+....+100的結(jié)果等等榕堰。
? ? ? 這些都是具有規(guī)律性的重復(fù)操作。要想在程序中實現(xiàn)這樣的功能嫌套,我們就需要用到循環(huán)結(jié)構(gòu)逆屡。
? ? ? 循環(huán)結(jié)構(gòu)是:當(dāng)滿足條件時,能夠重復(fù)執(zhí)行某段代碼
0x01循環(huán)結(jié)構(gòu)(三種)
while(條件表達式) {
? ? ? 語句;
}
當(dāng)條件表達式的結(jié)果為true時踱讨,執(zhí)行語句魏蔗,再進行條件表達式的判斷,直到結(jié)果為false結(jié)束循環(huán)
案例:
1)不斷的在控制臺上打印helloworld
2)在控制臺上打印helloworld 10次
3)計算1+2+3+....+100并輸出
int i = 1痹筛;
int sum = 0;
while(i<=100){
? ? ? ?sum = i+sum;
? ? ? ?System.out.println( "i=" + i);
? ? ? ?i++;
}
System.out.println( sum);
break莺治、continue語句控制循環(huán)
break:結(jié)束本層循環(huán),跳出循環(huán)語句
continue:結(jié)束本次循環(huán)帚稠,返回至條件判斷
案例:
輸出0~10個數(shù)字谣旁,當(dāng)輸出到數(shù)字6的時候,結(jié)束循環(huán)
輸出0~10個數(shù)字翁锡,不輸出數(shù)字5
do…while
do {
? ? 語句;
} while(條件表達式)
首先執(zhí)行語句蔓挖,當(dāng)條件表達式的結(jié)果為true時,執(zhí)行語句馆衔,再進行條件表達式的判斷,直到結(jié)果為false結(jié)束循環(huán)
案例同上
for
?for(循環(huán)變量初始化; 條件表達式;循環(huán)增量) {
? ? ? 語句;
}
循環(huán)嵌套
不論是while循環(huán)還是for循環(huán)怨绣,循環(huán)體內(nèi)可以是任意語句角溃,如果循環(huán)內(nèi)部還是一個循環(huán)語句,就構(gòu)成了循環(huán)嵌套
?
練習(xí)題:
*
**
***
****
*
***
*****
*******
*********
*******
*****
***
*
3.輸出99口訣表
4.編寫一個Java應(yīng)用程序篮撑。用戶從鍵盤輸入一個1—10000之間的數(shù)减细,程序?qū)⑴袛噙@個數(shù)是幾位數(shù),并判斷這個數(shù)是否是回文數(shù)赢笨∥打颍回文數(shù)是指將該數(shù)含有的數(shù)字逆序排列后得到的數(shù)和原數(shù)相同,例如1221茧妒、3223都是回文數(shù)萧吠。
5.編寫一個Java應(yīng)用程序,實現(xiàn)下列功能:
1)?程序隨機分配給客戶一個1—100之間的整數(shù)
2)?用戶在輸入對話框中輸入自己的猜測
3)?程序返回提示信息桐筏,提示信息分別是:“猜大了”纸型、“猜小了”和“猜對了”。
4)?用戶可根據(jù)提示信息再次輸入猜測,直到提示信息是“猜對了”狰腌。
int s = (int)(Math.random()*100)+1;
System.out.println( "s :" + s);
while(true){
? ? ? ?Scanner can = new Scanner(System.in);
? ? ? ?int temp = can.nextInt();
? ? ? if(temp < s){
? ? ? ? ? ? System.out.println("小了");
? ? ? ?}else if(temp > s){
? ? ? ? ? ? System.out.println("大了");
? ? ? }else{
? ? ? ? ? ? ?System.out.println("猜對了");
? ? ? ?}
?}