組成部分:關鍵字、標識符、註釋、常量與變量、運算符、語句、函數、數組。
一、關鍵字:某一種計算機語言對於指定的單詞賦予了特殊的含義。
特點:關鍵字中所有的字母均爲小寫。
用於定義數據類型的關鍵字:class、interface、byte、short、int、long、float、double、char、boolean、void。
用於定義數據類型值的關鍵字:true、false、null
用於定義流程控制的關鍵字:if、else、switch、case、default、while、do、for、break、continue、return
用於定義訪問權限修飾符的關鍵字:private、protected、public
用於定義類與類之間的關係的關鍵字:extends、implements
用於建立實例及引用實例,判斷實例的關鍵字:new、this、super、instance of
用於異常處理的關鍵字:try、catch、finally、throw、throws
用於包的關鍵字:package、import
二、標識符:程序中起的名字,包括0-9,a-z,$,_
注意:1,數組不可以開頭。2,名稱不可以使用關鍵字。
三、註釋:作用1:註解、說明、解釋。表現形式有三種:單行註釋,行的開始,//註釋的內容;多行註釋,有開始有結束,/*註釋的內容*/;Java中特有的註釋,文檔註釋,/**-------*/ 通常用於對程序進行說明並可以建立說明文檔。
作用2:用於調試程序,便於查錯
註釋的細節:註釋的嵌套。單行註釋中可以定義單行註釋,單行中可以定義多行註釋,多行註釋中可以定義單行註釋,多行註釋中不可以定義多行註釋。
用註釋對類進行文字性說明,便於日後生成說明文檔。
另外,代碼需要加註釋,增加可閱讀性
多行註釋中寫明思路:1需求,2步驟,3用代碼來體現(代碼僅是思想的一種體現形式而已)
簡言之,我要做什麼,怎麼做,用什麼步驟來實現,用代碼來體現
四、常量與變量
Java中常量的分類:整數常量、小數常量、布爾型(boolean)常量(只有true、false)、字符常量(將一個數字,字母或者符號用單引號標識)、字符串常量(將一個或者多個字符用雙引號標識)
對於整數,有四種表示形式,二、八、十、十六進制。八進制是用0(零)開頭,十六進制是以0x開頭
八個二進制位爲一個數據單元,這個單元稱爲字節,數據最小的單元。
十進制轉二進制,是除以2取餘數,從下向上,從高到低。
負數的二進制表現形式:對應的整數的二進制取反加1
凡是負數的二進制最高位是1。 -1的表現形式,二進制位都是1。
變量:定義後,內存會分配一個存儲區域。該區域有變量名,數據類型,數據值。用來不斷的存放同一類型的常量,可以重複使用。
使用變量時注意變量的作用範圍:一對{}之間有效,初始化值
Java語言是強類型語言,對於每一種數據都定義了明確的具體數據類型,在內存中分配不同大小的內存空間。
數據類型分爲基本數據類型和引用數據類型兩大類。
基本數據類型:數值型(整數類型、浮點類型)、字符型、布爾型。
引用數據類型:類(class)、接口(interface)、數組([])。
整數類型(byte、short、int、long),浮點類型(float、double)
整數默認int,小數默認double。
byte:一個字節(八個二進制位)範圍:-2^7-2^7-1(-128--127)
short :2個字節,範圍:-2^15-2^15-1 大約三萬多
int :4個字節。
單精度float:4個字節。雙精度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的結果的範圍爲0到a-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 ,b=temp
結果輸出爲a=4,b=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,因爲-6是6取反後加1,所以6只取反爲-6-1=-7
位運算速度較快,因爲是在原數據基礎上進行的操作。
十一、三元運算符
格式:(條件表達式)?表達式1:表達式2
條件表達式=true,則表達式1,=false,則表達式2
例 int a =3 ,b =8, max;
max=a>b?a:b; 取a和b中的最大值
----------------------- android培訓、java培訓、java學習型技術博客、期待與您交流! ----------------------