Java - 6 語句

wajiez發表於2024-10-06

Java 6 語句

巢狀分支

最好不要超過三層

Switch分支

// 表示式對應一個值
switch(表示式){
    case 常量1:
        // 程式碼塊1
        break;
    case 常量2:
        // 程式碼塊2
        break;
    default:
        // 程式碼塊default
        break;
}

細節:

  1. 表示式和常量要麼型別一致,要麼可以自動轉換
  2. 表示式中的返回值必須是byte, short, int, char, enum, String
  3. default是可選的

for迴圈

// 執行次數 = 迴圈條件為假時迴圈變數的值 - 迴圈變數初始值
for(迴圈變數初始化; 迴圈條件; 迴圈變數迭代){
	// 迴圈體
}

細節:

  1. 迴圈條件返回一個boolean

  2. int i = 1;
    for(; i<=10; ){
        
        i++;
    }
    
  3. int count = 3;
    for (int i = 0, j = 0; i < count; i++, j+=2){
        
    }
    
  4. 先判斷再執行

while迴圈

迴圈變數初始化
while(迴圈條件){
	// 迴圈體
    // 迴圈變數迭代
}

細節:

  1. 先判斷再執行

do-while迴圈

迴圈變數初始化
do{
	// 迴圈體
    // 迴圈變數迭代
}while(迴圈條件)

細節:

  1. 先執行再判斷(至少執行一次)

巢狀迴圈

一般兩層,最多三層

break跳轉

hello:{
    abc:{
		break hello;
    }
}

細節:

  1. break可以指定退出哪層
  2. 一般不用
  3. 沒有標籤預設跳出最近的迴圈體

continue

退出當前這一次迴圈,開始下一次迴圈

label1:{
    label2:{
        continue label1;
    }
}

和break一樣

練習

金字塔

public class Stars {
	public static void main(String[] args) {
		// 迴圈輸出每一行
		for (int line = 0; line<6; line++){
			String kg = " ";
			String stars = "*";
			// 迴圈輸出空格
			int num = 4-line;
			while(num>0){
				kg += " ";
				num--;
			}
			// 迴圈輸出*
			int star = line*2+1;
			while(star>1){
				stars += "*";
				star--;
			}
            // 最後一行不用輸出空格
			if(line == 5){
				System.out.println(stars);
			}else{
				System.out.println(kg + stars);
			}
		}
	}	
}
for(int line = 1; line < 6; line++){ // line表示行
    // 列印空格,不換行
    for (int kg = 5-line; kg>0; kg--){
		System.out.print(" ");
    }
    // 列印stars,不換行
    for (int stars = line*2-1; stars>0; stars--){
        System.out.print("*");
    }
    // 換行
    System.out.println("");
}
D:\Java_code>java Test
     *
    ***
   *****
  *******
 *********
***********

空心金字塔

public class Starsair {
	public static void main(String[] args) {
		// 
		for (int line = 0; line<6; line++){
			String kg = " ";
			String stars = "*";
			// 
			int num = 4-line;
			while(num>0){
				kg += " ";
				num--;
			}
			// 
			int star = line*2+1-1;
			while(star>1){
				stars += " ";
				star--;
			}
			stars += "*";
			if(line == 5){
				System.out.println("***********");
			}else if(line == 0){
				System.out.println(kg + "*");
			}else{
				System.out.println(kg + stars);
			}
		}	
	}	
}
D:\Java_code>java Test
     *
    * *
   *   *
  *     *
 *       *
***********
public class StarsAir {
	public static void main(String[] args) {
		// 
		int totalNum = 10;
		for(int line = 1; line <= totalNum; line++){ 
		    // 
		    for (int kg = totalNum-line; kg>0; kg--){
				System.out.print(" ");
		    }
		    // 
		    for (int stars = line*2-1; stars>0; stars--){
		    	// 第一個位置,最後一個位置,最後一行輸出*
		        if(stars == line*2-1 || stars == 1 || line==totalNum){
					System.out.print("*");
		        }else{
		        	System.out.print(" ");
		        }
		    }
		    //
		    System.out.println("");
		}	
	}	
}

水仙花數

public class Flower {
	public static void main(String[] args) {
		int num = 150;
		int sum = 0;
		for(int temp = num; temp>0;temp/=10){
			int a =temp%10;
			sum += a*a*a;
		}
		if(sum == num) System.out.println("yes");
		else System.out.println("no");

	}	
}

注意分數!!!

public class Test {
	public static void main(String[] args) {
		// ***
        double sum = 0; 
		for(int i = 1; i<=100; i++){
			// ***
            double unit = 1.0/i; 
			if(i%2 == 0) sum -= unit;
			else sum +=unit;
		}
		System.out.println(sum);
	}	
}

相關文章