02.01_Java語言基礎(常量的概述和使用)(掌握)
- A:什么是常量
- 在程序執行的過程中其值不可以發生改變
- B:Java中常量的分類
- 字面值常量
- 自定義常量(面向對象部分講)
- C:字面值常量的分類
- 字符串常量 用雙引號括起來的內容
- 整數常量 所有整數
- 小數常量 所有小數
- 字符常量 用單引號括起來的內容,里面只能放單個數字,單個字母或單個符號
- 布爾常量 較為特殊,只有true和false
- 空常量 null(數組部分講解)
Paste_Image.png
02.02_Java語言基礎(進制概述和二,八,十六進制圖解)(了解)
- A:什么是進制
- 進制:就是進位制,是人們規定的一種進位方法。 對于任何一種進制--X進制,就表示某一位置上的數運算時是逢X進一位。二進制就是逢二進一,八進制是逢八進一,十進制是逢十進一,十六進制是逢十六進一。
- 例如一周有七天,七進制,一年有十二個月,十二進制
- B:十進制的由來
- 十進制的由來是因為人類有十個手指
- C:二進制的由來
- 其實二進制來源與中國,請看史料記載
- 18世紀德國數理哲學大師萊布尼茲從他的傳教士朋友鮑威特寄給他的拉丁文譯本《易經》中,讀到了八卦的組成結構,驚奇地發現其基本素數(0)(1),即《易經》的陰爻yao- -和__陽爻,其進位制就是二進制,并認為這是世界上數學進制中最先進的。20世紀被稱作第三次科技革命的重要標志之一的計算機的發明與應用,其運算模式正是二進制。它不但證明了萊布尼茲的原理是正確的,同時也證明了《易經》數理學是很了不起的。
- D:八進制的由來
- 任何數據在計算機中都是以二進制的形式存在的。二進制早期由電信號開關演變而來。一個整數在內存中一樣也是二進制的,但是使用一大串的1或者0組成的數值進行使用很麻煩。
- 所以就想把一大串縮短點,將二進制中的三位用一位表示。這三位可以取到的最大值就是7.超過7就進位了,這就是八進制。
- E:十六進制的由來
- 但是對于過長的二進制變成八進制還是較長,所以出現的用4個二進制位表示一位的情況,四個二進制位最大是15,這就是十六進制。
- F:不同進制表現同一個數據的形式特點
- 進制越大,表現形式越短
02.03_Java語言基礎(不同進制數據的表現形式)(掌握)
- A:二進制的數據表現形式
- 由0,1組成。以0b(b可以大寫也可以小寫)開頭(JDK1.7版本可以表示二進制了)
- B:八進制的數據表現形式
- 由0,1,…7組成。以0開頭
- C:十進制的數據表現形式
- 由0,1,…9組成。整數默認是十進制的
- D:十六進制的數據表現形式
- 由0,1,…9,a,b,c,d,e,f(大小寫均可)。以0x開頭
02.04_Java語言基礎(任意進制到十進制的轉換圖解)(了解)
- A:任意進制到十進制的轉換原理
- 系數:就是每一位上的數據。
- 基數:X進制,基數就是X。
- 權:在右邊,從0開始編號,對應位上的編號即為該位的權。
- 結果:把系數*基數的權次冪相加即可。
Paste_Image.png
02.05_Java語言基礎(十進制到任意進制的轉換圖解)(了解)
- A:十進制到任意進制的轉換原理
- 除積倒取余
Paste_Image.png
02.06_Java語言基礎(快速的進制轉換法)(了解)
- A:8421碼及特點
- 8421碼是中國大陸的叫法,8421碼是BCD代碼中最常用的一種。在這種編碼方式中每一位二值代碼的1都是代表一個固定數值,把每一位的1代表的十進制數加起來,得到的結果就是它所代表的十進制數碼。
- B:通過8421碼的方式進行二進制和十進制的相互轉換
- C:二進制到八進制的簡易方式
- D:二進制到十六進制的簡易方式
02.07_Java語言基礎(原碼反碼補碼)(了解)
- A:為什么要學習原碼反碼補碼?
- 后面要學習強制類型轉換,如果不知道有原反補會看不懂結果
- B:有符號數據表示法的幾種方式
- 原碼
- 就是二進制定點表示法,即最高位為符號位,“0”表示正,“1”表示負,其余位表示數值的大小。
- 通過一個字節,也就是8個二進制位表示+7和-7
- 0(符號位) 0000111
- 1(符號位) 0000111
- 反碼
- 正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。
- 補碼
- 正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。
- 原碼
Paste_Image.png
02.09_Java語言基礎(變量的概述及格式)(掌握)
- A:什么是變量
- 在程序執行的過程中,在某個范圍內其值可以發生改變的量
- B:變量的定義格式
- 數據類型 變量名 = 變量值;
- C:為什么要定義變量
- 用來不斷的存放同一類型的常量,并可以重復使用
02.10_Java語言基礎(數據類型的概述和分類)(掌握)
- A:為什么有數據類型
- Java語言是強類型語言,對于每一種數據都定義了明確的具體數據類型,在內存中分配了不同大小的內存空間
- B:Java中數據類型的分類
- 基本數據類型
- 引用數據類型
- 面向對象部分講解
- C:基本數據類型分類(4類8種)
- 整數型
- byte 占一個字節 -128到127
- short 占兩個字 -215~215-1
- int 占四個字節 -231~231-1
- long 占八個字節 -263~263-1
- 浮點型
- float 占四個字節 -3.403E38~3.403E38 單精度
- double 占八個字節-1.798E308~1.798E308 雙精度
- 字符型
- char 占兩個字節 0~65535
- 布爾型
- boolean
- boolean理論上是占八分之一個字節,因為一個開關就可以決定是true和false了,但是java中boolean類型沒有明確指定他的大小
- boolean
- 整數型
02.11_Java語言基礎(定義不同數據類型的變量)(掌握)
- A:案例演示
int i = 30;
long x = 8888888888L; //整數默認是int類型, 如果整數很大,一定后面加L
float f = 12.3F; //小數默認是double,如果使用float,最好習慣加F
double d = 33.4;
02.13_Java語言基礎(數據類型轉換之隱式轉換)(掌握)
- 取值范圍小的數據類型與取值范圍大的數據類型進行運算,會先將小的數據類型提升為大的,再運算
02.14_Java語言基礎(數據類型轉換之強制轉換)(掌握)
- A:強制轉換問題
- int a = 10;
- byte b = 20;
- b = a + b;
- B:強制轉換的格式
- b = (byte)(a + b);
- C:強制轉換的注意事項
- 如果超出了被賦值的數據類型的取值范圍得到的結果會與你期望的結果不同
02.15_Java語言基礎(面試題之變量相加和常量相加的區別)(掌握)
- A:案例演示
- 面試題:看下面的程序是否有問題,如果有問題,請指出并說明理由。
- byte b1 = 3;
- byte b2 = 4;
- byte b3 = b1 + b2;
- 從兩方面去回答這個題
- b1和b2是兩個變量,變量里面存儲的值都是變化的,所以在程序運行中JVM是無法判斷里面具體的值
- byte類型的變量在進行運算的時候,會自動類型提升為int類型
- byte b4 = 3 + 4;
- 3和4都是常量,java有常量優化機制,就是在編譯的的時候直接把3和4的結果賦值給b4了
02.16_Java語言基礎(long與float的取值范圍誰大誰小)(了解)
- 進行混合運算的時候,byte,short,char不會相互轉換,都會自動類型提升為int類型,其他類型進行混合運算的是小的數據類型提升為大的
byte,short,char -- int -- long -- float -- double
long: 8個字節
float:4個字節
IEEE754
4個字節是32個二進制位
1位是符號位
8位是指數位
00000000 11111111
0到255
1到254
-126到127
23位是尾數位
每個指數位減去127
A:它們底層的存儲結構不同。
-
B:float表示的數據范圍比long的范圍要大
- long:2^63-1
- float:3.410^38 > 210^38 > 28^38 = 22338 = 2*2^114 > 2^63-1
02.18_Java語言基礎(char數據類型)(掌握)
- A:char c = 97; 0到65535
- B:Java語言中的字符char可以存儲一個中文漢字嗎?為什么呢?
- 可以。因為Java語言采用的是Unicode編碼。Unicode編碼中的每個字符占用兩個字節。中文也是占的兩個字節
- 所以,Java中的字符可以存儲一個中文漢字
02.19_Java語言基礎(算術運算符的基本用法)(掌握)
- A:什么是運算符
- 就是對常量和變量進行操作的符號。
- B:運算符的分類
- 算術運算符,賦值運算符,比較(關系或條件)運算符,邏輯運算符,位運算符,三目(元)運算符
- C:算數運算符有哪些
- +,-,*,/,%,++,--
- D:注意事項:
- a:+號在java中有三種作用,代表正號,做加法運算,字符串的連接符
- b:整數相除只能得到整數。如果想得到小數,必須把數據變化為浮點數類型
- c:/獲取的是除法操作的商,%獲取的是除法操作的余數
- %運算符
- 當左邊的絕對值小于右邊絕對值時,結果是左邊
- 當左邊的絕對值等于右邊或是右邊的倍數時,結果是0
- 當左邊的絕對值大于右邊絕對值時,結果是余數
- %運算符結果的符號只和左邊有關系,與右邊無關
- 任何一個正整數%2結果不是0就是1可以用來當作切換條件
02.20_Java語言基礎(算術運算符++和--的用法)(掌握)
- A:++,--運算符的作用
- 自加(++)自減(--)運算
- ++:自加。對原有的數據進行+1
- --:自減。對原有的數據進行-1
- a:單獨使用:
- 放在操作數的前面和后面效果一樣。(這種用法是我們比較常見的)
- b:參與運算使用:
- 放在操作數的前面,先自增或者自減,然后再參與運算。
- 放在操作數的后面,先參與運算,再自增或者自減。
02.21_Java語言基礎(算術運算符++和--的練習)(掌握)
-
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語言基礎(賦值運算符的基本用法)(掌握)
- A:賦值運算符有哪些
-
a:基本的賦值運算符:=
- 把=右邊的數據賦值給左邊。
-
b:擴展的賦值運算符:+=,-=,*=,/=,%=
- += 把左邊和右邊做加法,然后賦值給左邊。
-
02.23_Java語言基礎(賦值運算符的面試題)(掌握)
- A:案例演示
- 面試題:看下面的程序是否有問題,如果有問題,請指出并說明理由。
- short s=1;s = s+1;
- short s=1;s+=1;
02.24_Java語言基礎(關系運算符的基本用法及其注意事項)(掌握)
- A:關系運算符有哪些(比較運算符,條件運算符)
- ==,!=,>,>=,<,<=
- 注意事項:
無論你的操作是簡單還是復雜,結果是boolean類型。
"=="不能寫成"="。
END。
我是小侯爺。
在魔都艱苦奮斗,白天是上班族,晚上是知識服務工作者。
如果讀完覺得有收獲的話,記得關注和點贊哦。
非要打賞的話,我也是不會拒絕的。