天天看點

java資料類型是變量_Java--基本資料類型與變量

Java 基礎資料類型

記憶體管理系統根據變量的類型為變量配置設定存儲空間,配置設定的空間隻能用來存儲該類型的資料

内置資料類型

六種數字類型:四個整數型(byte short int long),兩個浮點型(float double),一種字元型(char),一種布爾型(boolean)

引用類型

引用類型指向一個對象,指向對象的變量是引用變量;這些變量在聲明時被指定為一個特定的類型;變量一旦聲明後,類型就不能改變了

對象數組都是引用資料類型

所有引用類型的預設值都是null

Site site = new Site("Something")

Java常量

使用final關鍵字來修飾常量,聲明方式和變量類似,常量名大寫

final double PI = 3.1415926

自動類型轉換

整型、實型、字元型資料可以混合運算;運算中,不同類型的資料先轉化為同一類型

轉換從低級到進階:byte,short,char-->int-->long-->float-->double

轉換類型必須滿足的規則

不能對boolean類型進行類型轉換

不能把對象類型轉換成不相關類的對象

在把容量大的類型轉換成容量小的類型時必須使用強制類型轉換

轉換過程中可能導緻溢出或損失精度

浮點數到整數的轉換是通過舍棄小數得到的,不是四舍五入

強制類型轉換 (type)value type

Java 變量類型

類變量:獨立于方法之外的變量,用static修飾

執行個體變量:獨立于方法之外的變量,不過沒有static修飾

局部變量:類的方法中的變量

public class Variable{

static int allClicks = 0; //類變量

String str = "hello world";//執行個體變量

public void method() {

int i = 0;//局部變量

}

}

Java局部變量

局部變量聲明在方法、構造方法或者語句塊中;

局部變量在方法、構造方法、或者語句塊被執行的時候建立,當它們執行完後,變量将會被銷毀

通路修飾符不能用于局部變量

局部變量隻在聲明它的方法、構造方法或者語句塊中可見

局部變量是在棧上配置設定的

局部變量沒有預設值,是以局部變量被聲明後,必須進過初始化後才可以使用

public class Test{

public void pupAge() {

int age = 0;//局部變量聲明并初始化

age = age + 7;//不初始化會報錯

System.out.println("小狗的年齡是:" + age);

}

public static void main(String args[]) {

Test test = new Test();

test.pupAge();

}

}

執行個體變量

執行個體變量聲明在一個類中,但在方法、構造方法和語句塊之外

當一個對象被執行個體化之後,每個執行個體變量的值就跟着确定;

執行個體變量在對象建立的時候建立,在對象銷毀的時候銷毀

執行個體變量的值至少被一個方法、構造方法或者語句塊引用,使得外部能夠通過這些方式擷取執行個體變量資訊

執行個體變量可以聲明在使用前或使用後

通路修飾符可以修飾執行個體變量

執行個體變量對于類中的方法、構造方法、或者語句塊是可見的;一般情況下應該把執行個體變量設為私有。通過通路修飾符可以使執行個體變量對子類可見

執行個體變量具有預設值,數值型變量的預設值是0,布爾值變量的預設值是false,引用類型變量的預設值是null。變量的值可以在聲明時指定,也可以在構造方法中指定

執行個體變量可以通過變量名通路。但在靜态方法以及其他類中,就應該使用完全限定名:ObjectReference.VariableName

import java.io.*;

public class Employee{

//這個執行個體變量對子類可見

public String name;

//私有變量,僅在該類可見

private double salary;

//在構造器中對name指派

public Employee (String empName) {

name = empName;

}

//設定salary的值

public void setSalary(double empSal) {

salary = empSal;

}

//列印資訊

public void printEmp() {

System.out.println("名字: " + name);

System.out.println("薪水:" + salary);

}

public static void main (String args[]) {

Employee empOne = new Employee("programer");

empOne.setSalary(1000);

empOne.printEmp();

}

}

類變量(靜态變量)

類變量也稱為靜态變量,在類中以static關鍵字聲明,但必須在方法、構造方法和語句塊之外

無論一個類建立多少個對象,類隻擁有類變量的一份拷貝

靜态變量除了被聲明為常量外很少使用。常量是指聲明為public\private,final\static類型的變量;常量初始化以後不可改變

靜态變量存儲在靜态存儲區,經常被聲明為常量,很少單獨使用static聲明變量

靜态變量在程式開始時建立,在程式結束時銷毀

與執行個體變量具有相似的可見性;但為了對類的使用者可見,大多數靜态變量聲明為public類型

預設值與執行個體變量類似

靜态變量可以通過ClassName.VariableName的方式通路

類變量被聲明為public static final類型時,類變量名稱一般使用大寫字母;如果靜态變量不是public和final類型,其命名方式與執行個體變量以及局部變量的命名方式一緻

import java.io.*;

public class Employee {

// salary是靜态的私有變量

private static double salary;

// DEPARTMENT是一個常量

public static final String DEPARTMENT = "開發人員";

public static void main(String args[]) {

salary = 10000;

System.out.println(DEPARTMENT + "平均工資:" + salary);

}

}