黑馬程序員_day02_Java語言基礎組成

---------- android培訓java培訓、java學習型技術博客、期待與您交流! ------------
Java 語言基礎組成

組成部分:關鍵字、標識符、註釋、常量與變量、運算符、語句、函數、數組。

一、關鍵字:某一種計算機語言對於指定的單詞賦予了特殊的含義。

特點:關鍵字中所有的字母均爲小寫。

用於定義數據類型的關鍵字:classinterfacebyteshortintlongfloatdoublecharbooleanvoid

用於定義數據類型值的關鍵字:truefalsenull

用於定義流程控制的關鍵字:ifelseswitchcasedefaultwhiledoforbreakcontinuereturn

用於定義訪問權限修飾符的關鍵字:privateprotectedpublic

用於定義類與類之間的關係的關鍵字:extendsimplements

用於建立實例及引用實例,判斷實例的關鍵字:newthissuperinstance of

用於異常處理的關鍵字:trycatchfinallythrowthrows

用於包的關鍵字:packageimport

二、標識符:程序中起的名字,包括0-9a-z$,_

注意:1,數組不可以開頭。2,名稱不可以使用關鍵字。

三、註釋:作用1:註解、說明、解釋。表現形式有三種:單行註釋,行的開始,//註釋的內容;多行註釋,有開始有結束,/*註釋的內容*/Java中特有的註釋,文檔註釋,/**-------*/  通常用於對程序進行說明並可以建立說明文檔。

作用2:用於調試程序,便於查錯

註釋的細節:註釋的嵌套。單行註釋中可以定義單行註釋,單行中可以定義多行註釋,多行註釋中可以定義單行註釋,多行註釋中不可以定義多行註釋。

用註釋對類進行文字性說明,便於日後生成說明文檔。

另外,代碼需要加註釋,增加可閱讀性 

多行註釋中寫明思路:1需求,2步驟,3用代碼來體現(代碼僅是思想的一種體現形式而已)

簡言之,我要做什麼,怎麼做,用什麼步驟來實現,用代碼來體現

四、常量與變量

Java中常量的分類:整數常量、小數常量、布爾型(boolean)常量(只有truefalse)、字符常量(將一個數字,字母或者符號用單引號標識)、字符串常量(將一個或者多個字符用雙引號標識)

對於整數,有四種表示形式,二、八、十、十六進制。八進制是用0(零)開頭,十六進制是以0x開頭

八個二進制位爲一個數據單元,這個單元稱爲字節,數據最小的單元。

十進制轉二進制,是除以2取餘數,從下向上,從高到低。

負數的二進制表現形式:對應的整數的二進制取反加1

凡是負數的二進制最高位是1。 -1的表現形式,二進制位都是1

變量:定義後,內存會分配一個存儲區域。該區域有變量名,數據類型,數據值。用來不斷的存放同一類型的常量,可以重複使用。

使用變量時注意變量的作用範圍:一對{}之間有效,初始化值

Java語言是強類型語言,對於每一種數據都定義了明確的具體數據類型,在內存中分配不同大小的內存空間。

數據類型分爲基本數據類型和引用數據類型兩大類。

基本數據類型:數值型(整數類型、浮點類型)、字符型、布爾型。

引用數據類型:類(class)、接口(interface)、數組([])。

整數類型(byteshortintlong),浮點類型(floatdouble

整數默認int,小數默認double

byte:一個字節(八個二進制位)範圍:-2^7-2^7-1(-128--127)

short :2個字節,範圍:-2^15-2^15-1  大約三萬多

int 4個字節。

單精度float4個字節。雙精度double 8個字節。

五、類型的轉換

byte b = 2;

b = b + 2;這時編譯報錯,可能精度丟失。因爲 右邊有變量存在。這裏 右邊的b發生了自動類型提升,由1字節的byte類型提升至4字節的int類型。

解決辦法b = (byte)(b+2);這裏進行了強制類型轉換,強制轉換時從低位開取,捨棄高位。

println'a'+1)字符會查ASCII碼,結果是98

println((char)('a'+1))結果是b

println("5+5="+5+5) 結果是5+5=55 字符串和任何數據做+動作,都是相連接,生成新的字符串

println("5+5="+(5+5)) 結果是5+5=10

println("a="+a+",b="+b) 輸出a=  ,b=  雙引號內是不變化的部分。

六、運算符

算數運算符:+-*、 %(模,取餘)、+(連接符,用於連接字符串)、++自增、--自減。

int x=52; x=x/10*10;結果爲50

5%2=1(任何整數模於2的結果不是1就是0) 

88%10=8(任何整數模於a的結果的範圍爲0a-1

-3%5= -3 , 3%-5=3  (進行模運算時,符號參考左邊值)

當自增參與運算時,++在前在後是有區別的。

a=3;

b= ++a;(先自增,後賦值

println("a="+a+",b="+b) (注意這裏輸出語句中不可寫成println(a,b))  結果輸出爲a=4,b=4

a=3;

b=a++;(先臨時存儲,後自增,再將臨時存儲的數據進行賦值)

println("a="+a+",b="+b) a在前,++在後,說明a的數值需要參加++以外的運算,比如賦值給b的運算)1、先將a變量中的數據進行臨時存儲 temp=a; 2、自增運算 a=a+1; 3、將臨時存儲a數據的變量賦值給b=temp

結果輸出爲a=4b=3

七、賦值運算符

=+=-=*=/=%=

+=:將左右兩邊的和賦給左邊 x+=2,即x=x+2

short s=3

s=s+6;編譯錯誤,因爲右邊有變量

s+=6;編譯通過,因爲+=是賦值運算,會有一個自動類型轉換動作,short s=3;便進行了自動類型轉換。

八、比較運算符

><>=<===!=

比較運算符運算結果要麼是true要麼是false

九、邏輯運算符(用來連接boolean類型的表達式)

且、與 :符號兩邊有一個false,結果都會是false。 兩邊都是true時,結果纔會是true

或:符號兩邊有一個true,結果都會是true。兩邊都是false時,結果纔會是false

&&(短路&、雙&):當左邊是false時,右邊不參與運算。單與&時,兩邊都參與運算。

||:當左邊是true時,右邊不參與運算。單|時,兩邊都參與運算。

^:異或 兩邊結果一致爲false ,不相同爲true

!非:!true=false !!true=true

十、位運算

左移<< :乘以2次冪運算,空位出現在低位,用0補位即可。

右移>>:除以2次冪運算,空位出現在高位,原高位是什麼,就用什麼來補位。

無符號右移>>>:空位出現在高位,無論原高位是什麼,都用0來補。

與 例:6&3 =2

 110

& 011

-------

  010

應用:獲取1000 0010 0110中的後四位,可以用0000 0000 1111來做&運算 便可。 若想得到的是中間的四位,可以先對前者進行移位,這裏最好用無符號右移>>>

或 例:6|3=7

  110

|  011

---------

  111

異或:6^3=5,5^3=6,即一個數異或另一個數兩次,結果還是原來的數。可用於加密

取反:~6=-7,因爲-66取反後加1,所以6只取反爲-6-1=-7

位運算速度較快,因爲是在原數據基礎上進行的操作。

十一、三元運算符

格式:(條件表達式)?表達式1:表達式2

條件表達式=true,則表達式1=false,則表達式2

例 int a =3 ,b =8, max;

max=a>b?a:b; ab中的最大值

----------------------- android培訓java培訓、java學習型技術博客、期待與您交流! ----------------------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章