1、變量的概念:
- 內存中的一個存儲區域
- 該區域有自己的名稱(變量名)和類型(數據類型)
- Java中每個變量必須先聲明,後使用
- 該區域的數據可以在同一類型範圍內不斷變化
- 變量的作用域:一對{ }之間有效
- 初始化值
2、變量的分類
對於每一種數據都定義了明確的具體數據類型,在內存中分配了不同大小的內存空間。
1)整數類型:byte、short、int、long
- Java各整數類型有固定的表數範圍和字段長度,不受具體OS的影響,以保證java程序的可移植性。
- java的整型常量默認爲int型,聲明long型常量須後加‘l’或‘L’
2)浮點類型:float、double
- 與整數類型類似,Java 浮點類型也有固定的表數範圍和字段長度,不受具體OS的影響。
- ava的浮點型常量默認爲double型,聲明float型常量,須後加‘f’或‘F’。
- 浮點型常量有兩種表示形式:十進制數形式:如:5.12 512.0f .512 (必須有小數點)、科學計數法形式:如:5.12e2 512E2 100E-2
3)字符類型:char
- char 型數據用來表示通常意義上“字符”(2字節)
- 字符型常量的三種表現形式:字符常量是用單引號(‘’)括起來的單個字符,涵蓋世界上所有書面語的字符。例如:charc1 = 'a'; char c2 = '中';char c3 = '9'; Java中還允許使用轉義字符‘\’來將其後的字符轉變爲特殊字符型常量。例如:charc3 = ‘\n’; // '\n'表示換行符直接使用 Unicode值來表示字符型常量:‘\uXXXX’。其中,XXXX代表一個十六進制整數。如:\u000a表示 \n。char類型是可以進行運算的。因爲它都對應有Unicode碼。
4)布爾類型:boolean
- boolean類型適於邏輯運算,一般用於程序流程控制:
- boolean類型數據只允許取值true和false,無null。
不可以0或非 0 的整數替代false和true,這點和C語言不同
5)基本數據類型轉換
- 自動類型轉換:容量小的類型自動轉換爲容量大的數據類型。數據類型按容量大小排序爲:
- 有多種類型的數據混合運算時,系統首先自動將所有數據轉換成容量最大的那種數據類型,然後再進行計算。
- byte,short,char之間不會相互轉換,他們三者在計算時首先轉換爲int類型。
- 當把任何基本類型的值和字符串值進行連接運算時(+),基本類型的值將自動轉化爲字符串類型。
6)強制類型轉換
- 自動類型轉換的逆過程,將容量大的數據類型轉換爲容量小的數據類型。使用時要加上強制轉換符(()),但可能造成精度降低或溢出,格外要注意。
- 通常,字符串不能直接轉換爲基本類型,但通過基本類型對應的包裝類則可以實現把字符串轉換成基本類型。
- 如: Stringa = “43”; inti = Integer.parseInt(a);
- boolean類型不可以轉換爲其它的數據類型。
7)String類
- 值null可以賦值給任何引用類型(類、接口、數組)的變量,用以表示這個引用類型變量中保存的地址爲空。
- String類屬於引用類型,可用null賦值。
- String類是一個典型的不可變類,String對象創建出來就
不可能被改變。創建出的字符串將存放在數據區,保證
每個字符串常量只有一個,不會產生多個副本。
String s0 = “hello”;
String s1 = “hello”;
String s2 = “he” + “llo”;
System.out.println(s0==s1);
System.out.println(s0==s2);
Strings3 = new String(“hello”);又如何理解呢?