Java基本語法——變量
關鍵字(keyword)
定義:被Java語言賦予了特殊含義,用做專門用途的字符串(單詞)
特點:關鍵字中所有字母都為小寫
保留字(reserved word):
現有Java版本尚未使用,但以后可能會作為關鍵字使用。自己命名標識符時要避免使用這些保留字。例如:goto、const
標識符(identifier)
Java對各種變量、方法和類等要素命名時使用的字符序列稱為標識符。
標識符的使用:凡是自己可以起名字的地方都叫標識符。比如:類名、變量名、方法名、接口名、包名……
①標識符的命名規則:——》如果不遵守,則編譯不通過!
- 由26個英文字母大小寫,0~9,_或$組成;
- 數字不可以開頭;
- 不可以使用關鍵字和保留字,但能包含關鍵字和保留字;
- Java中嚴格區分大小寫,長度無限制;
- 標識符不能包含空格;
②標識符的命名規范:——》不遵守,編譯能通過!
- 包名:多單詞組成時所有字母都小寫:xxxyyyzzz
- 類名、接口名:多單詞組成時,所有單詞的首字母大寫:XxxYyyZzz(大駝峰)
- 變量名、方法名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫:xxxYyyZzz(小駝峰)
- 常量名:所有字母都大寫。多單詞時每個單詞用下划線連接:XXX_YYY_ZZZ
④ 注意1:在起名字時,為了提高閱讀性,要盡量有意義,“見名知意”。
注意2:java采用unicode字符集,因此標識符也可以使用漢字聲明,但是不建議使用。
變量
變量的概念:
內存中的一個存儲區域
該區域的數據可以在同一類型范圍內不斷變化
變量是程序中最基本的存儲單元。包含變量類型、變量名和存儲的值
變量的作用:
用於在內存中保存數據
變量的使用:
①Java定義變量的格式:數據類型 變量名 = 變量值;
②說明
Ⅰ變量必須先聲明,后使用
Ⅱ變量都定義在其作用域內。在作用域內(其定義所在的一對{}內),它是有效的
Ⅲ同一個作用域內,不可以聲名兩個同名變量(逆向思維,反證法)
使用變量名來訪問這塊區域的數據
變量的作用域:其定義所在的一對{ }內
數據類型
整數類型:byte、short、int、long
- Java各整數類型有固定的表數范圍和字段長度,不受具體OS的影響,以保證java程序的可移植性。
- java的整型常量默認為 int 型,聲明long型常量須后加‘l’或‘L’
- java程序中變量通常聲明為int型,除非不足以表示較大的數,才使用long
浮點型常量有兩種表示形式:
Java 的浮點型常量默認為double型,聲明float型常量,須后加‘f’或‘F’。
- 十進制數形式:如:5.12 512.0f .512 (必須有小數點)
- 科學計數法形式:如:5.12e2 512E2 100E-2
float:單精度,尾數可以精確到7位有效數字。很多情況下,精度很難滿足需求。
double:雙精度,精度是float的兩倍。通常采用此類型。
字符型——char型數據用來表示通常意義上“字符”(2字節)
Java中的所有字符都使用Unicode編碼,故一個字符可以存儲一個字母,一個漢字,或其他書面語的一個字符。
字符型變量的三種表現形式:
Ⅰ字符常量是用單引號(‘ ’)括起來的單個字符。例如:char c1 = 'a'; char c2 = '中'; char c3 = '9';
ⅡJava中還允許使用轉義字符‘\’來將其后的字符轉變為特殊字符型常量。例如:char c3 = ‘\n’; // '\n'表示換行符
Ⅲ直接使用 Unicode 值來表示字符量:‘\uXXXX’。其中,XXXX代表一個十六進制整數。如:\u000a 表示 \n。
注:char類型是可以進行運算的。因為它都對應有Unicode碼。
boolean類型數據只允許取值true和false,無null。
不可以使用0或非 0 的整數替代false和true,這點和C語言不同。
Java虛擬機中沒有任何供boolean值專用的字節碼指令,Java語言表達所操作的boolean值,在編譯之后都使用java虛擬機中的int數據類型來代替:true用1表示,false用0表示。———《java虛擬機規范 8版》boolean 類型用來判斷邏輯條件,一般用於程序流程控制。
亂碼情況和字符集說明
ASCII碼一共規定了128個字符的編碼
Unicode:一種編碼,將世界上所有的符號都納入其中。每一個符號都給予一個獨一無二的編碼,使用Unicode 沒有亂碼的問題。
UTF-8 是在互聯網上使用最廣的一種 Unicode 的實現方式。一種變長的編碼方式。它可以使用 1-6 個字節表示一個符號,根據不同的符號而變化字節長度。
基本數據類型之間的運算規則
前提:只討論7種基本數據類型變量間的運算。不包含boolean類型的。
①自動類型提升:byte、short、char——》int——》long、——》float——》double
當容量小的數據類型的變量與容量大的數據類型的變量做運算時,結果自動提升為容量大的數據類型。
說明:此時的容量大小指的是,表示數的范圍的大和小。比如:float容量大於long的容量。
特別的:當byte、char、short三種類型的變量做運算時,結果為int型。
②強制類型轉換:自動類型提升運算的逆運算
Ⅰ需要使用強轉符:()
Ⅱ注意點:強制類型轉換,可能導致精度損失。
注意特殊情況:
long和float類型若未加相應的后綴,可能會報錯(整型和浮點型變量會分別默認int和double類型)
String類型變量的使用
①String屬於引用數據類型,翻譯為:字符串
②聲明String類型變量時,使用一對""
③String可以和8種基本數據類型變量做運算,且運算只能是連接運算:+
④運算的結果仍然是String類型
進制與進制間的轉換
計算機中不同進制的使用說明
對於整數,有四種表示方式:
①二進制(binary):0,1,滿2進1,以0b或0B開頭
②十進制(decimal):0-9,滿10進1
③八進制(octal):0-7 ,滿8進1. 以數字0開頭表示。
④十六進制(hex):0-9及A-F,滿16進1. 以0x或0X開頭表示。此處的A-F不區分大小寫。如:0x21AF +1= 0X21B0
二進制的整數有如下三種形式:
原碼:直接將一個數值換成二進制數。最高位是符號位
負數的反碼:是對原碼按位取反,只是最高位(符號位)確定為1。
負數的補碼:其反碼加1。
計算機以二進制補碼的形式保存所有的整數。
關系:正數的原碼、反碼、補碼都相同
負數的補碼是其反碼+1