1. 程式人生 > 其它 >語法結構

語法結構

語法結構

語法結構分為(流程控制)
順序結構

​ 是按照程式碼的先後順序載入的

分支結構

單分支if

if(值){
    程式碼1;
}else{
    程式碼2;
}

​ if是判斷語句,返回的是Boolean(true/false)

多分支switch

​ switch(值){

​ case 值1:

​ 程式碼1;

​ [break;] (可有可無的)

​ case 值2:

​ 程式碼2;

​ case 值3:

​ 程式碼3;

​ default:

​ 程式碼4;

​ };

​ 只能比較==的

​ 小括號裡的值是整點型別的(int short byte char)

​ if的好處(可以寫複雜的邏輯)壞處(執行的比較慢)

​ switch好處(判斷的效率更高) 壞處(只能做==(固定的))

​ 附加:程式碼規範

​ 1.可讀性(起名字要規範,程式碼縮排,多加註釋)

​ 2.健壯性(程式嚴謹 )

​ lib提供好的類庫,Scanner應用型別

寫法:Scanner  scanner = new Scanner(System.in);
	 int i = input.nextInt();

​ 可以在控制面板上面操作。可讀取我們輸入的文字。 input.nextInt()讀取的字串。

​ 隨機數:Math.random();

package com.swy.game;

import java.util.Scanner;

public class Game {
	public static void main(String[] args) {
		//1.隨即搖色子的過程  隨機產生一個骰子點數  1-6整數
		double value = Math.random();//doubled的取值範圍[0.0-1.0)
		int  num = (int)(value*6+1);
		//2.讓玩家猜大小
		Scanner input = new Scanner(System.in);
		System.out.println("買定離手");
		String choose = input.nextLine();//幫我們讀取輸入的文字
		//3.比較點數與猜測結果
		System.out.println("本次搖出的點數為:"+num);
		if ((num <= 3 && choose.equals("小")) || (num >3 && choose.equals("大"))){
			System.out.println("恭喜你 猜對了");
		}else {
			System.out.println("對不起 猜錯了");
		}
	}

}

迴圈結構

​ 重複不停的做同樣的事情

​ for while do……while

for迴圈:

​ 程式中想要執行一個正常的迴圈 需要滿足3個必要條件

​ 1.初始值 2.終點判定條件 3.變化量

​ for( 初始值 ; 終點判定條件 ; 變化量){

​ 好多好多程式碼;

​ }

package com.swy.game;
//通過迴圈找尋三位數字的水仙花數;
public class Flowers {
	public static void main(String[] args) {
		for (int num = 100; num < 1000; num++) {
			if (Math.pow(num/100, 3) + Math.pow(num%100/10,3) + Math.pow(num%10,3) == num){
				System.out.println(num+"是水仙花數");
			}
		}
	}
}

迴圈巢狀

在控制檯輸出:”* * * *“

​ “* * * *”

​ “* * * *”

​ “* * * *”

package com.swy.game;

public class Star {
	public static void main(String[] args) {
		int count  = 4;
		for (int i = 0; i <= 4; i++) {
			for (int j = 0; j < count; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

}
 

​ 在控制檯輸出:*

​ **

​ ***

package com.swy.game;

public class StarTow {
	public static void main(String[] args) {
		for (int i = 1; i <= 4; i++) {
			for (int j = 1; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}

}

兩個重要的關鍵字

​ break(終止 終斷)

​ cotinue(終斷本次迴圈 執行下一行迴圈)

兩個迴圈的結構

while迴圈

​ 初始值;

​ while(終點判斷條件){ //()裡只能有一個

​ 好多好多執行;

​ 變化量;

​ }

do...while迴圈

​ 初始值;

​ do{

​ 好多好多執行;

​ 變化量;

​ }while(終點判定條件){

​ }

while先判斷後執行 條件不滿足不執行

do...while先執行後判斷 條件不滿足 至少執行一次


package lianxi1;

public class ShuZu1 {
	public static void main(String[] args) {
		//氣泡排序----升序排序
		int[] array = new int[]{5,4,3,2,1};
		//迴圈
		for (int i = 1; i < array.length; i++) {//控制執行的輪次
			for (int j = array.length-1; j>=i; j--) {//控制比較次數 
				//判斷
				if (array[j] < array[j-1]) {
					int max = array[j];
					array[j] = array[j-1];
					array[j-1] = max;
				}
				
			}
		}
		for(int v : array ) {
			System.out.println(v);
		}
	}

}