二、基礎(chǔ)語(yǔ)法(day2)
5衷笋、運(yùn)算符
-
算數(shù)運(yùn)算符:+芳杏、-、辟宗、/爵赵、%、++泊脐、--空幻、
( a%b=a-(a/b)b ) - 關(guān)系運(yùn)算符:== 、容客!=秕铛、>、<缩挑、>=但两、<=
- ① >、<供置、>=谨湘、<=運(yùn)算符的優(yōu)先級(jí)別高于== 、芥丧!=悲关。
- ② >、<娄柳、>=寓辱、<=運(yùn)算符值支持?jǐn)?shù)據(jù)類(lèi)型的數(shù)據(jù)比較。
- 邏輯運(yùn)算符:&赤拒、|秫筏、^诱鞠、!这敬、&& 航夺、 ||
- ① 操作數(shù)據(jù)類(lèi)型只能是布爾類(lèi)型,操作結(jié)果也是布爾值崔涂。
優(yōu)先級(jí)別:阳掐! > & > ^異或 > | > && > || 。 - ②&冷蚂、| 與 &&缭保、|| 的區(qū)別
&和|運(yùn)算是把邏輯表達(dá)式全部計(jì)算完,而&&和||運(yùn)算具有短路計(jì)算功能蝙茶。即系統(tǒng)從左至右進(jìn)行邏輯表達(dá)式的計(jì)算艺骂,一旦出現(xiàn)計(jì)算結(jié)果已經(jīng)確定的情況,則計(jì)算過(guò)程即被終止隆夯。短路計(jì)算功能可以提高程序的運(yùn)行速度钳恕。 - ③ 異或:^兩值相同結(jié)果為false,兩值不同結(jié)果為true蹄衷。
位運(yùn)算符:&位與忧额、|位或、~位非愧口、^位異或宙址、>>右移、<<左移
賦值運(yùn)算符:=调卑、+=抡砂、-=、*=恬涧、/=注益、%=
-
三目運(yùn)算符:表達(dá)式1?表達(dá)式2:表達(dá)式3
eg:int a=1,b=2,max;
max=a>b?a:b;
//max等于2
//三目運(yùn)算符練習(xí)
import java.util.*;
public class CompareDemo {
public static void main(String[] args){
double first;
double second;
Scanner scanner=new Scanner(System.in);
System.out.print("請(qǐng)輸入第一個(gè)數(shù):");
first=scanner.nextDouble();
System.out.print("請(qǐng)輸入第二個(gè)數(shù):");
second=scanner.nextDouble();
System.out.println("最小值為:"+(first<second?first:second));
}
}
//CompareDemo運(yùn)行結(jié)果:
請(qǐng)輸入第一個(gè)數(shù):4
請(qǐng)輸入第二個(gè)數(shù):6
最小值為:4.0
- 運(yùn)算符的優(yōu)先級(jí):
優(yōu)先級(jí) | 運(yùn)算符 | 描述 |
---|---|---|
1 | () | 括號(hào) |
2 | +溯捆、- | 正負(fù)號(hào) |
3 | ++丑搔、- -、提揍! | 單目運(yùn)算符 |
4 | *啤月、/、% | 乘劳跃、除谎仲、取余 |
5 | +、- | 加減 |
6 | <<刨仑、>>郑诺、>>> | 移位運(yùn)算 |
7 | <<夹姥、>>、>辙诞、>= | 比較大小 |
8 | ==辙售、!= | 是否相等 |
9 | & | 按位于運(yùn)算 |
10 | ^ | 按位異或運(yùn)算 |
11 | | | 按位或運(yùn)算 |
12 | && | 非簡(jiǎn)潔邏輯與運(yùn)算 |
13 | 雙豎線 | 非簡(jiǎn)介邏輯或運(yùn)算 |
14 | = | 賦值運(yùn)算 |
【
左移:5<<2 將值5轉(zhuǎn)換為二進(jìn)制101后飞涂,左移2位旦部,右邊自動(dòng)補(bǔ)0,即10100较店,計(jì)算得20
右移:x>>y 正數(shù):將值x的二進(jìn)制右移y位士八,左邊自動(dòng)補(bǔ)y個(gè)0
負(fù)數(shù):將值x的二進(jìn)制右移y位,左邊自動(dòng)補(bǔ)y個(gè)1
無(wú)符號(hào)右移:>>> 無(wú)論正數(shù)還是負(fù)數(shù)泽西,移動(dòng)后都自動(dòng)補(bǔ)0
】
總結(jié):
〔芰濉① 單目運(yùn)算符包括缰趋!捧杉、^、++秘血、- -優(yōu)先級(jí)別高
∥抖丁② 優(yōu)先級(jí)別最低的是賦值運(yùn)算符
③ ()優(yōu)先級(jí)最高灰粮,可通過(guò)()控制表達(dá)式的運(yùn)算順序仔涩。
④ 從右向左結(jié)合性的只有賦值運(yùn)算符粘舟、三目運(yùn)算符和多目運(yùn)算符熔脂。
⑤ 算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符
//練習(xí)運(yùn)算符
public class Test {
public static void main(String[] args) {
int i=0;
double x=2.3;
System.out.println("Result 1:"+(--i+i+i++));
System.out.println("Result 2:"+(i+++i));
i+=i+(i=4);
System.out.println("Result 3:"+i);
i=3+3*2%i--;
System.out.println("Result 4:"+i);
x=x++;
System.out.println("Result 5:"+x);
x+=1.2*3+x++;
System.out.println("Result 6:"+x);
x=x%3+4*2+x--;
System.out.println("Result 7:"+x);
}
}
//運(yùn)行結(jié)果
Result 1:-3
Result 2:1
Result 3:6
Result 4:3
Result 5:2.3
Result 6:8.2
Result 7:18.4
6柑肴、鍵盤(pán)輸入
使用Scanner可以接收用戶鍵盤(pán)輸入的字符霞揉。
步驟:
①導(dǎo)入Scanner類(lèi):
Import java.util.*;
②創(chuàng)建Scanner對(duì)象:
Scanner input=new Scanner(System.in);
③獲得鍵盤(pán)輸入的數(shù)據(jù)
int n=input.nextInt();
String m=input.next();