Java入門-第三節-Java數據類型,變量和常量,進制轉換, Java運算符及表達式
一.Java數據類型。
>數據類型決定了內存中存儲數據的類型及所需內存的大小。
>Java的數據類型可分爲兩大類:
基本數據類型:byte、short、int、long、double、float、boolean、char
引用數據類型:類、接口、數組、枚舉、註解
byte類型 1個字節,8位;short類型 2個字節 16位; int類型 4個字節 32位;long類型 8個字節 64位;float 4個字節 32位; double類型 8個字節 64位; Boolean類型 只有true false兩個取值。
>浮點型是用來定義小數的關鍵字。
浮點型數據有如下兩種表示方式:
十進制形式,例如3.14。
科學計數法形式,例如3.14e1。
注意:
float f = 1.3;是錯誤的,1.3默認是double型的。在對float數據進行賦值時,要在數字的後面添加f(或F),否則Java編譯器會認爲1.3是一個double類型的數值,而double不能直接賦值給float類型,故:正確賦值方式應爲floatf1 = 1.3f.
>布爾型,又稱邏輯類型,只有true和false兩個取值,默認初始值爲false。這區別與C語言,在C語言標準(C89)沒有定義布爾類型,所以C語言判斷真假時以0爲假,非0爲真。
>字符型採用Unicode編碼,一個Unicode編碼佔2個字節(即16位),由於字符型不存在正負之分,所以其表示範圍爲0至2的16次方-1(0~65535)。
>Java數據類型轉換(無論是基本數據類型還是引用類型)分爲:
1.自動類型轉換
2.強制類型轉換
>將表示範圍小的數據類型賦值給表示範圍大的數據類型時,Java自動使用隱式類型完成數據類型轉換,即:
低-------------------------------------------------------------------------------------------------------------------------->高
byte ------------> short/char ------------> int ------------> long ------------> float ------------> double
>當把級別高的變量賦值給級別低的變量時,必須使用顯式類型轉換。顯示轉換格式:(要轉換的類型)被轉換的值。
>變量和常量
1.變量概述:Java通過定義變量來申請數據存儲空間,並通過變量名獲取或改變存儲的值。
變量命名規則:
變量名必須遵循標識符命名規則;
首字母必須小寫,如果由多個單詞組成,從第二個單詞開始首字母必須大寫;
變量名一般由名詞組成。
變量定義:[訪問控制符] [修飾符] 數據類型 變量名 [ = 初始值];
示例
–private static int x;
–static int y= 20;
2.常量概述
–常量有final關鍵字修飾
–常量是值不可變的變量,即不能重新賦值(有別於“值不變”)
–常量在聲明時必須進行初始化
常量定義
–[訪問控制符] [修飾符] final數據類型常量名 = 初始值;
示例
–static final double PI = 3.1415926;
•標識符命名區別:
變量:在符合標識符的前提下,首字母小寫,之後每個單詞的首字母大寫;
常量:在符合標識符的前提下,左右字母大寫,多個單詞之間用下劃線間隔;
•值是否可以重新改變:
變量:變量的值可以改變;
常量:常量的值初始化以後不允許再次改變;
•是否使用final關鍵字:
變量:一定沒有final關鍵字;
常量:必須使用final關鍵字修飾;
•是否需要初始化:
變量:只有局部變量在使用前必須賦值(不是初始化);
常量:必須在聲明的時候初始化;
>進制轉換
•計算機使用二進制數表示數值。需要將十進制數轉化爲二進制數進行存儲和計算。公式:
整數部分:除以2取餘
小數部分:乘以2取整
•例如:十進制數97轉爲byte類型的二進制01100001
•二進制轉十進制採用冪加和方式,從小數點左側第一位爲0次冪,小數點左側第二位爲1次冪,以此類推。當查看的位數爲1時,則計算,當查看的位數爲0時,則不計算。
•例如:01100001.轉化爲十進制數,該數值第1位、第6位和第7位的值爲1,則最後的結果爲1+ 32 +64 = 97
•補碼是計算機用於規範計算的一種二進制表示方式,由於計算機使用數值的第一位來表示數據的正負,例如:00000011表示+3,而10000011表示-3,這些非0數值在邏輯上的表示都是沒有問題的,這中表示方法稱爲源碼錶示法。但是用00000000表示+0,而10000000表示-0,則出現邏輯上的偏差,即:+0不等於-0。爲了解決這個問題,提出了補碼錶示法。
•補碼的計算公式:
正數:源碼、反碼和補碼都相同。
負數:補碼 = 反碼(符號位保持不變)+1
•注意:
負數在計算補碼的時候,在源碼取反的過程中要保留符號位不變,其他位取反,例如:10001010取反11110101(第一個1不變)。
>dJava語言支持如下運算符:
算術運算符:+、-、*、/、%、++、--
賦值運算符:=、+=、-=、*=、/=等等
位運算符:~、&、|、^
邏輯運算符:!、&&、||
關係運算符:>、<、>=、<=、== 、!=
移位運算符>>、<<、>>>(無符號右移)
>算術運算符:
加減運算符:+、-。例如:2+39、908.98-23等。
乘、除和取餘運算符:*、/、%。例如:2*3、908.98/23、5%2等。
自增、自減運算符:++、--。運算符放在變量前面,則先計算再使用;否則先使用再計算。
>注意:
Java按照運算符兩邊最高精度保留結果,即如果int類型數據與float類型數據進行運算,結果爲float類型
>位運算是將數據先轉化爲二進制數補碼形式,再逐位(bit)按規則計算。
“按位與”運算符“&”,規則:全1則1,否則爲0
“按位或”運算符“|”,規則:全0則0,否則爲1。
“按位非”運算符“~”,規則:遇1則0,遇0則1。
“按位異或”運算符“^”,規則:相同爲0,不同爲1