天天看點

Java基礎文法01-文法-變量-基本資料類型-運算符

Java入門

Java 是最好的語言嗎?

不是,因為在每個領域都有更合适的程式設計語言。

Java技術體系平台

JavaSE//JavaEE//JavaME

Java程式的結構

類{

  方法{

    語句;

  }

}

Java基礎知識

注釋:

單行

//

多行

/*

*/

文檔

/**

關鍵字:

Java 有50餘個關鍵字

常量:

字面量常量(“HwlloWorld,123”)

final修飾的變量

運算符

辨別符:

1、辨別符的命名規則(必須遵守)

(1)Java的辨別符隻能使用26個英文字母大小寫,0-9的數字,下劃線_,美元符号$

(2)不能使用Java的關鍵字(包含保留字)和特殊值

(3)數字不能開頭

(4)不能包含空格

(5)嚴格區分大小寫

2、辨別符的命名規範(遭受鄙視)

(1)見名知意

(2)類名、接口名等:每個單詞的首字母都大寫,形式:XxxYyyZzz,

例如:HelloWorld,String,System等

(3)變量、方法名等:從第二個單詞開始首字母大寫,其餘字母小寫,形式:xxxYyyZzz,

例如:age,name,bookName,main

(4)包名等:每一個單詞都小寫,單詞之間使用點.分割,形式:xxx.yyy.zzz,

例如:java.lang

(5)常量名等:每一個單詞都大寫,單詞之間使用下劃線_分割,形式:XXX_YYY_ZZZ,

例如:MAX_VALUE,PI

基本資料類型:

Java基礎文法01-文法-變量-基本資料類型-運算符

變量

變量三要素

1、資料類型

2、變量名

3、值

變量的作用:用來存儲資料,代表記憶體的一塊存儲區域,這塊記憶體中的值是可以改變的。

變量的使用應該注意什麼?

1、先聲明後使用

2、在使用之前必須初始化,也就是指派

3、變量有作用域

4、在同一個作用域中不能重名

變量的聲明:

資料類型  變量名;

變量的指派:

變量名 = 值;

變量的使用:

通過變量名直接引用

進制的換算

十進制資料轉成二進制資料:

使用除以2倒取餘數的方式

二進制資料轉成十進制資料:

從右邊開始依次是2的0次,2的1次,2的2次。。。

二進制資料轉八進制資料:

從右邊開始,三位一組

二進制資料轉十六進制資料

從右邊開始,四位一組

資料存儲的最小機關。也就是二進制。二進制數系統中,每個0或1就是一個位,叫做bit(比特),其中8 bit 就稱為一個位元組(Byte)。

解釋:計算機資料的存儲(了解)

1000 0000 ==> -128(特殊規定)

計算機資料的存儲使用二進制補碼形式存儲,并且最高位是符号位,1是負數,0是正數。

規定:正數的補碼與反碼、原碼一樣,稱為三碼合一;

負數的補碼與反碼、原碼不一樣:

負數的原碼:把十進制轉為二進制,然後最高位設定為1

負數的反碼:在原碼的基礎上,最高位不變,其餘位取反(0變1,1變0)

負數的補碼:反碼+1

為什麼float(4個位元組)比long(8個位元組)的存儲範圍大?

因為float、double底層也是二進制,先把小數轉為二進制,然後把二進制表示為科學記數法,然後隻儲存:

(1)符号位(2)指數位(3)尾數位

詳見:float型和double型資料的存儲方式

雖然計算機底層使用0和1表示false和true,但是在代碼中不能給boolean類型的變量指派0和1,隻能指派false和true

編碼表 :就是将人類的文字和一個十進制數進行對應起來組成一張表格。

基本資料類型轉換

1、自動類型轉換(隐式類型轉換)

取值範圍小的類型

自動提升為

取值範圍大的類型

Java基礎文法01-文法-變量-基本資料類型-運算符

2、強制類型轉換(顯示類型轉換)

取值範圍大的類型

強制轉換成

取值範圍小的類型

資料類型 變量名 = (資料類型)被強轉資料值;

任意資料類型的資料與String類型進行“+”運算時,結果一定是String類型

但是String類型不能通過強制類型()轉換,轉為其他的類型

運算符優先級

Java基礎文法01-文法-變量-基本資料類型-運算符

++

運算,變量自己的值加1。反之,

--

運算,變量自己的值減少1

1、單獨使用

前++

和變量

後++

,變量的是一樣的;

2、複合使用

前++

:變量先自身加1,然後再取值。

後++

:變量先取值,然後再自身加1。

指派運算符

所有的指派運算符的=左邊一定是一個變量

byte,short,char 之間運算後會自動類型提升為int型

擴充指派運算符在将最後的結果指派給左邊的變量前,都做了一步強制類型轉換

例:short a += 1;結果還是short類型,可能損失精度

比較運算符:

是兩個資料之間進行比較的運算,運算結果一定是boolean值

true

或者

false

其中>,<,>=,<=不支援boolean,String類型,==和!=支援boolean和String。

邏輯運算符:

是用來連接配接兩個布爾類型結果的運算符(

!

除外),運算結果一定是boolean值

true

false

&&

&

結果一樣,

&&

有短路效果,左邊為false,右邊不執行;

&

左邊無論是什麼,右邊都會執行。

||

|

||

有短路效果,左邊為true,右邊不執行;

|

三元運算符

 資料類型 變量名 = 關系表達式?結果1:結果2

條件判斷的結果是true傳回1,false傳回2

位運算符(了解)

左移:<<

運算規則:左移幾位就相當于乘以2的幾次方

右移:>>

運算規則:右移幾位就相當于除以2的幾次方

無符号右移:>>>

運算規則:往右移動後,左邊空出來的位直接補0,不看符号位

按位與:&

運算規則:

1 & 1 結果為1

1 & 0 結果為0

0 & 1 結果為0

0 & 0 結果為0

按位或:|

1 | 1 結果為1

1 | 0 結果為1

0 | 1 結果為1

0 | 0 結果為0

按位異或:^

1 ^ 1 結果為0

1 ^ 0 結果為1

0 ^ 1 結果為1

0 ^ 0 結果為0

按位取反:~

運算規則:~0就是1

~1就是0

如何區分&,|,^是邏輯運算符還是位運算符?

如果操作數是boolean類型,就是邏輯運算符,如果操作數是整數,那麼就位運算符。

提示:

(1)表達式不要太複雜

(2)先算的使用()