2.1關鍵字:被Java語言賦予特定含義的單詞
特點:組成關鍵字單詞的字母全部小寫
注意:
A:goto和const是保留字
B:類似於Notepad++這樣的高級記事本,針對關鍵字都有特殊的顏色標籤。
2.2標識符:就是給類,接口,方法變量等起名字。
組合規則:
A:英文字母大小寫
B:數字字符
C:$和_
注意事項:
A:不能以數字開頭
B:不能是Java中的關鍵字
C:java語言嚴格區分大小寫
2.3標識符(常見命名規則)
包:其實就是文件夾,用於把相同的類名進行區分
全部小寫
單級:liuyi
多級:cn.itcast
cn
itcast
類或者接口:
一個單詞:單詞的首字母必須 大寫
舉例:Student,Dog
多個單詞:每個單詞的首字母必須大寫
舉例:HelloWorld,StudentName
方法或者變量:(加括號的是方法)
一個單詞:單詞的首字母小寫
舉例:main,age
多個單詞:從第二個單詞開始,每個單詞的首字母大寫
舉例:studentAge,showAllNames()
常量:
一個單詞:全部大寫
舉例:PI
多個單詞:每個字母都大寫,用_隔開
舉例:STUDENT_MAX_AGE
2.4註釋概述及其分類
註釋:用於解釋說明程序的文字
Java中註釋的分類及格式
單行註釋://註釋文字
多行註釋:/* 註釋文字 */
注意:多行不可以嵌套使用,而單行是可以的
文檔註釋:被Javadoc工具解析生成一個說明書,面向對象部分講解
2.5HelloWorld案例加入註釋版
需求:我準備寫一個Java程序,把“HelloWorld”這句話輸出在控制檯
分析:
A:要寫一個Java程序,必須定義類
B:把數據能夠輸出,說明我們的程序是可以獨立運行的,而程序要獨立運行,必須定義main方法
C:把數據輸出在控制檯,必須使用輸出語句
實現:
A:Java語言提供了一個關鍵字:class用來定義類,後面跟的是類名
B:mian方法的格式是固定的:
public static void main (String[] args){
}
C:輸出語句的格式是固定的:
System.out.println("HelloWorld");
"HelloWorld"這個內容是可以改變的
2.6註釋的作用
A:解釋說明程序,提高程序的閱讀性
B:可以幫助我們調試程序
2.7常量的概述和使用
常量:
在程序執行過程中,其值不發生改變的量
分類:
A:字面值常量
B:自定義常量
字面量常量:
A:字符串常量 用引號括起來的內容
案例:“hello”,“world”,“HelloWorld”
B:整數常量 所有的整數
案例:100,200
C:小數常量 所有的小數
案例:10.23,110.11
D:字符常量 用單引號括起來的內容
舉例:'a','A','0'
錯誤的:'ab'
E:布爾常量 比較特殊
舉例: true,false
F:空常量
舉例:null
2.8進制概述以及二進制、八進制、十六進制圖解
進制:是一種進位的方式。x進制,表示逢x進1。
計算機的電子原件的狀態:開,關。
那麼,我們表達數據的時候,也是按照開,關的狀態來表示的
如果我們表達數據僅僅用兩種狀態,那麼能夠表達的數據是比較少的,而我們
常見的數據;英文字母,數字,標點符號。這就很多了。
兩個狀態肯定是不夠的。
爲了能夠表示更多的數據,國際化標準組織就規定:用8個這樣的信號來表示一個數據,
這個數據的單位叫:字節。
後來,我們就通過數字1,0分別來表示開和關。這個時候。我們把上面的數據用1,0改進。
由這樣的1,0組成的數據就是二進制數據。
1 byte = 8bit
1 k = 1024byte
1 m = 1024k
1 g = 1024m
1 t = 1024g
把二進制的數據,從右開始,每三位一組合。最左邊不夠的時候,補0。然後,分別計算出
對應的十進制數值。最後。在把每個十進制的數據組合起來。就是一個八進制數據
把二進制的數據。從右開始。沒四位一組合。最左邊不夠的時候。補0.然後分別計算出對應的十進制數值,
最後,再把每個十進制的數據組合起來,就是一個十六進制數據
規則:
進制越大,表現形式越短
2.9不同進制數據的表現形式
二進制
由0,1組合,以0b開頭
八進制
由0,1...7組成,以0開頭
十進制
由0,1.....9組成,整數默認是十2.10進制的
十六進制
由0,1.....9,a,b,c..f(大小寫均可)。以0x開頭
2.10任意進制到十進制的轉換圖解
係數:每一個位上的數據值本身就是係數。
基數:x進制的基數就是x
權:我們針對每一個位上的數據進行編號。從右邊,並且是從0開始編號
這個編號就是該位上的數據的權值
2.11任意進制到十進制的練習
2.12十進制到任意進制的轉換圖解
2.13十進制到任意進制的練習
2.14快速的進制轉換法
2.15原碼反碼補碼的講解
2.16原碼反碼補碼的練習
2.17變量的概述及格式
變量:就是在程序的執行過程中,其值是可以在一定範圍內發生改變的量。
變量的組成規則:
A:必須對其進行限定,用數據類型進行限定
B:我們在運算的時候,不可能是拿着這個空間去運算。我
們真正運算時使用的是該空間的值,我們就給該空間起
了一個名字。變量名
C:即使你有數據類型了,你有變量名了,但是如果沒有值,這個空間是一個垃圾空間,沒有任何意義。初始化值
定義變量的格式是:
數據類型 變量名 = 初始化值;
2.18數據類型的概述和分類
數據類型:Java是一種強類型的語言,針對每一種數據都定義了明確地數據類型。
數據類型分類:
A:基本數據類型
B:引用數據數據類型(類,接口,數值)
基本數據類型分類:4類8種
A:整數 佔用字節數
byte 1
short 2
int 4
long 8
B:浮點數
float 4
double 8
C:字符
char 2
D:布爾
Boolean 1
注意:
整數默認是int類型
浮點數默認是double類型
2.19定義不同數據類型的變量
長整型後綴用L或者l標記。建議使用L
單精度浮點數用F或者f標記。建議使用F
2.20使用變量的注意事項
使用變量的時候要注意的問題:
A:作用域
變量定義在哪個大括號內,它就在這個大括號內有效。
並且,在同一個大括號內不能同時定義同名的變量
B:初始化值
沒有初始化值的變量不能直接使用。
你只要在使用前給值就行,不一定非要在定義的時候立即給值
推薦在定義的時候給值
定義變量的格式:
A:數據類型 變量名 = 初始化值;
B:數據類型 變量名;
變量名 = 初始化值;
C:在一行上建議只定義一個變量,可以定義多個,但是不建議
2.21數據類型轉換默認轉換
一般來說,我們在運算的時候,要求參與運算的數據類型必須一致
注意:
Boolean類型不能轉換爲其他的數據類型
默認轉換(從小到大的轉換)
A:byte,short,char-int-long-float-double
B:byte,short,char不轉換,他們參與運算首先轉換爲int類型
2.22不同數據類型變量參與運算圖解
2.23數據類型轉換強制轉換
強制轉換:
從大的數據類型到小的數據類型。
格式:
目標數據類型 變量 = (目標數據類型)(被轉換的數據)
注意:
不要隨意的去使用強制轉換,因爲它隱含了精度損失問題
2.24強制轉換的思考題
思考題1:請問下面這個有沒有問題
double d = 12.345;
float f =d;
思考題2:看看下面兩個定義有沒有區別呢?
float f1 = (float)12.345;
float f2 = 12.345f;
f1其實是通過一個double類型轉換過來的。
而f2本身就是一個float類型。
2.25變量相加和常量相加的區別面試題
面試題:
byte b1=3;b2=4,b;
b=b1+b2
b=3+4
哪句是編譯失敗的呢?爲什麼呢?
b = b1 + b2;是有問題的。
因爲變量相加,會首先看類型問題,最終把結果賦值的也會考慮類型問題
常量相加,首先做加法,然後看結果是否在賦值的數據類型範圍內,如果不是,才報錯
2.26強制轉換數據溢出後的結果怎麼算
分析過程:
我們要想知道結果是什麼,就應該知道是如何進行計算的。
而我們又知道計算機中數據的運算都是補碼進行的
而要得到補碼,首先要計算出數據的二進制
A:獲取130這個數據的二進制
00000000 00000000 00000000 10000010
B:做截取操作,截取byte類型的了
10000010
這個結果是補碼
C:已知補碼求原碼
符號位 數值位
補碼: 1 0000010
反碼: 1 0000000
原碼: 1 1111110
2.27字符數據參與運算
通過字符和整數相加,我們給出一張表:ASCII碼錶。
通過看完這張表以後,我們要記住三個值:
'a' 97
'A' 65
'0' 48
2.28字符串參與運算
字符串數據和其他數據做+,結果是字符串類型。
這裏的+不是加法運算,而是字符串連接符
運用:字符串連接符和從左倒右的運算規則
參考網站:
https://www.bilibili.com/video/av37614313?p=26