1. 程式人生 > >03 條件判斷與迴圈語句

03 條件判斷與迴圈語句

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);
	}
}