標籤:整數 自動 技術分享 字元類型 成員變數 標示 不能 注意 引用
變 量
變數的概念
記憶體中的一個儲存地區
該地區有自己的名稱(變數名)和類型(資料類型)
Java中每個變數必須先聲明,後使用
該地區的資料可以在同一類型範圍內不斷變化
定義變數的格式:資料類型 變數名 = 初始化值
1 public class Test{ 2 3 //成員變數 4 int c = 12; 5 public static void main(String [] args){ 6 7 //聲明了一個變數, 局部變數 8 int a = 12; 9 a = 15;10 11 System.out.println(a);12 13 //關於變數的範圍14 {15 int b = 20;16 System.out.println(b);17 System.out.println(a); 18 }19 20 //System.out.println(b);21 }22 }
變數是通過使用變數名來訪問這塊地區的
Java是強型別語言,每個變數必須先宣告類型,後使用
使用變數注意:
變數的範圍:一對{ }之間有效
變數的分類
按被聲明的位置劃分:
成員變數:方法外部、類的內部定義的變數
局部變數:方法或語句塊內部定義的變數
注意:類外面(類對應的大括弧外面)不能有變數的聲明
按所屬的資料類型劃分:
基礎資料型別 (Elementary Data Type)變數
引用資料類型變數
變數的分類-按資料類型
對於每一種資料都定義了明確的具體資料類型,在記憶體中分配了不同大小的記憶體空間。
整數類型:byte、short、int、long
Java各整數類型有固定的表數範圍和欄位長度,不受具體 OS 的影響,以保證 java 程式的可移植性。
Java 的整型常量預設為 int 型,聲明 long 型常量須後加 ‘l’ 或 ‘L’
//整型byte i1 = 124;short i2 = 3456;int i3 = 3456789;long i4 = 2345L;
浮點類型:float、double
與整數類型類似,Java 浮點類型也有固定的表數範圍和欄位長度,不受具體OS的影響。
Java 的浮點型常量預設為 double 型,聲明 float 型常量,須後加 ‘f’ 或 ‘F’。
//浮點型//Java 的浮點型常量預設為 double 型,聲明 float 型常量,須後加 ‘f’ 或 ‘F’。float i5 = 12.34F; //注意: 直接給 byte 類型的變數賦值為一個合法範圍內的數值, 可以通過編譯.//而直接給 float 類型的變數賦值為一個合法範圍內的浮點型, 則不能通過編譯byte i6 = 12;float i7 = 12; //i6 = 9;//int i8 = 9;//出現編譯錯誤. //i6 = i8;
浮點型常量有兩種表示形式:
十進位數形式:如:5.12 512.0f .512 (必須有小數點)
科學計數法形式:如:5.12e2 512E2 100E-2
字元類型:char
char 型資料用來表示通常意義上"字元"。
字元型常量的三種表現形式:
字元常量是用單引號(‘ ’)括起來的單個字元,涵蓋世界上所有書面語的字元。例如:char c1 = ‘a‘; char c2 = ‘中‘; char c3 = ‘9‘;
Java中還允許使用逸出字元‘\’來將其後的字元轉變為特殊字元型常量。例如:char c3 = ‘\n‘; -- ‘\n‘表示分行符號
直接使用 Unicode 值來表示字元型常量:‘\uXXXX’。其中,XXXX代表一個十六進位整數。如:\u000a 表示 \n。
//字元型char c1 = ‘尚‘;System.out.print(c1); //逸出字元char c2 = ‘\n‘;System.out.print(c2); //System.out.println() 列印後換行, System.out.print() 列印後不換行System.out.println(c1); //使用 unicode 編碼來標示字元char c3 = ‘\u0061‘;System.out.println(c3); //‘a‘ System.out.println(c3 + 1); //‘b‘//使用強制類型轉換System.out.println((char)(c3 + 1)); //String str = "abcde";
char 類型是可以進行運算的。因為它都對應有 Unicode 值。
布爾類型:boolean
boolean 類型適於邏輯運算,一般用於程式流程式控制制:
if條件控制語句;
while迴圈控制語句;
do-while迴圈控制語句;
for迴圈控制語句;
//boolean 類型boolean b1 = true;b1 = false; //不可以0或非 0 的整數替代true和false,這點和C語言不同。//b1 = 0;
boolean類型資料只允許取值true和false,不可以0或非 0 的整數替代true和false,這點和C語言不同。
基礎資料型別 (Elementary Data Type)轉換
自動類型轉換:容量小的類型自動轉換為容量大的資料類型。資料類型按容量大小排序為:
有多種類型的資料混合運算時,系統首先自動將所有資料轉換成容量最大的那種資料類型,然後再進行計算。
//1. 自動類型轉換int i9 = 123;float i10 = i9;
byte,short,char之間不會相互轉換,他們三者在計算時首先轉換為int類型。
當把任何基本類型的值和字串值進行串連運算時(+),基本類型的值將自動轉化為字串類型。
強制類型轉換
自動類型轉換的逆過程,將容量大的資料類型轉換為容量小的資料類型。使用時要加上強制轉換符(()),但可能造成精度降低或溢出,格外要注意。
//使用時要加上強制轉換符 ()float i11 = 12F;int i12 = (int)i11;
通常,字串不能直接轉換為基本類型,但通過基本類型對應的封裝類則可以實現把字串轉換成基本類型。如: String a = “43”; int i = Integer.parseInt(a);
//注意: 不相容的類型之間不能轉換//1. 字串不能直接轉換為基本類型//2. boolean類型不可以轉換為其它的資料類型 //3. 有多種類型的資料混合運算時,//系統首先自動將所有資料轉換成容量最大的那種資料類型,然後再進行計算//兩個 int 類型相除的結果仍是一個 int 類型. //以下代碼編譯出錯. //int i13 = 12 / 5.0F;//System.out.println(i13); //4. byte,short,char之間不會相互轉換,他們三者在計算時首先轉換為int類型。byte i14 = 12;byte i15 = 13; //以下代碼編譯出錯. //byte i16 = i14 + i15;
boolean類型不可以轉換為其它的資料類型。
Java 基本文法----變數