03 條件判斷與迴圈語句
阿新 • • 發佈:2018-11-23
03.01_順序結構的基本使用
順序結構概述
是程式中最簡單最基本的流程控制,沒有特定的語法結構,按照程式碼的先後順序,依次執行,程式中大多數的程式碼都是這樣執行的
順序流程流程圖
程式碼案例一
package com.itheima_01; /* * 順序結構:從上往下,依次執行 */ public class OrderDemo { public static void main(String[] args) { System.out.println("開始"); System.out.println("語句A"); System.out.println("語句B"); System.out.println("語句C"); System.out.println("結束"); } }
03.02_if語句格式1的基本使用
If語句格式1及執行流程
if語句第一種格式:
if(關係表示式) {
語句體
}
執行流程:
首先判斷關係表示式看其結果是true還是false
如果是true就執行語句體
如果是false就不執行語句體
if語句格式1執行流程圖
程式碼案例二
package com.itheima_02; /* * if語句有三種格式。 * if語句格式1: * if(關係表示式) { * 語句體; * } * 執行流程: * A:首先判斷關係表示式看其結果是true還是false * B:如果是true,就執行語句體 * C:如果是false,就不執行語句體 */ public class IfDemo { public static void main(String[] args) { System.out.println("開始"); // 定義兩個變數 int a = 10; int b = 20; if (a == b) { System.out.println("a等於b"); } int c = 10; if (a == c) { System.out.println("a等於c"); } System.out.println("結束"); } }
03.03_if語句格式2的基本使用
If語句格式2及執行流程
if語句第二種格式:
if(關係表示式) {
語句體1;
}else {
語句體2;
}
執行流程
首先判斷關係表示式看其結果是true還是false
如果是true就執行語句體1
如果是false就執行語句體2
if語句格式2執行流程圖
程式碼案例三
package com.itheima_02; /* * if語句格式2: * if(關係表示式) { * 語句體1; * }else { * 語句體2; * } * 執行流程: * A:判斷關係表示式的值是true還是false * B:如果是true,就執行語句體1 * C:如果是false,就執行語句體2 */ public class IfDemo2 { public static void main(String[] args) { System.out.println("開始"); // 判斷給定的資料是奇數還是偶數 // 定義變數 int a = 100; // 給a重新賦值 a = 99; if (a % 2 == 0) { System.out.println("a是偶數"); } else { System.out.println("a是奇數"); } System.out.println("結束"); } }
03.04_if語句格式3的基本使用
If語句格式3及執行流程
if語句第三種格式:
if(關係表示式1) {
語句體1;
}else if (關係表示式2) {
語句體2;
}
…
else {
語句體n+1;
}
執行流程
首先判斷關係表示式1看其結果是true還是false
如果是true就執行語句體1
如果是false就繼續判斷關係表示式2看其結果是true還是false
如果是true就執行語句體2
如果是false就繼續判斷關係表示式…看其結果是true還是false
…
如果沒有任何關係表示式為true,就執行語句體n+1
if語句格式3執行流程圖
程式碼案例四
package com.itheima_02; /* * if語句格式3: * if(關係表示式1) { * 語句體1; * }else if(關係表示式2) { * 語句體2; * }else if(關係表示式3) { * 語句體3; * } * ... * else { * 語句體n+1; * } * * 執行流程: * A:首先判斷關係表示式1看其結果是true還是false * B:如果是true,就執行語句體1 * 如果是false,就繼續進行關係表示式2的判斷看其結果是true還是false * C:如果是true,就執行語句體2 * 如果是false,就繼續進行關係表示式...的判斷看其結果是true還是false * ... * D:如果沒有一個為true的,就執行語句體n+1 * * if語句的三種格式: * 第一種格式適合做一種情況的判斷 * 第二種格式適合做二種情況的判斷 * 第三種格式適合做多種情況的判斷 */ public class IfDemo3 { public static void main(String[] args) { // x和y的關係滿足如下: // x>=3 y = 2x + 1; // -1<=x<3 y = 2x; // x<=-1 y = 2x – 1; // 根據給定的x的值,計算出y的值並輸出。 // 定義變數 int x = 5; /* int y; if (x >= 3) { y = 2 * x + 1; } else if (x >= -1 && x < 3) { y = 2 * x; } else if (x <= -1) { y = 2 * x - 1; }else { y = 0; } */ int y = 0; if (x >= 3) { y = 2 * x + 1; } else if (x >= -1 && x < 3) { y = 2 * x; } else if (x <= -1) { y = 2 * x - 1; } System.out.println("y的值是:"+y); } }
03.05_if語句練習之獲取兩個資料的最大值
程式碼案例五
package com.itheima_02; import java.util.Scanner; /* * 鍵盤錄入兩個資料,獲取這兩個資料的較大值 * 分析: * A:看到鍵盤錄入,我們就應該想到鍵盤錄入的三步驟 * 導包,建立物件,接收資料 * B:獲取這兩個資料的較大值,其實就是判斷兩個資料誰大,把大的輸出就可以了。 * 導包: * A:手動導包 * import java.util.Scanner; * B:滑鼠點選紅色叉叉,自動生成 * C:快捷鍵(推薦) * ctrl+shift+o */ public class IfTest { public static void main(String[] args) { //建立物件 Scanner sc = new Scanner(System.in); //接收資料 System.out.println("請輸入第一個資料:"); int a = sc.nextInt(); System.out.println("請輸入第二個資料:"); int b = sc.nextInt(); //採用if語句格式2實現 /* if(a>b){ System.out.println("較大的值是:"+a); }else { System.out.println("較大的值是:"+b); } */ //拿到較大的值之後,我未必想直接輸出,所以我們定義變數接收這個較大的值 int max; if(a>b){ max = a; }else { max = b; } //可能做其他的操作 //max += 100; System.out.println("較大的值是:"+max); } }