標籤:
1.1 8種基礎資料型別 (Elementary Data Type)
- 整數類型:byte(1位元組),short(2位元組),int(4位元組),long(8位元組)
- 浮點類型:float(4位元組),double(8位元組)
- 字元型:char(2位元組)
- 布爾型:boolean
①關於位元組(Byte)和位(bit):資料存放區以位元組(Byte)為單位,資料轉送大多以位(bit)為單位,在二進位中,一個"位"即表示一個0或1,每8個bit組成一個Byte,bit是最小一級的資訊單位。
②關於補碼:計算機儲存位元值是以補碼形式表示的。正數,補碼和原碼一致。負數,補碼為原碼取反,然後再加一。
③關於ASCII碼:美國標準資訊交換代碼,一個ASCII碼佔1個位元組(Byte),即8個bit,其中最高位用作同位位元,剩下的組成一個7位的二進位碼,可以表示27(128)種狀態,每一種狀態對應著一個十進位序號0~127,也就是說,一個ASICC碼可以表示128種字元。其中,0~32和127(共34個)是控制字元或通訊專用字元,33~126(共94個)是字元,48~57是0到9共10個阿拉伯數字,65~90是26個英文大寫字母,97~122是26個英文小寫字母,其餘的是一些標點符號、運算子號等。
④對於byte:byte是整數類型,可以這樣寫:
byte b = ‘c‘;
如果想取得字元c,可將byte強轉成char,如下:
public static void main(String[] args) { byte b = ‘c‘; System.out.println((char)b);}
返回結果為:c。
⑤對於char:JAVA語言將char作為一個無符號16位原始類型整數。也就是說,作為2位元組長度的char,它的取值範圍是0~65535,而同為2位元組的short,它的取值範圍是-32768~32767。
⑥關於JAVA的預設類型:JAVA中,整型資料預設為int,浮點型資料預設為double。所以float和long類型資料的申明需在樹值後面加上l、L或f、F。
1.2 進位轉換
- 各種進位轉十進位:從右至左為這個數從0開始一位一位地標號,各個位上面的數乘以此進位數的標號次冪再求和。
- (123.456)10=1*102+2*101+3*100+4*10+5*10-1+6*10-2=123.456
- (101.010)2=1*22+0*21+1*20+0*2-1+1*2-2+0*2-3=5.25
- (765.012)8=7*82+6*81+5*80+0*8-1+1*8-2+2*8-3=501.01953125
- (12A.C)16=1*162+2*161+10*160+12*16-1=298.75
- 十進位轉各種進位:整數部分除以此進位數取餘倒排序,小數部分取整正排序。
- 例如(123.456)10轉二進位:123除2,餘數分別是1、1、0、1、1、1、0,0.456乘2,整數分別為0、1、1、1、0、1、0、0、1、0、1……,餘數倒排序,整數正排序,結果為(123.456)10=(111011.01110100101)2
1.3 JAVA關鍵字
JAVA有50個保留的關鍵字,其中goto和const關鍵字沒有定義用途,作為JAVA語言中的保留字。
1.4運算子
邏輯運算中:&&(邏輯與)和||(邏輯或)具有短路功能,即在&&中,前一個為false則比較結束,直接返回false,在||中,前一個為true則比較結束,直接返回true。
位元運算符:對兩個運算數中的每一個二進位都進行運算。包括四種運算子:~(按位取反)、&(按位與)、|(按位或)、^(按位異或)
//不定義新變數的前提下把兩個資料進行轉換1void changeInt(int a, int b){ System.out.println("原來a為:"+a+"\n原來b為:"+b); a = a + b; b = a - b; a = a - b; System.out.println("後來a為:"+a+"\n原來b為:"+b);}//不定義新變數的前提下把兩個資料進行轉換2void changeInt(int a, int b){ System.out.println("原來a為:"+a+"\n原來b為:"+b); a = a ^ b; b = a ^ b; a = a ^ b; System.out.println("後來a為:"+a+"\n原來b為:"+b);}
位移運算子:分為左移(<<)、帶符號右移(>>)、無符號右移(>>>)。
- 左移(<<):a<<b表示將二進位形式的a逐位左移b位,最低位空出的b位補0。
- 帶符號右移(>>):a>>b表示將二進位形式的a逐位右移b位,最高位補原來的符號位。
- 帶符號右移(>>>):a>>>b表示將二進位形式的a逐位右移b位,最高位補0。
- 註:a<<b相當於將把a乘以2b,a>>b相當於將把a除以2b。由於位移運算速度快,所以在滿足2的冪次方的乘除運算,可以採用位移的方式進行。
1.5switch選擇語句
關於switch運算式傳回值的類型:在jdk1.6之前,只能是int、byte、char、short四中類型之一,在jdk1.7中新增支援String類型。
1.6break和continue
break用於跳出當前迴圈,執行迴圈後面的語句(只跳出一層);continue用於跳出當前迴圈體中剩餘的語句(只跳出一層),執行下一次迴圈。
注意:break和continue只跳出一層迴圈,如果想跳出多層迴圈,可配合標籤。代碼如下:
public static void main(String[] args) { outer: for (int i = 0; i < 4; i++) { for (int j = 0; j < 5; j++) { System.out.println("i="+i+" j="+j); if (i == 3 && j == 3) { break outer; } if (j == 2) { break; } } }}
當j == 3的時候,內部迴圈會停止,外部迴圈繼續;i == 3且j == 3的時候,整個迴圈都會停止。
1.JAVA基礎——文法相關