從0學Java之關系運算以及判斷
計算機的智能是建筑在規則的基礎上的,在遇到情況的時候,根據事先制定的規則做出判斷,是計算機最基本的能力。
這篇文章的內容將講解以下知識點:
①比較和關系運算,②判斷語句
①比較和關系運算
能做判斷的基礎,是能對數據做比較,比較就是關于兩個數據是否相等、誰大誰小的結論,這需要用到關系運算:對兩個數據之間的關系的計算。
Java提供了六個關系運算符:
- ==相等
- !=不相等
- >大于
- >=大于或等于
- <小于
- <=小于或等于
注意其中有兩個字符的運算符:==、>=和<=的兩個字符必須緊緊連在一起,中間不能插入空格。
關系運算的結果是一個邏輯值,邏輯值只有兩種可能的值:true(真,表示成立)或false(假,表示不成立)。
當兩個值的關系符合關系運算符的預期時,關系運算的結果為true,否則為false。
案例:簡易自動售賣機,在售賣機買一瓶快樂肥仔水,投入對應的錢,售賣機出售商品,找零。
//初始化
Scanner in = new Scanner(System.in);
//讀入投幣金額
System.out.println("請投幣:");
int amount = in.nextInt();
//打印購物小票
System.out.println("*****************");
System.out.println("* 可口可樂 *");
System.out.println("* 一罐 *");
System.out.println("* 售價:4元 *");
System.out.println("*****************");
// 計算并打印找零
System.out.println("找零:" + (amount-4));
大家看到按照這個代碼去寫,投入10塊錢,出了一張購物小票,還找了6塊錢,感覺這個程序寫的還挺合理,但如果是投入3塊錢,程序會顯示什么呢?
找零:-1,顯然這個程序不合理,這個時候就需要修改一下程序了,那就提前讓程序做個判斷,判斷輸入的數字是不是大于等于4
//初始化
Scanner in = new Scanner(System.in);
//讀入投幣金額
System.out.println("請投幣:");
int amount = in.nextInt();
System.out.println(amount >= 4);
//打印購物小票
System.out.println("*****************");
System.out.println("* 可口可樂 *");
System.out.println("* 一罐 *");
System.out.println("* 售價:4元 *");
System.out.println("*****************");
// 計算并打印找零
System.out.println("找零:" + (amount-4));
這個時候可以看到,系統判斷出 false ,ok,咱們進一步優化這個案例:根據比較的結果,決定做、還是不做某些動作,就要用到if語句。
②判斷語句
一個基本的if語句由一個關鍵字if開頭,跟上在括號里的一個表示條件的邏輯表達式,然后是一對大括號“{}”之間的若干條語句。
如果表示條件的邏輯表達式的結果為true,那么就執行后面跟著的這對大括號中的語句,否則就跳過這些語句不執行,而繼續下面的其他語句。
有的時候我們希望在條件成立的時候做一件事情,而在條件不成立的時候做另外一件事情。
這可以在if語句后面跟上一個else子句,形成一個if-else語句。
注:寫if語句,一定要學會做流程圖,要不會亂
//初始化
Scanner in = new Scanner(System.in);
//讀入投幣金額
System.out.println("請投幣:");
int amount = in.nextInt();
if(amount >= 4)
{
//打印購物小票
System.out.println("*****************");
System.out.println("* 可口可樂 *");
System.out.println("* 一罐 *");
System.out.println("* 售價:4元 *");
System.out.println("*****************");
// 計算并打印找零
System.out.println("找零:" + (amount-4));
}
else
{
System.out.println("請繼續投幣");