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