1:運(yùn)算符(掌握)
(1)算術(shù)運(yùn)算符
A:+,-,*,/,%,++,--
B:+的用法
a:加法
b:正號(hào)
c:字符串連接符
C:/和%的區(qū)別
數(shù)據(jù)做除法操作的時(shí)候,/取得是商,%取得是余數(shù)
D:++和--的用法
a:他們的作用是自增或者自減
b:使用
**單獨(dú)使用
放在操作數(shù)據(jù)的前面和后面效果一樣镜沽。
a++或者++a效果一樣妈橄。
**參與操作使用
放在操作數(shù)的前面:先自增或者自減媒鼓,再參與操作
int a = 10;
int b = ++a;
放在操作數(shù)的后面:先參與操作宵晚,再自增或者自減
int a = 10;
int b = a++;
(2)賦值運(yùn)算符
A:=,+=,-=,*=,/=,%=等
B:=叫做賦值運(yùn)算符闺鲸,也是最基本的賦值運(yùn)算符
int x = 10; 把10賦值給int類型的變量x瞻赶。
C:擴(kuò)展的賦值運(yùn)算符的特點(diǎn)
隱含了自動(dòng)強(qiáng)制轉(zhuǎn)換赛糟。
面試題:
short s = 1;
s = s + 1;
short s = 1;
s += 1;
請(qǐng)問上面的代碼哪個(gè)有問題?
(3)比較運(yùn)算符
A:==,!=,>,>=,<,<=
B:無論運(yùn)算符兩端簡(jiǎn)單還是復(fù)雜最終結(jié)果是boolean類型。
C:千萬不要把==寫成了=
(4)邏輯運(yùn)算符
A:&,|,^,!,&&,||
B:邏輯運(yùn)算符用于連接boolean類型的式子
C:結(jié)論
&:有false則false
|:有true則true
^:相同則false砸逊,不同則true璧南。
情侶關(guān)系。
!:非true則false师逸,非false則true
&&:結(jié)果和&是一樣的司倚,只不過有短路效果。左邊是false篓像,右邊不執(zhí)行动知。
||:結(jié)果和|是一樣的,只不過有短路效果员辩。左邊是true盒粮,右邊不執(zhí)行。
(5)位運(yùn)算符(了解)
A:^的特殊用法
一個(gè)數(shù)據(jù)針對(duì)另一個(gè)數(shù)據(jù)位異或兩次奠滑,該數(shù)不變
B:面試題
a:請(qǐng)實(shí)現(xiàn)兩個(gè)變量的交換
**采用第三方變量
**用位異或運(yùn)算符
左邊a,b,a
右邊a^b
b:請(qǐng)用最有效率的方式計(jì)算出2乘以8的結(jié)果
2<<3
(6)三元運(yùn)算符
A:格式
比較表達(dá)式?表達(dá)式1:表達(dá)式2;
B:執(zhí)行流程:
首先計(jì)算比較表達(dá)式的值丹皱,看是true還是false。
如果是true养叛,表達(dá)式1就是結(jié)果种呐。
如果是false,表達(dá)式2就是結(jié)果弃甥。
C:案例:
a:比較兩個(gè)數(shù)據(jù)是否相等
b:獲取兩個(gè)數(shù)據(jù)中的最大值
c:獲取三個(gè)數(shù)據(jù)中的最大值
2:鍵盤錄入(掌握)
(1)實(shí)際開發(fā)中爽室,數(shù)據(jù)是變化的,為了提高程序的靈活性,我們加入鍵盤錄入數(shù)據(jù)阔墩。
(2)如何實(shí)現(xiàn)呢?目前就記住
A:導(dǎo)包
import java.util.Scanner;
位置:在class的上邊
B:創(chuàng)建對(duì)象
Scanner sc = new Scanner(System.in);
C:獲取數(shù)據(jù)
int x = sc.nextInt();
(3)把三元運(yùn)算符的案例加入鍵盤錄入改進(jìn)嘿架。
3:流程控制語句
(1)順序結(jié)構(gòu) 從上往下,依次執(zhí)行
(2)選擇結(jié)構(gòu) 按照不同的選擇啸箫,執(zhí)行不同的代碼
(3)循環(huán)結(jié)構(gòu) 做一些重復(fù)的代碼
4:if語句(掌握)
(1)三種格式
A:格式1
if(比較表達(dá)式) {
語句體;
}
執(zhí)行流程:
判斷比較表達(dá)式的值耸彪,看是true還是false
如果是true,就執(zhí)行語句體
如果是false忘苛,就不執(zhí)行語句體
B:格式2
if(比較表達(dá)式) {
語句體1;
}else {
語句體2;
}
執(zhí)行流程:
判斷比較表達(dá)式的值蝉娜,看是true還是false
如果是true,就執(zhí)行語句體1
如果是false扎唾,就執(zhí)行語句體2
C:格式3
if(比較表達(dá)式1) {
語句體1;
}else if(比較表達(dá)式2){
語句體2;
}
...
else {
語句體n+1;
}
執(zhí)行流程:
判斷比較表達(dá)式1的值召川,看是true還是false
如果是true,就執(zhí)行語句體1
如果是false胸遇,就繼續(xù)判斷比較表達(dá)式2的值荧呐,看是true還是false
如果是true,就執(zhí)行語句體2
如果是false纸镊,就繼續(xù)判斷比較表達(dá)式3的值倍阐,看是true還是false
...
如果都不滿足,就執(zhí)行語句體n+1
(2)注意事項(xiàng)
A:比較表達(dá)式無論簡(jiǎn)單還是復(fù)雜逗威,結(jié)果是boolean類型
B:if語句控制的語句體如果是一條語句峰搪,是可以省略大括號(hào)的;如果是多條庵楷,不能省略罢艾。
建議:永遠(yuǎn)不要省略。
C:一般來說尽纽,有左大括號(hào)咐蚯,就沒有分號(hào),有分號(hào)弄贿,就沒有左大括號(hào)春锋。
D:else后面如果沒有if,是不會(huì)出現(xiàn)比較表達(dá)式的差凹。
E:三種if語句其實(shí)都是一個(gè)語句期奔,只要有一個(gè)執(zhí)行,其他的就不再執(zhí)行危尿。
(3)案例:
A:比較兩個(gè)數(shù)是否相等
B:獲取兩個(gè)數(shù)中的最大值
C:獲取三個(gè)數(shù)中的最大值(if語句的嵌套)
D:根據(jù)成績輸出對(duì)應(yīng)的等級(jí)
E:根據(jù)月份呐萌,輸出對(duì)應(yīng)的季節(jié)
F:根據(jù)x計(jì)算對(duì)應(yīng)y的值并輸出
(4)三元運(yùn)算符和if語句第二種格式的關(guān)系
所有的三元運(yùn)算符能夠?qū)崿F(xiàn)的,if語句的第二種格式都能實(shí)現(xiàn)谊娇。
反之不成立肺孤。
如果if語句第二種格式控制的語句體是輸出語句,就不可以。
因?yàn)槿\(yùn)算符是一個(gè)運(yùn)算符赠堵,必須要有一個(gè)結(jié)果返回小渊,不能是一個(gè)輸出語句。