03.01_Java語言基礎(chǔ)(邏輯運(yùn)算符的基本用法)(掌握)
A:邏輯運(yùn)算符有哪些
&,|,^,!
&&,||
B:案例演示
邏輯運(yùn)算符的基本用法
注意事項(xiàng):
a:邏輯運(yùn)算符一般用于連接boolean類型的表達(dá)式或者值伤哺。
b:表達(dá)式:就是用運(yùn)算符把常量或者變量連接起來的符合java語法的式子拼卵。
算術(shù)表達(dá)式:a + b
比較表達(dá)式:a == b(條件表達(dá)式)
C:結(jié)論:
&邏輯與:有false則false呛讲。
|邏輯或:有true則true。
^邏輯異或:相同為false膀篮,不同為true。
!邏輯非:非false則true,非true則false。
特點(diǎn):偶數(shù)個(gè)不改變本身损谦。
03.02_Java語言基礎(chǔ)(邏輯運(yùn)算符&&和&的區(qū)別)(掌握)
A:案例演示
&&和&的區(qū)別?
a:最終結(jié)果一樣。
b:&&具有短路效果岳颇。左邊是false照捡,右邊不執(zhí)行。
&是無論左邊是false還是true,右邊都會執(zhí)行
B:同理||和|的區(qū)別?(學(xué)生自學(xué))
C:開發(fā)中常用誰?
&&,||,!
03.03_Java語言基礎(chǔ)(位運(yùn)算符的基本用法1)(了解)
A:位運(yùn)算符有哪些
&,|,^,~ ,>>,>>>,<<
B:案例演示
位運(yùn)算符的基本用法1
&,|,^,~ 的用法
&:有0則0
|:有1則1
^:相同則0话侧,不同則1
~:按位取反
03.04_Java語言基礎(chǔ)(位異或運(yùn)算符的特點(diǎn)及面試題)(掌握)
A:案例演示
位異或運(yùn)算符的特點(diǎn)
^的特點(diǎn):一個(gè)數(shù)據(jù)對另一個(gè)數(shù)據(jù)位異或兩次栗精,該數(shù)本身不變。
B:面試題:
請自己實(shí)現(xiàn)兩個(gè)整數(shù)變量的交換
注意:以后講課的過程中瞻鹏,我沒有明確指定數(shù)據(jù)的類型悲立,默認(rèn)int類型。
03.05_Java語言基礎(chǔ)(位運(yùn)算符的基本用法2及面試題)(了解)
A:案例演示 >>,>>>,<<的用法:
<<:左移 左邊最高位丟棄新博,右邊補(bǔ)齊0
:右移 最高位是0薪夕,左邊補(bǔ)齊0;最高為是1,左邊補(bǔ)齊1
:無符號右移 無論最高位是0還是1赫悄,左邊補(bǔ)齊0
最有效率的算出2 * 8的結(jié)果
03.06_Java語言基礎(chǔ)(三元運(yùn)算符的基本用法)(掌握)
A:三元運(yùn)算符的格式
(關(guān)系表達(dá)式) ? 表達(dá)式1 : 表達(dá)式2;
B:三元運(yùn)算符的執(zhí)行流程
C:案例演示
獲取兩個(gè)數(shù)中的最大值
03.07_Java語言基礎(chǔ)(三元運(yùn)算符的練習(xí))(掌握)
A:案例演示
比較兩個(gè)整數(shù)是否相同
B:案例演示
獲取三個(gè)整數(shù)中的最大值
03.08_Java語言基礎(chǔ)(鍵盤錄入的基本格式講解)(掌握)
A:為什么要使用鍵盤錄入數(shù)據(jù)
a:為了讓程序的數(shù)據(jù)更符合開發(fā)的數(shù)據(jù)
b:讓程序更靈活一下
B:如何實(shí)現(xiàn)鍵盤錄入呢?
先照格式來原献。
a:導(dǎo)包
格式:
import java.util.Scanner;
位置:
在class上面。
b:創(chuàng)建鍵盤錄入對象
格式:
Scanner sc = new Scanner(System.in);
c:通過對象獲取數(shù)據(jù)
格式:
int x = sc.nextInt();
C:案例演示
鍵盤錄入1個(gè)整數(shù)埂淮,并輸出到控制臺姑隅。
鍵盤錄入2個(gè)整數(shù),并輸出到控制臺倔撞。
03.09_Java語言基礎(chǔ)(鍵盤錄入的練習(xí)1)(掌握)
A:案例演示
鍵盤錄入練習(xí):鍵盤錄入兩個(gè)數(shù)據(jù)讲仰,并對這兩個(gè)數(shù)據(jù)求和,輸出其結(jié)果
B:案例演示
鍵盤錄入練習(xí):鍵盤錄入兩個(gè)數(shù)據(jù)痪蝇,獲取這兩個(gè)數(shù)據(jù)中的最大值
03.10_Java語言基礎(chǔ)(鍵盤錄入的練習(xí)2)(掌握)
A:案例演示
鍵盤錄入練習(xí):鍵盤錄入兩個(gè)數(shù)據(jù)鄙陡,比較這兩個(gè)數(shù)據(jù)是否相等
B:案例演示
鍵盤錄入練習(xí):鍵盤錄入三個(gè)數(shù)據(jù),獲取這三個(gè)數(shù)據(jù)中的最大值
03.11_Java語言基礎(chǔ)(順序結(jié)構(gòu)語句)(了解)
A:什么是流程控制語句
流程控制語句:可以控制程序的執(zhí)行流程霹俺。
B:流程控制語句的分類
順序結(jié)構(gòu)
選擇結(jié)構(gòu)
循環(huán)結(jié)構(gòu)
C:執(zhí)行流程:
從上往下柔吼,依次執(zhí)行。
D:案例演示
輸出幾句話看效果即可
03.12_Java語言基礎(chǔ)(選擇結(jié)構(gòu)if語句格式1及其使用)(掌握)
A:選擇結(jié)構(gòu)的分類
if語句
switch語句
B:if語句有幾種格式
格式1
格式2
格式3
C:if語句的格式1
if(比較表達(dá)式) { 語句體; }
D:執(zhí)行流程:
先計(jì)算比較表達(dá)式的值丙唧,看其返回值是true還是false愈魏。
如果是true,就執(zhí)行語句體想际;
如果是false培漏,就不執(zhí)行語句體;
03.13_Java語言基礎(chǔ)(選擇結(jié)構(gòu)if語句注意事項(xiàng))(掌握)
A:案例演示
a:比較表達(dá)式無論簡單還是復(fù)雜胡本,結(jié)果必須是boolean類型
b:if語句控制的語句體如果是一條語句牌柄,大括號可以省略;
如果是多條語句侧甫,就不能省略珊佣。建議永遠(yuǎn)不要省略蹋宦。
c:一般來說:有左大括號就沒有分號,有分號就沒有左大括號
03.14_Java語言基礎(chǔ)(選擇結(jié)構(gòu)if語句格式2及其使用)(掌握)
A:if語句的格式2
if(比較表達(dá)式) { 語句體1; }else { 語句體2; }
B:執(zhí)行流程:
首先計(jì)算比較表達(dá)式的值咒锻,看其返回值是true還是false冷冗。
如果是true,就執(zhí)行語句體1惑艇;
如果是false蒿辙,就執(zhí)行語句體2;
C:案例演示
a:獲取兩個(gè)數(shù)據(jù)中較大的值
b:判斷一個(gè)數(shù)據(jù)是奇數(shù)還是偶數(shù),并輸出是奇數(shù)還是偶數(shù)
注意事項(xiàng):else后面是沒有比較表達(dá)式的滨巴,只有if后面有思灌。
03.15_Java語言基礎(chǔ)(if語句的格式2和三元的相互轉(zhuǎn)換問題)(掌握)
A:案例演示
if語句和三元運(yùn)算符完成同一個(gè)效果
B:案例演示
if語句和三元運(yùn)算符的區(qū)別
三元運(yùn)算符實(shí)現(xiàn)的,都可以采用if語句實(shí)現(xiàn)恭取。反之不成立泰偿。
什么時(shí)候if語句實(shí)現(xiàn)不能用三元改進(jìn)呢?
當(dāng)if語句控制的操作是一個(gè)輸出語句的時(shí)候就不能。
為什么呢?因?yàn)槿\(yùn)算符是一個(gè)運(yùn)算符秽荤,運(yùn)算符操作完畢就應(yīng)該有一個(gè)結(jié)果甜奄,而不是一個(gè)輸出。
03.16_Java語言基礎(chǔ)(選擇結(jié)構(gòu)if語句格式3及其使用)(掌握)
A:if語句的格式3:
if(比較表達(dá)式1) { 語句體1; }else if(比較表達(dá)式2) { 語句體2; }else if(比較表達(dá)式3) { 語句體3; } ... else { 語句體n+1; }
B:執(zhí)行流程:
首先計(jì)算比較表達(dá)式1看其返回值是true還是false窃款,
如果是true课兄,就執(zhí)行語句體1,if語句結(jié)束晨继。
如果是false烟阐,接著計(jì)算比較表達(dá)式2看其返回值是true還是false,
如果是true紊扬,就執(zhí)行語句體2蜒茄,if語句結(jié)束。
如果是false餐屎,接著計(jì)算比較表達(dá)式3看其返回值是true還是false檀葛,
如果都是false,就執(zhí)行語句體n+1腹缩。
C:注意事項(xiàng):最后一個(gè)else可以省略,但是建議不要省略,可以對范圍外的錯(cuò)誤值提示
03.17_Java語言基礎(chǔ)(選擇結(jié)構(gòu)if語句格式3練習(xí))(掌握)
A:練習(xí)1
需求:鍵盤錄入一個(gè)成績屿聋,判斷并輸出成績的等級。
90-100 優(yōu)
80-89 良
70-79 中
60-69 及
0-59 差
B:練習(xí)2
需求:
鍵盤錄入x的值藏鹊,計(jì)算出y的并輸出润讥。
x>=3 y = 2 * x + 1;
-1<x<3 y = 2 * x;
x<=-1 y = 2 * x - 1;
03.18_Java語言基礎(chǔ)(選擇結(jié)構(gòu)if語句的嵌套使用)(掌握)
A:案例演示
需求:獲取三個(gè)數(shù)據(jù)中的最大值
if語句的嵌套使用。
03.19_Java語言基礎(chǔ)(選擇結(jié)構(gòu)switch語句的格式及其解釋)(掌握)
A:switch語句的格式
switch(表達(dá)式) {
case 值1:
語句體1;
break;
case 值2:
語句體2;
break;
…
default:
語句體n+1;
break;
}
B:switch語句的格式解釋
C:面試題
byte可以作為switch的表達(dá)式嗎?
long可以作為switch的表達(dá)式嗎?
String可以作為switch的表達(dá)式嗎?
C:執(zhí)行流程
先計(jì)算表達(dá)式的值
然后和case后面的匹配盘寡,如果有就執(zhí)行對應(yīng)的語句楚殿,否則執(zhí)行default控制的語句
03.20_Java語言基礎(chǔ)(選擇結(jié)構(gòu)switch語句的練習(xí))(掌握)
A:整數(shù)(給定一個(gè)值,輸出對應(yīng)星期幾)
03.21_Java語言基礎(chǔ)(選擇結(jié)構(gòu)switch語句的注意事項(xiàng))(掌握)
A:案例演示
a:case后面只能是常量,不能是變量竿痰,而且脆粥,多個(gè)case后面的值不能出現(xiàn)相同的
b:default可以省略嗎?
可以省略砌溺,但是不建議,因?yàn)樗淖饔檬菍Σ徽_的情況給出提示变隔。
特殊情況:
case就可以把值固定抚吠。
A,B,C,D
c:break可以省略嗎?
最后一個(gè)可以省略,其他最好不要省略
會出現(xiàn)一個(gè)現(xiàn)象:case穿透。
最終我們建議不要省略
d:default一定要在最后嗎?
不是弟胀,可以在任意位置。但是建議在最后喊式。
e:switch語句的結(jié)束條件
a:遇到break就結(jié)束了
b:執(zhí)行到switch的右大括號就結(jié)束了
03.22_Java語言基礎(chǔ)(選擇結(jié)構(gòu)switch語句練習(xí))(掌握)
A:看程序?qū)懡Y(jié)果:
int x = 2;
int y = 3;
switch(x){
default:
y++;
break;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
B:看程序?qū)懡Y(jié)果:
int x = 2;
int y = 3;
switch(x){
default:
y++;
case 3:
y++;
case 4:
y++;
}
System.out.println("y="+y);
03.23_Java語言基礎(chǔ)(選擇結(jié)構(gòu)if語句和switch語句的區(qū)別)(掌握)
A:總結(jié)switch語句和if語句的各自使用場景
switch建議判斷固定值的時(shí)候用
if建議判斷區(qū)間或范圍的時(shí)候用
B:案例演示
分別用switch語句和if語句實(shí)現(xiàn)下列需求:
鍵盤錄入月份孵户,輸出對應(yīng)的季節(jié)