第二章

第二課程 java 的基礎語法的基礎

1.關鍵字都是小寫,會變為藍色

2.標志符:

標志符就是給類,接口,方法,變量等起的名字。

起名字規則(只允許有這些東西):

英文大小寫字母

? ? ? ? ? ? 數字字符

? ? ? ? ? ? $和_

注意事項:不能以數字開頭

? ? ? ? ? 不能是關鍵字

? ? ? ? ? Java語言嚴格區分大小寫(關鍵詞有了一個字母大寫,就不是關鍵詞了)

3.常見的命名規則:

1.舉例:定義一個學生類

class Student{}

不要用 class S{}因為S人不知道是什么意思


2.包(因為在同一個路徑下不能用建立兩個一樣的類名,但是又要見名知意所以就要想辦法區分開)命名全部是小寫。

包其實就是文件夾。用以把相同的類名區分(每個字母都是小寫)

? 單級包:liuyi

? 多級包:cn.itcase? (.是用來區分的級的。)

3.類和接口? 命名一個時,首字母大寫。多個時,每個單詞首字母必須大寫

? 接口可以看做是和類一樣的東西。

? 一個單詞:Student

多個單詞: HelloWorld,StudentName

4.方法和變量

一個單詞命名單詞首字母必須大寫

? 一個單詞:main ,age

? 多個單詞,從第二個開始,每個單詞首字母大寫

? 舉例:studentAge.? showStudentNames()? 【加()的是方法,不加的變量】

5.常量 (每個字母都大寫)

一個單詞全部大寫 如:PI

多個單詞每個字母大寫用_分開? 如:STUDENT_MAX_AGE


4.注釋

1.單行注釋//

2.多行注釋不能嵌套使用:/* */(多行注釋不能嵌套,會沒法運行)

3.文檔注釋;被javadoc工具解析生成一個說明書,面對對象部分講解(沒講)

? //** */比多行注釋多了一個*

注釋有兩個作用:

一是:可以通過注釋來找程序的問題。可以幫我們調試程序。

二是:可以提高程序的閱讀性

6.常量

1.字面值常量與自定義常量(后面講)

字面值常量

? ? ? ? ? 1 字符串常量? 如 括號內形式“ HelloWorld”輸出的字符串內容

? ? ? ? ? 2 整數性常量? 如 括號內形式 100 200

? ? ? ? ? 3 小數常量? 如? 括號內形式? 10.2? 11.22

? ? ? 4 字符常量(用單引號栝起來的單個字符)? 如 括號內形式 ‘a’ ‘b’? ‘0’(這里0是一個字符不是數字)’ab’(這是錯誤的寫法)

5布爾常量

比較特殊:括號內形式 :只有ture和false

? ? ? ? ? 6 空常量(后面講)

? ? ? ? ? ? 如:null

7.進制

2進制只有兩個狀態,所以用8個二進制數來表示一個數據,這個單位叫字節

1byte(字節)=8bit 、、1k=1034byte


8進制是吧110? 100? 111 三個數字分為一塊然后用十進制算法算出表示

16進制是吧1110? 0001 四個一組用十進制的算法算出然后表示

規則: 進制越大,表示形式越短


3.

因為直接看數據分不出是幾進制所以

二進制開頭是0b? (后綴一個B也表示為二進制)

八進制開頭是0?

十六進制開頭是0x


寫程序出錯:

1.把100也加上引號,整數不用加

2.修改過后沒有保存,就運行所以結果不會變

8.原碼,反碼,補碼


在計算機內,有符號數有3種表示方法:原碼,反碼,補碼。

計算機所有的運算都是采用數據對應的二進制補碼運算的。

?

原碼:

正數的原碼最高位為0

負數的原碼最高位為1

其他是數值位(數值位前面的用0補齊夠7位)

? ? 符號位? 數值位

+7? ? 0? ? ? 0000111

-7? ? 1? ? ? 0000111

反碼:

? ? 正數的反碼與原碼一樣

? ? 負數的反碼符號位不變,數值位每一位取反,就是0變1,1變0

? ? ? ? 符號位? 數值位

+7? 0? ? ? 0000111

-7? 1? ? ? 1111000

補碼:

? ? 正數的補碼與原碼一樣

負數的補碼是補碼+1(當然是最小位)(注意:不能先寫符號位了,因為類似111111111最后符號位會變)

? ? ? ? 符號位? ? 數值位

+7? ? 0? ? ? 0000111

-7? ? 1? ? ? 1111001?

1.已知某數x的原碼10110100B。求補碼與反碼

?

反碼1? 1001011

補碼1? 1001100



2.已知某數x的補碼11101110B。求原碼


補碼:1? 1101110

反碼:1? 1101101

原碼:1? 0010010


9.什么是變量




10.數據類型




1.

Java是一種強數據類型的語言。


2.分為基本數據類型和引用數據類型

基本數據類型:4類8種

整數:

? ? ? ? ? 所占字節數

? byte? ? ? 1

? short? ? ? 2? ?

? int? ? ? ? 3

? long? ? ? ? 4?

浮點數(小數):

? ? ? ? ? ? ? ? 所占字節數

? float(單精度)? ? ? 4

? double(雙精度)? ? 8

? ? ? ?

字符:

? ? ? ? 所占字節數

? char :? ? 2

布爾:

? ? ? ? 所占字節數(很多地方沒有明確給定,但因為只有0、1兩種情況,所以認為是1)

boolean:? 1


各種類型的取值正負都可byte(1字節):? -128~127

整數默認int 小數默認 double


引用數據類型3種(以后講)


3.


1byte=8bie \\ 1字節等于8位? (對于原碼的問題:如果第8位剛好是數值型怎么辦,還怎么分原碼,那就用2字節來表示,進而區分原碼……)


1.定義變量注意事項:

當定義的整數型變量超過 int 型時,就需要用long型寫,需要注意用long時long=100000000L(L大小寫都可以)。如果不寫還是會按int型處理,然后會報錯。

同理double型也是,如果用float型時,會提醒你可能損失精度,因為float型時4字節,可能會自動刪除變量超出的部分,所以會提醒可能損失精度;

如圖


字符型如圖:


布爾型;



2.定義變量注意的問題:

變量適用的范圍:


1.格式最好是

?

2.一行可以定義多個變量,但是不建議。如


3.可以同時定義多個如:



4.可以先定義一個變量,而不給初始值,只要在使用(輸出)前 初始化就行;如:


5不能這樣:


用,隔開會以為是同一種類型。所以計算機識別不了int 屬于int類型,所以好會報錯。

11.運算符

1.

一般來說用運算符的時候,左右兩邊數據類型要一致。


+中可以直接在括號內寫然后實現運算結果如:…….println(3+4)


2.

如果前后數據類型不一致,都向大的靠近(不讓就會提示可能損失精度)。如圖:



下圖是算的原理;

字節少的先変為,字節更長的形式,在進行運算。如圖:



3.

強制轉換:

不要隨意去使用強制轉換,因為可能確會損失精度。

就是說,當你知道。大的與小的運算結果,明明byte字節夠用時,可以強制轉換。

寫法: byte c = (byte)(a + b);?

正常寫法: byte c = a + b ;


注意:如果后面是一個變量如:byte c = (byte) a? 這里不用加括號,只有多個才用加。

4.


float a = (float) 29.323;

float a= 29.323F;

這兩個是一樣的,但是第一個是把double類型,截取然后成為float類。而第二個,本身就可以是一個float類型。



面試題:

題1.


答案是:

第二句會編譯失敗,因為第二句的變量相加是會自動變為int型,而b是byte,把int給byte會損失精度,所以會報錯。變量賦值給變量是先在運行的時候(.class)文件時,才運算。

第三句是常量加法,是先計算出來后面的結果,如果結果在byte類型里,就不提示會損失精度,不報錯。

byte b1 = 2 ,b2 = 3 , b 這種寫法是可以的。

反編譯工具:xjad.exe? 可以把class文件讀出來。方便差錯。


題2.


有問題:因為byte取值范圍 -128--127,130超過了,所以會報錯。

byte b = (byte) 130; 這樣強制轉換就不會報錯了。

結果:

做法分析,計算機是對補碼運算的,所以要走一遍原碼反碼補碼,在倒著走一遍才可以得出答案。?

130的二進制數為10000010

原碼、反碼、補碼都為 10000010? (正數的原 反 補一樣,負數 補碼+1)

int型? 00000000 00000000 00000000? 10000010

因為byte型,所以做截取操作? 10000010 (這是補碼)

? ? ? ? 符號位? ? 數值位

補碼? ? 1? ? ? ? 0000010

反碼? ? 1? ? ? ? 0000001

原碼? ? 1? ? ? ? 1111110

然后:1代表負數 ,后邊的是126

-126



12.ASCII碼表;

1.

System.out.println(‘a’+1);


‘a’? 97 后面的以此加 1

‘A’? 65

‘0’? 48


2.


只要字符串在前,+相當于連接符,結果自然就是字符串形式

如 System.out.println (“5+5=”+5+5)? \\5+5=55

System.out.println (5+5“=5+5”)? \\? 10=5+5



如果是整數+’a’ 會看成是 97 +1

雙引號,表示輸出字符串,單引號可以看成是char(字符)。



習慣;

1.

包名是:起包名時,全是小寫,多級包名時。給什么公司做,習慣就用該公司域名的反寫。如 com.baidu



2.

寫代碼的注釋;? 一般寫了需求和分析就行。后兩步直接寫代碼就行。


第二課程 java 的基礎語法的基礎

1.關鍵字都是小寫,會變為藍色

2.標志符:

標志符就是給類,接口,方法,變量等起的名字。

起名字規則(只允許有這些東西):

英文大小寫字母

? ? ? ? ? ? 數字字符

? ? ? ? ? ? $和_

注意事項:不能以數字開頭

? ? ? ? ? 不能是關鍵字

? ? ? ? ? Java語言嚴格區分大小寫(關鍵詞有了一個字母大寫,就不是關鍵詞了)

3.常見的命名規則:

1.舉例:定義一個學生類

class Student{}

不要用 class S{}因為S人不知道是什么意思

2.包(因為在同一個路徑下不能用建立兩個一樣的類名,但是又要見名知意所以就要想辦法區分開)命名全部是小寫。

包其實就是文件夾。用以把相同的類名區分(每個字母都是小寫)

? 單級包:liuyi

? 多級包:cn.itcase? (.是用來區分的級的。)

3.類和接口? 命名一個時,首字母大寫。多個時,每個單詞首字母必須大寫

? 接口可以看做是和類一樣的東西。

? 一個單詞:Student

多個單詞: HelloWorld,StudentName

4.方法和變量

一個單詞命名單詞首字母必須大寫

? 一個單詞:main ,age

? 多個單詞,從第二個開始,每個單詞首字母大寫

? 舉例:studentAge.? showStudentNames()? 【加()的是方法,不加的變量】

5.常量 (每個字母都大寫)

一個單詞全部大寫 如:PI

多個單詞每個字母大寫用_分開? 如:STUDENT_MAX_AGE

4.注釋

1.單行注釋//

2.多行注釋不能嵌套使用:/* */(多行注釋不能嵌套,會沒法運行)

3.文檔注釋;被javadoc工具解析生成一個說明書,面對對象部分講解(沒講)

? //** */比多行注釋多了一個*

注釋有兩個作用:

一是:可以通過注釋來找程序的問題。可以幫我們調試程序。

二是:可以提高程序的閱讀性

6.常量

1.字面值常量與自定義常量(后面講)

字面值常量

? ? ? ? ? 1 字符串常量? 如 括號內形式“ HelloWorld”輸出的字符串內容

? ? ? ? ? 2 整數性常量? 如 括號內形式 100 200

? ? ? ? ? 3 小數常量? 如? 括號內形式? 10.2? 11.22

? ? ? 4 字符常量(用單引號栝起來的單個字符)? 如 括號內形式 ‘a’ ‘b’? ‘0’(這里0是一個字符不是數字)’ab’(這是錯誤的寫法)

5布爾常量

比較特殊:括號內形式 :只有ture和false

? ? ? ? ? 6 空常量(后面講)

? ? ? ? ? ? 如:null

7.進制

2進制只有兩個狀態,所以用8個二進制數來表示一個數據,這個單位叫字節

1byte(字節)=8bit 、、1k=1034byte

8進制是吧110? 100? 111 三個數字分為一塊然后用十進制算法算出表示

16進制是吧1110? 0001 四個一組用十進制的算法算出然后表示

規則: 進制越大,表示形式越短

3.

因為直接看數據分不出是幾進制所以

二進制開頭是0b? (后綴一個B也表示為二進制)

八進制開頭是0?

十六進制開頭是0x

寫程序出錯:

1.把100也加上引號,整數不用加

2.修改過后沒有保存,就運行所以結果不會變

8.原碼,反碼,補碼

在計算機內,有符號數有3種表示方法:原碼,反碼,補碼。

計算機所有的運算都是采用數據對應的二進制補碼運算的。

?

原碼:

正數的原碼最高位為0

負數的原碼最高位為1

其他是數值位(數值位前面的用0補齊夠7位)

? ? 符號位? 數值位

+7? ? 0? ? ? 0000111

-7? ? 1? ? ? 0000111

反碼:

? ? 正數的反碼與原碼一樣

? ? 負數的反碼符號位不變,數值位每一位取反,就是0變1,1變0

? ? ? ? 符號位? 數值位

+7? 0? ? ? 0000111

-7? 1? ? ? 1111000

補碼:

? ? 正數的補碼與原碼一樣

負數的補碼是補碼+1(當然是最小位)(注意:不能先寫符號位了,因為類似111111111最后符號位會變)

? ? ? ? 符號位? ? 數值位

+7? ? 0? ? ? 0000111

-7? ? 1? ? ? 1111001?

1.已知某數x的原碼10110100B。求補碼與反碼

?

反碼1? 1001011

補碼1? 1001100

2.已知某數x的補碼11101110B。求原碼

補碼:1? 1101110

反碼:1? 1101101

原碼:1? 0010010

9.什么是變量

10.數據類型

1.

Java是一種強數據類型的語言。

2.分為基本數據類型和引用數據類型

基本數據類型:4類8種

整數:

? ? ? ? ? 所占字節數

? byte? ? ? 1

? short? ? ? 2? ?

? int? ? ? ? 3

? long? ? ? ? 4?

浮點數(小數):

? ? ? ? ? ? ? ? 所占字節數

? float(單精度)? ? ? 4

? double(雙精度)? ? 8

? ? ? ?

字符:

? ? ? ? 所占字節數

? char :? ? 2

布爾:

? ? ? ? 所占字節數(很多地方沒有明確給定,但因為只有0、1兩種情況,所以認為是1)

boolean:? 1

各種類型的取值正負都可byte(1字節):? -128~127

整數默認int 小數默認 double

引用數據類型3種(以后講)

3.

1byte=8bie \\ 1字節等于8位? (對于原碼的問題:如果第8位剛好是數值型怎么辦,還怎么分原碼,那就用2字節來表示,進而區分原碼……)

1.定義變量注意事項:

當定義的整數型變量超過 int 型時,就需要用long型寫,需要注意用long時long=100000000L(L大小寫都可以)。如果不寫還是會按int型處理,然后會報錯。

同理double型也是,如果用float型時,會提醒你可能損失精度,因為float型時4字節,可能會自動刪除變量超出的部分,所以會提醒可能損失精度;

如圖

字符型如圖:

布爾型;

2.定義變量注意的問題:

變量適用的范圍:

1.格式最好是

?

2.一行可以定義多個變量,但是不建議。如

3.可以同時定義多個如:

4.可以先定義一個變量,而不給初始值,只要在使用(輸出)前 初始化就行;如:

5不能這樣:

用,隔開會以為是同一種類型。所以計算機識別不了int 屬于int類型,所以好會報錯。

11.運算符

1.

一般來說用運算符的時候,左右兩邊數據類型要一致。

+中可以直接在括號內寫然后實現運算結果如:…….println(3+4)

2.

如果前后數據類型不一致,都向大的靠近(不讓就會提示可能損失精度)。如圖:

下圖是算的原理;

字節少的先変為,字節更長的形式,在進行運算。如圖:

3.

強制轉換:

不要隨意去使用強制轉換,因為可能確會損失精度。

就是說,當你知道。大的與小的運算結果,明明byte字節夠用時,可以強制轉換。

寫法: byte c = (byte)(a + b);?

正常寫法: byte c = a + b ;

注意:如果后面是一個變量如:byte c = (byte) a? 這里不用加括號,只有多個才用加。

4.

float a = (float) 29.323;

float a= 29.323F;

這兩個是一樣的,但是第一個是把double類型,截取然后成為float類。而第二個,本身就可以是一個float類型。

面試題:

題1.

答案是:

第二句會編譯失敗,因為第二句的變量相加是會自動變為int型,而b是byte,把int給byte會損失精度,所以會報錯。變量賦值給變量是先在運行的時候(.class)文件時,才運算。

第三句是常量加法,是先計算出來后面的結果,如果結果在byte類型里,就不提示會損失精度,不報錯。

byte b1 = 2 ,b2 = 3 , b 這種寫法是可以的。

反編譯工具:xjad.exe? 可以把class文件讀出來。方便差錯。

題2.

有問題:因為byte取值范圍 -128--127,130超過了,所以會報錯。

byte b = (byte) 130; 這樣強制轉換就不會報錯了。

結果:

做法分析,計算機是對補碼運算的,所以要走一遍原碼反碼補碼,在倒著走一遍才可以得出答案。?

130的二進制數為10000010

原碼、反碼、補碼都為 10000010? (正數的原 反 補一樣,負數 補碼+1)

int型? 00000000 00000000 00000000? 10000010

因為byte型,所以做截取操作? 10000010 (這是補碼)

? ? ? ? 符號位? ? 數值位

補碼? ? 1? ? ? ? 0000010

反碼? ? 1? ? ? ? 0000001

原碼? ? 1? ? ? ? 1111110

然后:1代表負數 ,后邊的是126

-126

12.ASCII碼表;

1.

System.out.println(‘a’+1);

‘a’? 97 后面的以此加 1

‘A’? 65

‘0’? 48

2.

只要字符串在前,+相當于連接符,結果自然就是字符串形式

如 System.out.println (“5+5=”+5+5)? \\5+5=55

System.out.println (5+5“=5+5”)? \\? 10=5+5

如果是整數+’a’ 會看成是 97 +1

雙引號,表示輸出字符串,單引號可以看成是char(字符)。

習慣;

1.

包名是:起包名時,全是小寫,多級包名時。給什么公司做,習慣就用該公司域名的反寫。如 com.baidu

2.

寫代碼的注釋;? 一般寫了需求和分析就行。后兩步直接寫代碼就行。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,646評論 6 533
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,595評論 3 418
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,560評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,035評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,814評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,224評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,301評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,444評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,988評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,804評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,998評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,544評論 5 360
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,237評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,665評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,927評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,706評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,993評論 2 374

推薦閱讀更多精彩內容