常量和變量
1. 常量
1.1常量的概念
l 在程序執行的過程中,其值不可以發生改變的量。
l 常量本質是一個明確的數據。
l 只限在運行期間,值不可以發生改變。
1.2常量的類型
l 字符串常量 用雙引號括起來的內容(“HelloWorld”)
l 整數常量 所有整數(12,-23)
l 小數常量 所有小數(12.34)
l 字符常量 用單引號括起來的內容(‘a’,’A’,’0’)
l 布爾常量 BOOLEAN 較為特有,只有true和false
l 空常量 null
2. 變量
1.1變量的概念
l 變量的本質是一個內存區域,組成包括以下幾個部分:
1.數據類型
意義:限定存在該區域的內容的類型。
2.變量名
意義:通過名字取出數據。
3.初始值
意義:當申請內存區域不使用時,沒有意義。
1.2變量的格式
變量的格式主要分為以下兩種:
2.變量的格式:
a.數據類型 變量名 = 初始值;
b.數據類型 變量名;
變量名= 初始值;
在書寫變量的格式時,總的原則是要以不變應萬變。
1.3變量的數據類型
變量的基本數據類型有四類八種。
變量的引用數據類型包括數組、類和接口。
1.4注意事項
基本數據類型使用時的注意事項:
l 整數默認是int類型,浮點數默認是double。
l 定義long類型數據的時候,要加L或者l,建議加L。
l 定義float類型數據的時候,要加F或者f,建議加F。
l Java中的字符采用的是Unicode字符集,每一個字符佔用兩個字節,就可以存儲一個漢字。
l boolean類型適用於邏輯運算,一般用於流程控制。
變量定義的注意事項:
l 變量未賦值時,不能直接使用。
l 變量只在它所屬的範圍內有效,變量在哪對大括號內,變量就屬於哪對大括號。
l 一行上可以定義多個變量,但是不建議。
1.5變量的定義和使用的代碼示範
public class VariableDemo { public static void main(String[] args) { //定義byte類型的變量 byte b = 99; System.out.println(b); //定義short類型的變量 short s = 10000; System.out.println(s); //定義int類型的變量 int i = 1600000000; System.out.println(i); //定義long類型的變量 long l = 6000000000L; System.out.println(l); //定義float類型的變量 float f = 12.34F; System.out.println(f); //定義double類型的變量 double d = 12.34; System.out.println(d); //定義char類型的變量 char c = 'a'; System.out.println(c); //定義boolean類型的變量 boolean bb = false; System.out.println(bb); }}
3. 數據類型轉換
3.1默認轉換
l 概念:範圍小的數據類型直接轉換成範圍大的數據類型
l 轉換規則:byte,short,char—int—long—float—double。
l 注意事項:byte,short,char相互之間不轉換,他們參與運算首先轉換為int類型。
l 代碼格式:範圍大的數據類型 變量 = 範圍小的數據類型值。
l 圖解:
l 代碼演示:
public class VariableDemo02 { public static void main(String[] args) { //定義兩個int類型的變量 int a = 3; int b = 4; int c = a + b; System.out.println(c); //定義一個byte類型,定義一個int類型 byte bb = 2; int cc = 5; System.out.println(bb + cc); //byte dd = bb + cc;可能損失精度 //byte,short,char類型在參與運算的時候會自動把自己提升為int類型 int dd = bb + cc; System.out.println(dd); }}
3.2強制轉換
l 概念:表示範圍大的數據類型強制轉換成範圍小的數據類型。
l 代碼格式:範圍小的數據類型 變量 = (範圍小的數據類型) 範圍大的數據類型值;
l 不建議使用強制轉換,有可能損失數據的精度。
l 代碼演示:
public class VariableDemo03 { public static void main(String[] args) { int a = 3; byte b = 4; int c = a + b; //byte d = a + b;可能損失精度 byte d = (byte) (a + b); }}
閱讀更多 文瀧Vincent 的文章