一,常量
常量的定義:
常量表示不能改變的數值。
常量的分類:
1,整數常量
2,小數常量
3,布爾型(Boolean)常量,值有兩個:true,false。
4,字符常量,
定義:將一個(只能是一個)數字、字母、符號用單引號(‘’)標識
5,字符串常量,
定義:將一個或多個字符用雙引號(“”)標識
6,null常量,它只有一個數值:null。
二,在計算機中,整數的四種表現形式
二進制:
用0和1表示的計算機能識別的語言,
正數最高位是0,負數最高位是1.
八進制:
用0,1,2,3,4,5,6,7八個數字表示,用0開頭表示,
十進制:
用0,1,2,3,4,5,6,7,8,9十個數字表示,一般數字默認爲十進制的
十六進制:
用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六個數字表示,以0x開頭
三,各進制之間的轉換
二進制轉換成十進制:
是一個乘以2然後相加的過程,從二進制的地位入手,例如:二進制數1011轉換成十進制
1*2(0)+1*2(1)+0*2(2)+1*2(3)=11
簡單算法:由低到高,1,2,4,8,16,32,64,123……,1位相加,0位不加
十進制轉換成二進制:
是一個除以2並獲取餘數的過程,然後把餘數從後往前(從下往上)寫下,即爲二進制的數值
十進制轉換成八或十六進制:
先二後八, 或 先二後十六
四,變量
定義:內存中的一個存儲空間。
定義變量的三要素:名字,類型,值。
好處:可以重複作用
什麼時候用?
當一個值不確定的時候
五.基本數據類型
Byte(字節型):取值範圍 -2(7)——-2(7)-1 即-128——+127。(一個字節,八個二進制位)
Short(短整型):取值範圍 -2(15)——-2(15)-1 (兩個字節,16個二進制位)
Int(整形):取值範圍-2(32)——-2(32)-1 (四個字節,32個二進制位)
Long(長整形):取值範圍-2(64)——-2(64)-1 (八個字節,64個二進制位)
取值範圍巧記:一兩飯,二兩飯,四兩飯,八兩飯(一兩的碗只能盛一兩的米,四兩的碗可以盛 一兩的米)
Char(字符型):任何字符都佔兩個字節。
整數默認爲int型,小數默認爲double型。所以:
Long和float需分別用L,f 標識(例如: long x=23434L; float y= 3.32f )
六,自動類型提升
1,所有的byte型、short型和char的值將被提升到int型
byte b = 3;
int x = 4;
x = x + b;//b會自動提升爲int類型進行運算。
強制類型轉換
byte b = 3;
b = b+ 4;//報錯
b = (byte)(b+4);//強制類型轉換,強制將b+4的結果轉換爲byte類型,再賦值給b。
七,%(模 取餘):例子:4%5=4 5%4=1 -4%5=-4 4%-5=4 -5%4=-5 5%-4=1
X%2(模與2的應用)是%模的最常見應用;
八,賦值運算符
=(等號):把有邊賦給左邊
+=(加等):把左邊和右邊的和賦給左邊 (強轉)
Short s = 4 ;
s=s+5; //編譯錯誤,二兩的碗不能放四兩的米
s+=5 ; //成功,因爲“+=”有強轉功能,s+=5 相當於 s=(short) (s+5)
九,邏輯運算符
&:兩邊的布爾表達式的結果,只要有一個位false,結果爲false,只有兩邊同時位truth,結果爲true。
&在二進制中的運算:1爲真,0爲假。 例如:110 & 101 = 100.
| :兩邊只要有以個true,結果肯定是true,只有兩邊都爲false結果是false。
^(異或) :兩邊相同就爲false,兩邊不同就位true。
&和&&(短路與)區別:
&:兩邊都運算
&&:如果左邊爲false,右邊不運算。
| 和 | | (短路或)區別:
| :兩邊都運算
|| :當左邊位true,右邊不運算
十,位運算符
<<(左移):就是將其二進制值向左移動,後補0. 算法:被移數乘以2的x(移動位數)次冪。
左移提高運算效率。(2的倍數的運算)
>>(右移):就是將其二進制值向右移動,最高位是什麼,空位就補什麼, 算法:被移數除以2的x(移動位數)次冪。
>>>(無符號右移):無論高位是什麼,右移出的空位都補0.
取二進制中的數據時比較常用。
例如:60 & 15 取60二進制的後四位,得:12.
60>>>4=3 3&15 取3二進制的後四位,得: 3 。
&: | :
^ (異或):一個數異或同一個數兩次,結果還是該數。(加密--解密)6^3^3=6
~ (反碼):例子:~6+1=-6 負數的二進制表現形式等於其正數取反加1.
三元運算符:
格式:結果=(條件表達式)?表達式1:表達式2;