一:Java條件語句之 switch
當需要對選項進行等值判斷時,使用 switch 語句更加簡潔明瞭。例如:根據考試的名次,給予前 4 名不同的獎品。第一名,獎勵筆記本一臺;第二名,獎勵 IPAD 2 一個;第三名,獎勵移動電源一個;最後一名獎勵 U 盤一個。
語法:
執行過程:當 switch 後表達式的值和 case 語句後的值相同時,從該位置開始向下執行,直到遇到 break 語句或者 switch 語句塊結束;如果沒有匹配的 case 語句則執行 default 塊的代碼。
如:
不得不說的幾點小祕密:
1、 switch 後面小括號中表達式的值必須是整型或字符型
2、 case 後面的值可以是常量數值,如 1、2;也可以是一個常量表達式,如 2+2 ;但不能是變量或帶有變量的表達式,如 a * 2
3、 case 匹配後,執行匹配塊裏的程序代碼,如果沒有遇見 break 會繼續執行下一個的 case 塊的內容,直到遇到 break 語句或者 switch 語句塊結束 如
運行結果:
4、 可以把功能相同的 case 語句合併起來,如
5、 default 塊可以出現在任意位置,也可以省略
*******************888我的練習**************************
package javaapplication1;
public class JavaApplication1 {
public static void main(String[] args) {
char today='日';
switch(today){
case '一':
case '三':
case '五':
System.out.println("喫包子");
break;
case '二':
case '四':
case '六':
System.out.println("喫油條");
break;
case '日':
System.out.println("喫主席套餐");
break;
}
}
}
二:Java循環語句之 while
生活中,有些時候爲了完成任務,需要重複的進行某些動作。如參加 10000 米長跑,需要繞 400 米的賽道反覆的跑 25 圈。在 Java 中實現功能時,也經常需要重複執行某些代碼,例如,我們爲了表示“濃烈的愛”,希望輸出 1000 行“我愛慕課網!”。顯然,此時重複敲 1000 遍輸出語句是不靠譜滴!!那麼,有木有好的辦法來解決呢? 有,循環語句!
Java 常用的 3 種循環: while 、 do...while 、 for
本小節咱們先來聊聊 while
語法:
執行過程:
< 1 >、 判斷 while 後面的條件是否成立( true / false )
< 2 >、 當條件成立時,執行循環內的操作代碼 ,然後重複執行< 1 >、< 2 >, 直到循環條件不成立爲止
特點:先判斷,後執行
如:
package javaapplication1;
public class JavaApplication1 {
public static void main(String[] args) {
int i = 1; // 代表 1 - 5 之間的數字
// 當變量小於等於 5 時執行循環
while (i<=5 ) {
// 輸出變量的值,並且對變量加 1,以便於進行下次循環條件判斷
System.out.println(i);
i++;
}
}
}
三:Java循環語句之 do...while
do...while 循環與 while 循環語法有些類似,但執行過程差別比較大。
語法:
執行過程:
<1>、 先執行一遍循環操作,然後判斷循環條件是否成立
<2>、 如果條件成立,繼續執行< 1 > 、< 2 >,直到循環條件不成立爲止
特點: 先執行,後判斷
由此可見,do...while 語句保證循環至少被執行一次!
例如,依然輸出 1000 遍“我愛慕課網”,使用 do...while 的實現代碼爲:
*******************888我的練習***********************
package javaapplication1;
public class JavaApplication1 {
public static void main(String[] args) {
int sum = 0; // 保存 1-50 之間偶數的和
int num = 2; // 代表 1-50 之間的偶數
do {
//實現累加求和
sum+=num;
num = num + 2; // 每執行一次將數值加2,以進行下次循環條件判斷
} while ( num<=50 ); // 滿足數值在 1-50 之間時重複執行循環
System.out.println(" 50以內的偶數之和爲:" + sum );
}
}
四:Java循環語句之 for
Java 的循環結構中除了 while 和 do...while 外,還有 for 循環,三種循環可以相互替換。
語法:
執行過程:
<1>、 執行循環變量初始化部分,設置循環的初始狀態,此部分在整個循環中只執行一次
<2>、 進行循環條件的判斷,如果條件爲 true ,則執行循環體內代碼;如果爲 false ,則直接退出循環
<3>、 執行循環變量變化部分,改變循環變量的值,以便進行下一次條件判斷
<4>、 依次重新執行< 2 >、< 3 >、< 4 >,直到退出循環
特點:相比 while 和 do...while 語句結構更加簡潔易讀
例如,輸出 1000 遍“我愛慕課網”,使用 for 的實現代碼爲:
需要留心的幾個小細節:
1、 for 關鍵字後面括號中的三個表達式必須用 “;” 隔開,三個表達式都可以省略,但 “;” 不能省略。
a. 省略“循環變量初始化”,可以在 for 語句之前由賦值語句進行變量初始化操作,如:
b. 省略“循環條件”,可能會造成循環將一直執行下去,也就是我們常說的“死循環”現象,如:
在編程過程中要避免“死循環”的出現,因此,對於上面的代碼可以在循環體中使用 break 強制跳出循環(關於 break 的用法會在後面介紹)。
c. 省略“循環變量變化”,可以在循環體中進行循環變量的變化,如:
2、 for 循環變量初始化和循環變量變化部分,可以是使用 “,” 同時初始化或改變多個循環變量的值,如:
代碼中,初始化變量部分同時對兩個變量 i 和 j 賦初值,循環變量變化部分也同時對兩個變量進行變化,運行結果:
3、 循環條件部分可以使用邏輯運算符組合的表達式,表示複雜判斷條件,但一定注意運算的優先級,如:
代碼中,必須同時滿足變量 i 小於 10 ,並且 i 不等於 5 時纔會進行循環,輸出變量 i 的值。
package javaapplication1;
public class JavaApplication1 {
public static void main(String[] args) {
int sum = 0; // 保存不能被3整除的數之和
// 循環變量 i 初始值爲 1 ,每執行一次對變量加 1,只要小於等於 100 就重複執行循環
for (int i = 1;i<=100;i++ ) {
// 變量 i 與 3 進行求模(取餘),如果不等於 0 ,則表示不能被 3 整除
if (i % 3 != 0) {
sum = sum + i; // 累加求和
}
}
System.out.println("1到100之間不能被3整除的數之和爲:" + sum);
}
}
五:Java循環跳轉語句之 break
生活中,我們經常會因爲某些原因中斷既定的任務安排。如在參加 10000 米長跑時,才跑了 500 米就由於體力不支,需要退出比賽。在 Java 中,我們可以使用 break 語句退出指定的循環,直接執行循環後面的代碼。
例如,使用循環輸出 1--10的數值,其中,如果數值大於 2 ,並且爲 3 的倍數則停止輸出。
實現代碼:
運行結果:
package javaapplication1;
public class JavaApplication1 {
public static void main(String[] args) {
// 保存累加值
int sum = 0;
// 從1循環到10
for (int i = 1; i <= 10; i++) {
// 每次循環時累加求和
sum = sum + i;
// 判斷累加值是否大於20,如果滿足條件則退出循環
if ( sum>20 ) {
System.out.print("當前的累加值爲:" + sum);
break;
//退出循環
}
}
}
}