一.除號(hào)問題
//我們先來看看整型除整型
System.out.println(10/4);
//你覺得它會(huì)等于多少? 2.5?
//我們可以嘗試運(yùn)行一下,你會(huì)發(fā)現(xiàn)結(jié)果是 2,是不是很震驚?
//我們?cè)賮砜纯锤↑c(diǎn)型除整型
System.out.println(10.0/4);
//你覺得這個(gè)結(jié)果又會(huì)是啥? 2?
//我們?cè)俅螄L試一下可以發(fā)現(xiàn),結(jié)果為 2.5,就是正常的運(yùn)算結(jié)果
為什么會(huì)這樣子呢?
因?yàn)樵贘ava中,運(yùn)算的結(jié)果是由運(yùn)算數(shù)中范圍最大的類型來決定的
那么int類型之間的相互運(yùn)算只有int類型,double和int類型進(jìn)行運(yùn)算的話,輸出就是double了
二.模/取余(%)
我們經(jīng)常在進(jìn)行模運(yùn)算的時(shí)候分不清結(jié)果正負(fù)號(hào)的問題,我們接下來來探討一下:
我們分別用正負(fù)號(hào)相互運(yùn)算
System.out.println(10 % 3); //結(jié)果1
System.out.println(-10 % 3); //結(jié)果-1
System.out.println(10 % -3); //結(jié)果1
System.out.println(-10 % -3); //結(jié)果-1
我們可以從這些結(jié)果得出,貌似結(jié)果的正負(fù)值只與第一位數(shù)有關(guān)
事實(shí)也正是如此,結(jié)果的正負(fù)值與后面值的正負(fù)沒有關(guān)系,實(shí)在分不清我們可以套用一下公式:
//公式 a % b = a - a/b * b
int i = -10 - (-10)/(-3)*-3;
//可以多操作一下看看是不是這個(gè)結(jié)果
System.out.println("i=" + i); //結(jié)果為-1
System.out.println(-10.5 % 3); //結(jié)果-1.5
三.對(duì)于除和模的應(yīng)用
1.定義一個(gè)變量保存華氏度,請(qǐng)求出華氏溫度對(duì)應(yīng)的攝氏溫度
華氏度與攝氏度轉(zhuǎn)換公式: 5/9*(華氏度-100)
Scanner scanner = new Scanner(System.in);
System.out.print("請(qǐng)輸入華氏溫度:");
double hua = scanner.nextDouble();
she = 5.0/9.0*(hua -100.0);
System.out.println(she);
大家可以試一試,我覺得還是挺有意思的