02.01_Java語言基礎(chǔ)(常量的概述和使用)(掌握)
A:什么是常量
在程序執(zhí)行的過程中其值不可以發(fā)生改變
B:Java中常量的分類
字面值常量
自定義常量(面向?qū)ο蟛糠种v)
C:字面值常量的分類
字符串常量 用雙引號括起來的內(nèi)容
整數(shù)常量 所有整數(shù)
小數(shù)常量 所有小數(shù)
字符常量 用單引號括起來的內(nèi)容,里面只能放單個數(shù)字,單個字母或單個符號
布爾常量 較為特殊猪狈,只有true和false
空常量 null(數(shù)組部分講解)
D:案例演示
用輸出語句輸出各種常量葵硕。null不演示
02.02_Java語言基礎(chǔ)(進制概述和二,八,十六進制圖解)(了解)
A:什么是進制
進制:就是進位制沪斟,是人們規(guī)定的一種進位方法贞岭。 對于任何一種進制--X進制,就表示某一位置上的數(shù)運算時是逢X進一位柱蟀。二進制就是逢二進一蝗蛙,八進制是逢八進一,十進制是逢十進一衫仑,十六進制是逢十六進一。
例如一周有七天,七進制,一年有十二個月,十二進制
B:十進制的由來
十進制的由來是因為人類有十個手指
C:二進制的由來
其實二進制來源與中國,請看史料記載
18世紀德國數(shù)理哲學(xué)大師萊布尼茲從他的傳教士朋友鮑威特寄給他的拉丁文譯本《易經(jīng)》中堕花,讀到了八卦的組成結(jié)構(gòu)文狱,驚奇地發(fā)現(xiàn)其基本素數(shù)(0)(1),即《易經(jīng)》的陰爻yao- -和__陽爻缘挽,其進位制就是二進制瞄崇,并認為這是世界上數(shù)學(xué)進制中最先進的。20世紀被稱作第三次科技革命的重要標志之一的計算機的發(fā)明與應(yīng)用壕曼,其運算模式正是二進制苏研。它不但證明了萊布尼茲的原理是正確的批幌,同時也證明了《易經(jīng)》數(shù)理學(xué)是很了不起的抡诞。
D:八進制的由來
任何數(shù)據(jù)在計算機中都是以二進制的形式存在的煤搜。二進制早期由電信號開關(guān)演變而來韧掩。一個整數(shù)在內(nèi)存中一樣也是二進制的意推,但是使用一大串的1或者0組成的數(shù)值進行使用很麻煩司训。
所以就想把一大串縮短點陕截,將二進制中的三位用一位表示迹恐。這三位可以取到的最大值就是7.超過7就進位了踪少,這就是八進制塘安。
E:十六進制的由來
但是對于過長的二進制變成八進制還是較長,所以出現(xiàn)的用4個二進制位表示一位的情況援奢,四個二進制位最大是15兼犯,這就是十六進制。
F:不同進制表現(xiàn)同一個數(shù)據(jù)的形式特點
進制越大集漾,表現(xiàn)形式越短
02.03_Java語言基礎(chǔ)(不同進制數(shù)據(jù)的表現(xiàn)形式)(掌握)
A:二進制的數(shù)據(jù)表現(xiàn)形式
由0,1組成切黔。以0b(b可以大寫也可以小寫)開頭(JDK1.7版本可以表示二進制了)
B:八進制的數(shù)據(jù)表現(xiàn)形式
由0,1,…7組成。以0開頭
C:十進制的數(shù)據(jù)表現(xiàn)形式
由0,1,…9組成具篇。整數(shù)默認是十進制的
D:十六進制的數(shù)據(jù)表現(xiàn)形式
由0,1,…9,a,b,c,d,e,f(大小寫均可)纬霞。以0x開頭
E:案例演示
輸出不同進制表現(xiàn)100的數(shù)據(jù)。
0b100
0100
100
0x100
02.04_Java語言基礎(chǔ)(任意進制到十進制的轉(zhuǎn)換圖解)(了解)
A:任意進制到十進制的轉(zhuǎn)換原理
系數(shù):就是每一位上的數(shù)據(jù)驱显。
基數(shù):X進制诗芜,基數(shù)就是X。
權(quán):在右邊埃疫,從0開始編號伏恐,對應(yīng)位上的編號即為該位的權(quán)。
結(jié)果:把系數(shù)*基數(shù)的權(quán)次冪相加即可栓霜。
B:畫圖練習(xí)
二進制--十進制
八進制--十進制
十六進制--十進制
02.05_Java語言基礎(chǔ)(十進制到任意進制的轉(zhuǎn)換圖解)(了解)
A:十進制到任意進制的轉(zhuǎn)換原理
除積倒取余
B:畫圖練習(xí)
十進制--二進制
十進制--八進制
十進制--十六進制
02.06_Java語言基礎(chǔ)(快速的進制轉(zhuǎn)換法)(了解)
A:8421碼及特點
8421碼是中國大陸的叫法翠桦,8421碼是BCD代碼中最常用的一種。在這種編碼方式中每一位二值代碼的1都是代表一個固定數(shù)值胳蛮,把每一位的1代表的十進制數(shù)加起來销凑,得到的結(jié)果就是它所代表的十進制數(shù)碼丛晌。
B:通過8421碼的方式進行二進制和十進制的相互轉(zhuǎn)換
C:二進制到八進制的簡易方式
D:二進制到十六進制的簡易方式
02.07_Java語言基礎(chǔ)(原碼反碼補碼)(了解)
A:為什么要學(xué)習(xí)原碼反碼補碼?
后面要學(xué)習(xí)強制類型轉(zhuǎn)換,如果不知道有原反補會看不懂結(jié)果
B:有符號數(shù)據(jù)表示法的幾種方式
原碼
就是二進制定點表示法,即最高位為符號位斗幼,“0”表示正澎蛛,“1”表示負,其余位表示數(shù)值的大小孟岛。
通過一個字節(jié),也就是8個二進制位表示+7和-7
0(符號位) 0000111
1(符號位) 0000111
反碼
正數(shù)的反碼與其原碼相同瓶竭;負數(shù)的反碼是對其原碼逐位取反督勺,但符號位除外渠羞。
補碼
正數(shù)的補碼與其原碼相同;負數(shù)的補碼是在其反碼的末位加1智哀。
02.08_Java語言基礎(chǔ)(原碼反碼補碼的練習(xí))(了解)
A:已知原碼求補碼
0b10110100
B:已知補碼求原碼
0b11101110
02.09_Java語言基礎(chǔ)(變量的概述及格式)(掌握)
A:什么是變量
在程序執(zhí)行的過程中次询,在某個范圍內(nèi)其值可以發(fā)生改變的量
B:變量的定義格式
數(shù)據(jù)類型 變量名 = 變量值;
C:為什么要定義變量
用來不斷的存放同一類型的常量,并可以重復(fù)使用
02.10_Java語言基礎(chǔ)(數(shù)據(jù)類型的概述和分類)(掌握)
A:為什么有數(shù)據(jù)類型
Java語言是強類型語言瓷叫,對于每一種數(shù)據(jù)都定義了明確的具體數(shù)據(jù)類型屯吊,在內(nèi)存中分配了不同大小的內(nèi)存空間
B:Java中數(shù)據(jù)類型的分類
基本數(shù)據(jù)類型
引用數(shù)據(jù)類型
面向?qū)ο蟛糠种v解
C:基本數(shù)據(jù)類型分類(4類8種)
整數(shù)型
byte 占一個字節(jié) -128到127
short 占兩個字 -215~215-1
int 占四個字節(jié) -231~231-1
long 占八個字節(jié) -263~263-1
浮點型
float 占四個字節(jié) -3.403E38~3.403E38 單精度
double 占八個字節(jié)-1.798E308~1.798E308 雙精度
字符型
char 占兩個字節(jié) 0~65535
布爾型
boolean
boolean理論上是占八分之一個字節(jié),因為一個開關(guān)就可以決定是true和false了,但是java中boolean類型沒有明確指定他的大小
02.11_Java語言基礎(chǔ)(定義不同數(shù)據(jù)類型的變量)(掌握)
A:案例演示
定義不同基本數(shù)據(jù)類型的變量,并輸出
賦值時候注意float類型,long類型
02.12_Java語言基礎(chǔ)(使用變量的注意事項)(掌握)
A:案例演示
a:作用域問題
同一個區(qū)域不能使用相同的變量名
b:初始化值問題
局部變量在使用之前必須賦值
c:一條語句可以定義幾個變量
int a,b,c...;
02.13_Java語言基礎(chǔ)(數(shù)據(jù)類型轉(zhuǎn)換之隱式轉(zhuǎn)換)(掌握)
A:案例演示
a:int + int
b:byte + int
B:Java中的默認轉(zhuǎn)換規(guī)則
取值范圍小的數(shù)據(jù)類型與取值范圍大的數(shù)據(jù)類型進行運算,會先將小的數(shù)據(jù)類型提升為大的,再運算
C:畫圖解釋byte+int類型的問題
02.14_Java語言基礎(chǔ)(數(shù)據(jù)類型轉(zhuǎn)換之強制轉(zhuǎn)換)(掌握)
A:強制轉(zhuǎn)換問題
int a = 10;
byte b = 20;
b = a + b;
B:強制轉(zhuǎn)換的格式
b = (byte)(a + b);
C:強制轉(zhuǎn)換的注意事項
如果超出了被賦值的數(shù)據(jù)類型的取值范圍得到的結(jié)果會與你期望的結(jié)果不同
02.15_Java語言基礎(chǔ)(面試題之變量相加和常量相加的區(qū)別)(掌握)
A:案例演示
面試題:看下面的程序是否有問題摹菠,如果有問題盒卸,請指出并說明理由。
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
從兩方面去回答這個題
b1和b2是兩個變量,變量里面存儲的值都是變化的,所以在程序運行中JVM是無法判斷里面具體的值
byte類型的變量在進行運算的時候,會自動類型提升為int類型
byte b4 = 3 + 4;
3和4都是常量,java有常量優(yōu)化機制,就是在編譯的的時候直接把3和4的結(jié)果賦值給b4了
02.16_Java語言基礎(chǔ)(long與float的取值范圍誰大誰小)(了解)
進行混合運算的時候,byte,short,char不會相互轉(zhuǎn)換,都會自動類型提升為int類型,其他類型進行混合運算的是小的數(shù)據(jù)類型提升為大的
byte,short,char -- int -- long -- float -- double
long: 8個字節(jié)
float:4個字節(jié)
IEEE754
4個字節(jié)是32個二進制位
1位是符號位
8位是指數(shù)位
00000000 11111111
0到255
1到254
-126到127
23位是尾數(shù)位
每個指數(shù)位減去127
A:它們底層的存儲結(jié)構(gòu)不同次氨。
B:float表示的數(shù)據(jù)范圍比long的范圍要大
long:2^63-1
float:3.410^38 > 210^38 > 28^38 = 22338 = 2*2^114 > 2^63-1
02.17_Java語言基礎(chǔ)(字符和字符串參與運算)(掌握)
A:案例演示
System.out.println('a');
System.out.println('a'+1);
通過看結(jié)果知道'a'的值是多少,由此引出ASCII碼表
B:ASCII碼表的概述
記住三個值:
'0' 48
'A' 65
'a' 97
C:案例演示
System.out.println("hello"+'a'+1);
System.out.println('a'+1+"hello");
D:+在有字符串參與中被稱為字符串連接符
System.out.println("5+5="+5+5);
System.out.println(5+5+"=5+5");
02.18_Java語言基礎(chǔ)(char數(shù)據(jù)類型)(掌握)
A:char c = 97; 0到65535
B:Java語言中的字符char可以存儲一個中文漢字嗎?為什么呢?
可以蔽介。因為Java語言采用的是Unicode編碼。Unicode編碼中的每個字符占用兩個字節(jié)煮寡。中文也是占的兩個字節(jié)
所以虹蓄,Java中的字符可以存儲一個中文漢字 ###02.19_Java語言基礎(chǔ)(算術(shù)運算符的基本用法)(掌握)
A:什么是運算符
就是對常量和變量進行操作的符號。
B:運算符的分類
算術(shù)運算符幸撕,賦值運算符薇组,比較(關(guān)系或條件)運算符,邏輯運算符坐儿,位運算符律胀,三目(元)運算符
C:算數(shù)運算符有哪些
+,-,*,/,%,++,--
D:注意事項:
a:+號在java中有三種作用,代表正號,做加法運算,字符串的連接符
b:整數(shù)相除只能得到整數(shù)。如果想得到小數(shù)貌矿,必須把數(shù)據(jù)變化為浮點數(shù)類型
c:/獲取的是除法操作的商炭菌,%獲取的是除法操作的余數(shù)
%運算符
當左邊的絕對值小于右邊絕對值時,結(jié)果是左邊
當左邊的絕對值等于右邊或是右邊的倍數(shù)時,結(jié)果是0
當左邊的絕對值大于右邊絕對值時,結(jié)果是余數(shù)
%運算符結(jié)果的符號只和左邊有關(guān)系,與右邊無關(guān)
任何一個正整數(shù)%2結(jié)果不是0就是1可以用來當作切換條件
02.20_Java語言基礎(chǔ)(算術(shù)運算符++和--的用法)(掌握)
A:++,--運算符的作用
自加(++)自減(--)運算
++:自加。對原有的數(shù)據(jù)進行+1
--:自減站叼。對原有的數(shù)據(jù)進行-1
B:案例演示
a:單獨使用:
放在操作數(shù)的前面和后面效果一樣娃兽。(這種用法是我們比較常見的)
b:參與運算使用:
放在操作數(shù)的前面,先自增或者自減尽楔,然后再參與運算投储。
放在操作數(shù)的后面第练,先參與運算,再自增或者自減玛荞。
02.21_Java語言基礎(chǔ)(算術(shù)運算符++和--的練習(xí))(掌握)
A:案例演示
請分別計算出a,b,c的值?
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
B:案例演示
請分別計算出x,y的值?
int x = 4;
int y = (x++)+(++x)+(x*10);
C:面試題
byte b = 10;
b++;
b = b + 1;
問哪句會報錯,為什么
02.22_Java語言基礎(chǔ)(賦值運算符的基本用法)(掌握)
A:賦值運算符有哪些
a:基本的賦值運算符:=
把=右邊的數(shù)據(jù)賦值給左邊娇掏。
b:擴展的賦值運算符:+=,-=,*=,/=,%=
+= 把左邊和右邊做加法,然后賦值給左邊勋眯。
02.23_Java語言基礎(chǔ)(賦值運算符的面試題)(掌握)
A:案例演示
面試題:看下面的程序是否有問題婴梧,如果有問題,請指出并說明理由客蹋。
short s=1;s = s+1;
short s=1;s+=1;
02.24_Java語言基礎(chǔ)(關(guān)系運算符的基本用法及其注意事項)(掌握)
A:關(guān)系運算符有哪些(比較運算符,條件運算符)
==,!=,>,>=,<,<=
注意事項:
無論你的操作是簡單還是復(fù)雜塞蹭,結(jié)果是boolean類型。
"=="不能寫成"="讶坯。