Java初學者的精神食糧——程式基本結構
一、基本結構
Java語言中共有三種基本邏輯結構:順序結構、選擇結構、迴圈結構
1.順序結構
語句執行的基本順序按照各語句出現的位置先後順序執行。
2.選擇結構
選擇結構根據條件來控制程式碼的執行分支,也叫分支結構。包括兩種:if語句、switch語句。
-
if語句 if語句中的條件表示式可以是關係表示式、邏輯表示式、算術表示式等 ①單分支結構 if(條件表示式) 語句/語句塊 ②雙分支結構 if(條件表示式){ 語句/語句塊1; } else 語句/語句塊2; ③多分支結構 if(條件表示式1){ 語句/語句塊1; } else if(條件表示式2){ 語句/語句塊2; }… else if(條件表示式n){ 語句/語句塊n }else 語句/語句塊n+1; ④if語句的巢狀
-
switch語句 對於多重分支,雖然可以使用巢狀if語句來說實現switch語句是java 的多路分支語句,提供了一種基於一個表示式的值來使程式執行不同部分的簡單方法。 語法結構: switch (表示式){ case 值1 : 語句1 break; case 值2 : 語句2 break; … default : 語句n break; }
3.迴圈結構
迴圈結構是指重複執行某段程式直到一個結束條件出現。java有三種迴圈結構:for、while、do-while
-
for迴圈 for迴圈語句是計數型迴圈語句,一般用於已知迴圈次數的情況,所以也叫定次迴圈。 格式: for(初始語句;判斷語句;步進){ 語句塊; }
-
while迴圈 while迴圈語句當控制表示式為真時,while語句重複執行一個語句或語句塊。 格式: while(控制表示式){ 語句塊(迴圈體);}
-
do-while迴圈 do-while迴圈總是先執行迴圈體,然後再計算表示式,因此它的迴圈體至少被執行一次。 格式: do{ 語句塊(迴圈體); }while(表示式);
*4.跳轉語句
跳轉語句多用於無條件的轉移控制,使用跳轉語句執行分支,該語句會導致立即傳遞程式控制。跳轉語句有:break
- break語句 break語句一般用在switch語句中,用來終止一個語句序列,或用在迴圈結構中,用來退出一個迴圈。(直接結束所有的迴圈!) ①使用break退出迴圈 強制退出迴圈,忽略迴圈體中的任何其他語句和迴圈條件的測試。 ②帶標籤的break 終止一個或者幾個程式碼塊。要終止的程式碼塊開頭加break標籤即可。
- continue語句 結束當前迴圈,本趟迴圈,結束之後,後面的所有程式碼不執行 ①帶標籤的continue語句 用於多層迴圈中,標籤名定義在程式中外層迴圈語句的前面,用來標誌這個迴圈結構。 ②不帶標籤的continue語句 在while和do-while迴圈中,continue語句使控制直接轉轉移給控制迴圈的條件表示式,然後繼續迴圈過程。在for迴圈中,迴圈的反覆表示式被求值,然後執行表示式,迴圈繼續執行。
- return語句 return語句用來於終止方法的執行並將控制返回給呼叫方法。如果方法有返回型別,return語句必須返回這個型別的值;如果方法為void型別,應使用沒有表示式的return語句。
二、舉個栗子
1.用if語句判斷輸入的一個年份是不是閏年
閏年判斷:如果能整除4並且不能被100整除,或者能整除400
程式碼
public class TestDemo2 {
public static boolean isLeadYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
return true;
}
return false;
}
public static void main(String[] args) {
System.out.println("請輸入一個年份:");
Scanner scanner = new Scanner(System.in);//掃描類
int a = scanner.nextInt();//從鍵盤獲取數字
boolean flg = isLeadYear(a); //返回布林型別
System.out.println(isLeadYear(a));
}
}
實現結果:
2.判斷一個數是不是素數
程式碼:
public static boolean isPrime(int num) {
if (num == 1) {
System.out.println("數字1既不是素數也不是質數");
return false;
} else {
for (int i = 2; i < num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
public static void main(String[] args) {
System.out.println("請輸入一個數字:");
Scanner scanner = new Scanner(System.in);//掃描類
int a = scanner.nextInt();//從鍵盤獲取數字
boolean flg = isPrime(a);
System.out.println(isPrime(a));
}
}
實現結果: