在一個程序執行的過程中,各條語句的執行順序對程序的結果是有直接影響的。所以,我們必須清楚每條語句的執行流程。而且,很多時候要通過控制語句的執行順序來實現我們想要的功能。
順序結構
分支結構(if, switch)
循環結構(for, while, do…while)
順序結構是程序中最簡單最基本的流程控制,沒有特定的語法結構,按照代碼的先后順序,依次執行,程序中大多數的代碼都是這樣執行的。
格式: if (關系表達式) { 語句體; }
執行流程:
①首先計算關系表達式的值
②如果關系表達式的值為true就執行語句體
③如果關系表達式的值為false就不執行語句體
④繼續執行后面的語句內容
示例:

public class IfDemo { public static void main(String[] args) { System.out.println("開始"); // 如果年齡大於18歲, 就可以上網吧 int age = 17; if(age >= 18){ // int a = 10; System.out.println("可以上網吧"); } System.out.println("結束"); } }
格式: if (關系表達式) { 語句體1; } else { 語句體2; }
執行流程:
①首先計算關系表達式的值
②如果關系表達式的值為true就執行語句體1
③如果關系表達式的值為false就執行語句體2
示例:奇偶數
任意給出一個整數,請用程序實現判斷該整數是奇數還是偶數,並在控制台輸出該整數是奇數還是偶數。
public class Demo2If { public static void main(String[] args) { // 程序判斷一個數, 是奇數還是偶數 int num = 9; if(num % 2 == 0){ System.out.println("偶數"); }else{ System.out.println("奇數"); } } }
格式: if (關系表達式1) { 語句體1; } else if (關系表達式2) { 語句體2; } … else { 語句體n+1; }
執行流程:
①首先計算關系表達式1的值
②如果值為true就執行語句體1;如果值為false就計算關系表達式2的值
③如果值為true就執行語句體2;如果值為false就計算關系表達式3的值
④…
⑤如果沒有任何關系表達式為true,就執行語句體n+1。

/* 示例: 定義一個在0~100之間的變量a, 90~100優秀,80~89良好,70~79中等,60~69及格,0~59請努力加油! */ public class Demo3If { public static void main(String[] args){ int score = 65; if(score >= 90 && score <= 100){ System.out.println("優秀"); }else if (score >= 80 && score <= 89){ System.out.println("良好"); }else if (score >= 70 && score <= 79){ System.out.println("中等"); }else if (score >= 60 && score <= 69){ System.out.println("及格"); }else if (score >= 0 && score <= 59){ System.out.println("請努力加油"); }else{ System.out.println("成績有誤!"); } } }

/*需求:小明快要期末考試了,小明爸爸對他說,會根據他不同的考試成績,送他不同的禮物,假如你可以控制小明的得分,請用程序實現小明到底該獲得什么樣的禮物,並在控制台輸出。 分析: ①小明的考試成績未知,可以使用鍵盤錄入的方式獲取值 ②由於獎勵種類較多,屬於多種判斷,采用if...else...if格式實現 ③為每種判斷設置對應的條件 ④為每種判斷設置對應的獎勵 */ import java.util.Scanner; public class IfTest02 { public static void main(String[] args){ // 1. 使用Scanner錄入考試成績 Scanner sc = new Scanner(System.in); System.out.println("請輸入您的成績:"); int score = sc.nextInt(); // 2. 判斷成績是否在合法范圍內 0~100 if(score >=0 && score <= 100){ // 合法成績 // 3. 在合法的語句塊中判斷成績范圍符合哪一個獎勵 if(score >= 95 && score <= 100){ System.out.println("自行車一輛"); }else if(score >= 90 && score <= 94){ System.out.println("游樂場一次"); }else if(score >= 80 && score <= 89){ System.out.println("變形金剛一個"); }else { System.out.println("挨頓揍, 這座城市又多了一個傷心的人~"); } }else{ // 非法的話, 給出錯誤提示 System.out.println("您的成績輸入有誤!"); } } }