iT邦幫忙

2021 iThome 鐵人賽

DAY 4
0
自我挑戰組

菜雞的JAVA日記系列 第 4

DAY4-JAVA的選擇性敘述與迴圈

如果是初學者,今天就進到了很像programmer的地方啦~~/images/emoticon/emoticon08.gif

1.if敘述
這是前面幾天介紹過的if用法,他會根據判斷條件,來決定是否執行後面的敘述。

if(判斷條件){
敘述主體;
}

如果if敘述中只有一個敘述的話,則可以省略左右大括號。

2.if-else敘述
當程式中有分歧的判斷敘述時,就可以使用if-else敘述來處理。

if(判斷條件){
敘述主體1;
}
else{
敘述主體2;
}

if(i==1){
    System.out.println("Keep going!");
}else{
    System.out.println("Stop here!");
}    

3.巢狀if
如果if中又包含其他if敘述的話,就稱為巢狀if敘述。

if(判斷條件1){
if(判斷條件2){
敘述主體;
}
...
}

if(i%6==0){
   if(i%2==0){
    System.out.println("i is an even number.");
   }
}    

4.條件運算子
以下是簡潔版的if,可以用來代替if-else!
此外,根據經驗,用這樣的寫法在刷Leetcode題目時,可以減少runtime喔!

變數 = 判斷條件 ? 運算式1 : 運算式2 ;

max = (i>j) ? i : j ;
//i是否大於j,"是"就執行i;"不是"就執行j

5.for迴圈
知道迴圈要執行幾次,就可以使用for迴圈。

for(設定迴圈初值;判斷條件;設定增減量){
迴圈主體;
}

for(int i=0;i<100;i++){
    int sum = 0;
    sum+=i;     //計算sum = sum+i
}

6.while迴圈
不知道迴圈要執行多少次,就可以考慮使用while迴圈或是do while迴圈。

設定迴圈初值;
while(判斷條件){
迴圈主體;
設定增減量;
}

while(i<100){
    System.out.println("i is smaller than 100.");
    //i 是一個小於100的數
}

7.do while迴圈
和while迴圈不同的是,do while迴圈一定**至少會執行一次**迴圈主體。

設定迴圈初值;
do{
迴圈主體;
設定增減量;
}while(判斷條件);
不要忘記最後的分號!!!

do{
    int i = 0;
    i++;
}while(i<100);

8.巢狀for迴圈
迴圈敘述中又有其他迴圈敘述時,就稱為巢狀迴圈(nested loop。)

for(int i=0;i<100;i++){
    for(int j=0;j<100;j++){
        int temp = 0;
        temp = i;
        i = j;
        j = temp;
      }
}       

9.break敘述
break敘述可以強迫跳離迴圈。

for(設定初值;判斷條件;設定增減量){
敘述1;
敘述2;
...
break;//遇到break會直接跳離程式,break以後的部分就不會被執行到
...
}

if(i%2==0){
    break; //可以被2整除直接跳離
}       

10.continue敘述
可以強迫程式跳到迴圈的起頭,當程式執行到continue敘述時,即會停止執行剩餘的迴圈主體,而回到迴圈的開始處繼續執行。

for(設定初值;判斷條件;設定增減量){
敘述1;
敘述2;
...
continue;
//遇到continue會直接跳到起頭的for迴圈,continue以後的部分就不會被執行到
...
}

if(i%2==0){
    contunue; //可以被2整除跳回起頭
}       

11.switch敘述
switch敘述可以將多選一的情況簡化,讓程式更容易閱讀。

switch(運算式){
case 選擇值1;
敘述主體1;
break;
case 選擇值2;
敘述主體2;
break;
...
case 選擇值n;
敘述主體n;
break;
default:
敘述主體;
}
如果沒有在case的最後加上break,程式就會一直執行到switch尾端才離開!

switch(number){
   case 1;
        System.out.println("This is number one.");
        break;
   case 2;
        System.out.println("This is number two.");
        break;
   default:
        System.out.println("This is neither one nor two.");

菜鳥工程師的體脂肪

菜鳥工程師也有分享食記,歡迎大家追蹤喔~~
https://instagram.com/engineer_bodyfat?utm_medium=copy_link

發現打這個最難的是程式的舉例XDD
明天見~~:))


上一篇
DAY3-JAVA的運算子和運算式
下一篇
DAY5-JAVA的陣列
系列文
菜雞的JAVA日記30

尚未有邦友留言

立即登入留言