變量


1、變量(variable)
變量是什么:就是可以變化的量!
我們通過變量來操縱存儲空間中的數據,變量就是指代這個存儲空間!空間位置是確定的,但是里面放
置什么值不確定! 
Java是一種強類型語言,每個變量都必須聲明其類型。
Java變量是程序中最基本的存儲單元,其要素包括變量名,變量類型和作用域。
變量在使用前必須對其聲明, 只有在變量聲明以后,才能為其分配相應長度的存儲單元,聲明格式為:

1 type varName [=value] [{,varName[=value]}] ;
2 //數據類型 變量名 = 值;可以使用逗號隔開來聲明多個同類型變量。

注意事項:

  • 每個變量都有類型,類型可以是基本類型,也可以是引用類型。
  • 變量名必須是合法的標識符。
  • 變量聲明是一條完整的語句,因此每一個聲明都必須以分號結束
1 int a, b, c; // 聲明三個int型整數:a、 b、c
2 int d = 3, e = 4, f = 5; // 聲明三個整數並賦予初值
3 byte z = 22; // 聲明並初始化 z
4 String s = "runoob"; // 聲明並初始化字符串 s
5 double pi = 3.14159; // 聲明了雙精度浮點型變量 pi
6 char x = 'x'; // 聲明變量 x 的值是字符 'x'。

雖然可以在一行聲明多個變量,但是不提倡這個風格,逐一聲明每一個變量可以提高程序可讀性。

2、變量作用域
變量根據作用域可划分為三種:

  • 類變量(靜態變量: static variable):獨立於方法之外的變量,用 static 修飾。
  • 實例變量(成員變量:member variable):獨立於方法之外的變量,不過沒有 static 修飾。
  • 局部變量(lacal variable):類的方法中的變量
1 public class Variable{
2 static int allClicks=0; // 類變量
3 String str="hello world"; // 實例變量
4 public void method(){
5 int i =0; // 局部變量
6 }
7 }

局部變量
方法或語句塊內部定義的變量。生命周期是從聲明位置開始到”}”為止。
在使用前必須先聲明和初始化(賦初值)。
局部變量沒有默認值,所以局部變量被聲明后,必須經過初始化,才可以使用。

1 public static void main(String[] args) {
2 int i;
3 int j = i+5 ; // 編譯出錯,變量i還未被初始化
4 System.out.println(j);
5 }

應改為:

public static void main(String[] args) {
int i=10;
int j = i+5 ;
System.out.println(j);
}

從jdk10開始,對於局部變量,如果可以從變量的初始值推斷出它的類型,就可以不聲明類型。只需要使用關鍵字var而無需指定類型。

1 var i=15;
2 var greeting="hello";
3 System.out.println(i);
4 System.out.println(greeting);

實例變量
方法外部、類的內部定義的變量。
從屬於對象,生命周期伴隨對象始終。
如果不自行初始化,他會自動初始化成該類型的默認初始值
(數值型變量初始化成0或0.0,字符型變量的初始化值是16位的0,布爾型默認是false)

public class Test {
// 這個實例變量對子類可見
public String name;
// 私有變量,僅在該類可見
private double salary;
}

靜態變量
使用static定義。
從屬於類,生命周期伴隨類始終,從類加載到卸載。
如果不自行初始化,他會自動初始化成該類型的默認初始值
(數值型變量初始化成0或0.0,字符型變量的初始化值是16位的0,布爾型默認是false)

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);
}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM