順序結構,if語句的使用--學習筆記--07

1. If語句格式1:適用於單個判斷
If(關係表達式){
語句體
}
執行流程:
首先判斷關係表達式的結果是true還是false
如果是true就執行語句體
如果是false就不執行語句體

int x=10;
	if(x==10) {
		System.out.println("x=10");
	}
	if(x==20) {
 		System.out.println("x=20");
 	}
     System.out.println("over");
   	}

在這裏插入圖片描述

小結:
(1)關係表達式無論複雜還是簡單,結果必須是Boolean類型;
(2)If語句控制的語句體如果是一條語句,大括號可以省略,多條不能省略。
一般來說,有左大括號就沒有分號,有分號就沒有左大括號;

int x=10;
	if(x!=10);//這裏其實是有語句體,只不過是空語句體
	//代碼塊
	{
		System.out.println("x=10");
		 System.out.println("over");
	}

2.If語句格式2:適用於兩個判斷
If(關係表達式){
語句體1;
}else{
語句體2;
}

執行流程:
首先判斷關係表達式的結果是true還是false;
如果是true就執行語句體1;
如果是false就不執行語句體2;
else後面沒有表達式,只有if後面有。
舉例如下:

public static void main(String[] args) {
	int x=30;
	int y =20;
	if(x==y)
	{
		System.out.println("x=y");
	}else
	System.out.println("over");
     

在這裏插入圖片描述

舉例1.:獲取兩個數中較大值
方法一:

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(a>b)
	{
		System.out.println("a");
     }else
	System.out.println("b");
     }

在這裏插入圖片描述
方法二:

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();
	int max;
	if(a>b)
	{
		max=a;
     }else{//else後面沒有表達式,只有if後面有
	max=b;
     }
	System.out.println("max:"+max);
   }

在這裏插入圖片描述
方法三

int a=13;
	int b=43;
	int max=(a>b)?a:b;
	 System.out.println("max"+max);

小結:
三元運算實現的都可以用if實現,反之不成立;
爲什麼呢,因爲三元運算符是一個運算符,運算符操作完畢就應該有一個結果,而不是一個輸出。

舉例2.:判斷一個是奇數還是偶數

public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	System.out.println("請輸入你要判斷的數據");
	int a=sc.nextInt();
	if(a%2==0)
	{
		System.out.println(a+"是偶數");
     }else
     {
    	 System.out.println(a+"是奇數");
     }
   }

在這裏插入圖片描述

3.If語句第三種格式:適用於多個判斷
If(關係表達式1){
語句體1;
}else(關係表達式2){
語句體2;
}
……
Else{
語句體n+1;
}
執行流程:
首先判斷關係表達式的結果是true還是false
如果是true就執行語句體1
如果是false就繼續判斷關係表達式2,看其結果是true還是false
如果是true就執行語句體2
如果是false就繼續判斷關係表達式……,看其結果是true還是false
……
如果沒有任何關係表達式爲true,就執行語句體n+1。
舉例3.:鍵盤錄入一個成績,判斷成績的等級
90-100 優秀
80=90 好
70-80 良
60-70 及格
50-60 不及格

public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	System.out.println("請輸入你的考試成績");
	int score=sc.nextInt();
	if(score>=90&&score<=100){
		System.out.println("優秀");
     }else if(score>=80&&score<90){
    	 System.out.println("好");
     }
     else if(score>=70&&score<80){
    	 System.out.println("良"); 
     }
     else if(score>=60&&score<70){
    	 System.out.println("及格"); 
     }
     else if(score>=0&&score<60){
    	 System.out.println("不及格"); 
     }
     else {
    	 System.out.println("您輸入的數據有誤,請重新輸入"); 
     }
   }

在這裏插入圖片描述

舉例4.:鍵盤錄入x的值,計算出y的值並輸出。
x>=3 y=2x+1
-1<x<3 y=2x
x<=-1,y=2x-1

public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	System.out.println("請輸入x");
	int x=sc.nextInt();
	
	int y;
	if(x>=3) {
		y=2*x+1;
	}
	else if(-1<=x&&x<3) {
		y=2*x;
	}
	else {
		y=2*x-1;
	}
	System.out.println("y="+y);
   }

在這裏插入圖片描述

舉例5.:鍵盤錄入月份的值,並輸出對應季節
春 3 4 5
夏6 7 8
秋9,10,11
冬12,1,2

方法一:

public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	System.out.println("請輸入月份");
	int month=sc.nextInt();
	if(month<1||month>12) {
		System.out.println("你輸入的月份有誤");
	}
	else if(month==12||month==1||month==2) {
		System.out.println("冬季");
	}
	else if(month==3||month==4||month==5) {
		System.out.println("春季");
	}
	else if(month==6||month==7||month==8) {
		System.out.println("夏季");
	}
	else if(month==9||month==10||month==11) {
		System.out.println("秋季");
	}

方法二:

public static void main(String[] args) {
	Scanner sc=new Scanner(System.in);
	System.out.println("請輸入月份");
	int month=sc.nextInt();
	if(month<1||month>12) {
		System.out.println("你輸入的月份有誤");
	}
	
	else if(month>=3&&month<=5) {
		System.out.println("春季");
	}
	else if(month>=6&&month<=8) {
		System.out.println("夏季");
	}
	else if(month>=9&&month<=11) {
		System.out.println("秋季");
	}
	else  {
		System.out.println("冬季");
	}
   }

在這裏插入圖片描述

小結:
If語句使用場景:
(1)針對表達式是布爾類型;
(2)針對一個範圍的判斷。

舉例6.:獲取三個數最大值。
主要說明 if 是可以嵌套使用。

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();
	System.out.println("請輸入第三個數據");
	int c=sc.nextInt();
	int max;
	if(a>b) {
		if(a>c)
			max=a;
	}else {
		max=c;
		if(b>c) {
				max=b;
		}else {
			max=c;
		}
		System.out.println(max);
	}
 }
}

在這裏插入圖片描述

發佈了24 篇原創文章 · 獲贊 4 · 訪問量 1746
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章