資料類型
當建立變量時,需要在記憶體中申請空間,記憶體管理系統根據變量的類型為變量配置設定存儲空間,配置設定的空間隻能用來村粗該類型的資料。
PS:
(類似于将記憶體空間分為N多個小房間,這個小房間代表着存儲空間,每個小房間隻允許一種類型的資料通過,這個“通行證”,或者叫“身份證”就是資料類型)
根據資料類型的不同,Java可以分為兩大資料類型:
1. 基本資料類型
2. 引用資料類型
基本資料類型
1.byte 位元組型
記憶體占用1個位元組
取值範圍:-128~127(2的7次方)
預設值為:0
(0占一位是以正數範圍隻到127,其他類型相同,後略)
2.short 短整型
記憶體占用2個位元組
取值範圍:-32768~32767(2的15次方)
預設值為:0
3.int 整數型
記憶體占用4個位元組
取值範圍:-2147483648~2147483648(2的31次方)
預設值為:0
4.long 長整型
記憶體占用8個位元組
取值範圍:-2的63次方~2的63次方-1(2的63次方)
預設值為:0l
5.float 單精度浮點型
記憶體占用4個位元組
取值範圍:1.4013E-45~3.4028E+38(科學計數法,E代表10的次幂)
預設值為:0.0f
6.double 雙精度浮點型
記憶體占用8個位元組
取值範圍:4.9E-324~1.7977E+308
預設值為:0.0d
7.char 字元型
記憶體占用2個位元組
取值範圍:0-65535
預設值為:’\u0000’
8.boolean 布爾型
記憶體占用1個位元組
取值範圍:true,false
預設值為:false
引用資料類型
引用類型指向一個對象,指向對象的變量是引用變量。這些變量在聲明時被指定為一個特定的類型。變量一旦聲明後,類型就不能被改變了。
1.class 類
2.interface 接口
3.數組
JAVA常量
常量:在程式運作時是不能被修改的。在 Java 中使用 final 關鍵字來修飾常量。
JAVA中常量的分類
代碼示範空常量、nul、空格量差別l:
// final 常量修飾
// 字元串
String name="uzi";
// 字元
char sex='m';
// st1沒有指派,但是不為null(空常量)
String st1 ="";
// st2是空常量,指沒有存儲空間
String st2 =null;
// st3裡有值,為空格量
String st3 =" ";
JAVA變量
變量簡單的來講就是在運作過程中,值會改變的量。
命名規則:
資料類型 變量名 = 資料值
變量分類:
- 類變量:獨立于方法之外的變量,用 static 修飾。
- 執行個體變量:獨立于方法之外的變量,不過沒有 static 修飾。
- 局部變量:類的方法中的變量,使用前必須先初始化
public class TestDay01 {
// 類變量(在類裡)
public static final int age=18;
// 執行個體變量
public int userNum=2;
// 聲明類名時需要大駝峰,聲明變量時需要小駝峰
public void play(){
// 在方法裡的變量,叫做局部變量,隻可以在方法中選用
int a=1;
System.out.println(userNum);
System.out.println("玩");
this.eat();
}
自動類型轉換
在運算過程中,會出現多種資料類型混合運算,那麼此時就需要将多種資料類型變為同一種資料類型才可以進行運算。
由小的資料類型轉換到大的資料類型會自動進行類型轉換。
低—————————————————————>高
byte,short,char—> int —> long—> float —> double
注意:
- 不能對boolean類型進行基本類型轉換。
- 不能把對象類型轉換成不相關類的對象。
- 在把容量大的類型轉換為容量小的類型時必須使用強制類型轉換。
- 轉換過程中可能導緻溢出或損失精度。
- 浮點數到整數的轉換是通過舍棄小數得到,而不是四舍五入。
轉換規則
-
整數 int 轉換成字串 String
有三種方法 :
String s = String.valueOf(i);
String s = Integer.toString(i);
String s = “” + i;
-
String 轉 int
int i = Integer.parseInt([String]);
i =Integer.parseInt([String],[int radix]);
int i =Integer.valueOf(my_str).intValue();
-
布爾類型 轉 String
第一種方法:
boolean bool = true;
String s = new Boolean(bool).toString();//将bool利用對象封裝器轉化為對象
第二種方法:
boolean bool = true;
String s = String.valueOf( bool);
-
數字類型間的類型轉換
格式:(type)value type
//強制類型轉換,将int變為byte。(小轉大自動轉換,不用強制轉換)
//字元轉INT安裝ASCALL碼轉
int a1=10;
byte a=(byte) a1;
//數字字元串轉數字類型,字母字元串不能轉數字類型
String u1="100";
int u2=Integer.parseInt(u1);
// 數字類型轉換字元串,在後面加連接配接符+“”,
//如果是2+3+""結果為5(先加減後轉換),
//如果是“”+2+3結果為23(先轉換後運算)
int z1=2;
int z2=3;
String z3=""+z1+z2;
String z4=z1+z2+"";
System.out.println(u2);
System.out.println(z3);
System.out.println(z4);
代碼運作結果: