一. 變量簡介
仔細回想一下,在你還沒有學習Java之前,你有沒有聽過【變量】這個詞?第一次聽到【變量】這個詞是在什么時候?有些童鞋可能會說,我以前沒聽過【變量】!其實大部分人都聽過!我們在中學時,在數學課上就有【變量】這個詞了,比如一個常見的方程式y=x2+1。這里的x與y就是變量,請大家回憶一下數學里x變量表示什么含義?
在我們的Java語言中,同樣存在著【變量】的概念,并且該概念與數學方程里的變量含義類似。
1. 概念
在Java中,變量是程序里最基本的存儲單元,它由變量名、變量類型、作用域組成。從本質上來說,變量其實就是內存里的一小塊存儲區域,該區域只能存儲聲明變量時指定類型的數據。我們創建使用每個變量前,必須先聲明,在內存中申請空間,然后對其進行初始化賦值,接著就可以通過變量名來訪問和使用這塊內存區域了。
進一步解釋一下,變量其實就是一個可以存儲特定類型數據的容器。這個容器在內存中有自己的地址,為了方便地找到這個地址,我們可以給每個地址起個”名字“,這就是”變量名“。每個變量的數據類型都是固定不變的,但變量中對應數據的具體內容,卻是可以改變的,所以”變量“指的就是內容可以改變的量。
如果你對上面關于變量的解釋還不明白,那么再來給你舉個更通俗易懂的栗子。
假如我們是搞化學的,現在你手里有很多種化學元素,該如何存儲它們?我們知道,這些化學元素的性質各不相同,不能一股腦地都放在一起,必須分類存儲。我們可以找到一些適合存儲這些化學元素的”瓶子“(容器),每種瓶子只能存儲不同類型(數據類型)的化學元素,不能混裝,否則就會發生化學反應引起爆炸(報錯)。并且每種瓶子都有自己的存儲大小(容量),不可能一個瓶子里存儲無限多的化學元素。現在的瓶子有很多,你要經常找到并使用這些瓶子,就需要給這些瓶子編號命名(變量名),并且要有對應的存放位置(內存地址),不能隨便亂放。
現在你搞懂變量的含義了嗎?
2. 分類
在Java中,根據不同的分類標準,變量也被分成了很多種:
● 如果是按照數據類型來劃分,變量可以分為基本類型的變量和引用類型的變量。
● 如果是按照作用范圍來劃分,變量可以分為局部變量、成員(實例)變量和類(靜態)變量。
當然,現在你可能對什么是基本類型、引用類型、局部變量、成員變量、類變量等概念還都很懵逼。請暫時不用管這些,腦子中有個印象即可,壹哥在后面會再詳細給你介紹這些概念都是怎么回事,我們先集中精力來學習變量的定義與使用案例。
二. 變量的定義與案例
1 .定義方式一
我們首先來看第一種寫法,這種寫法完全符合變量定義的3步走策略,但是寫起來有點啰嗦。
public class VariableDemo { public static void main(String[] args) { //注意:在java中,變量一定要初始化后才能使用! //變量聲明方式1: //1.聲明變量 int a; //2.給變量初始化賦值,初始化的意思是第一次給某個變量賦值 a = 10; //3.使用變量 System.out.println(a); }}
在上面的代碼中,我們定義了一個int整型的變量,變量名稱為a,初始值為10。如果我們不寫初始值,就相當于系統給它指定了默認值,默認值是0。但我們在使用變量之前,必須要給變量進行初始化賦值,否則編譯器就會自動檢測出錯誤,從而會報錯!錯誤信息如下所示:The local variable a may not have been initialized
2 .定義方式二
下面是第二種定義變量的寫法,相比第一種寫法簡單一些,直接把變量的聲明和初始化放在一起,所以這種方式用的較多。
public class VariableDemo { public static void main(String[] args) { // 注意:在java中,變量一定要初始化后才能使用! //變量聲明方式2: //1.聲明變量和初始化 int a = 10; //2.使用變量 System.out.println("a的值為:" + a); }}
3. 定義方式三
我們也可以采用以下寫法,即在一條語句中連續定義多個變量。但大家要注意,我們在一條語句中連續定義多個變量時,應該給每個變量都進行初始化賦值,否則在編譯之前開發工具就會直接報錯!
public class VariableDemo { public static void main(String[] args) { // 注意:在java中,變量一定要初始化后才能使用! //變量聲明方式3 //連續定義多個變量 int a = 1,b = 3,c = 10; System.out.println("a的值為:"+a); System.out.println("b的值為:"+b); System.out.println("c的值為:"+c); }}
4 .定義方式四
我們可以在第3種定義變量的寫法基礎上進一步簡化。同樣是把多個變量定義在一條語句內,但a、b變量未初始化,c變量進行了初始化。這種寫法在語法上是沒問題的。但a和b這兩個變量不能直接使用,因為沒有初始化,如果直接使用會產生錯誤。c變量可以直接使用,因為進行了初始化賦值!
public class VariableDemo { public static void main(String[] args) { // 注意:在java中,變量一定要初始化后才能使用! //變量聲明方式4 //連續定義多個變量 int a,b,c = 10; //a、b變量未初始化,如果直接使用會報錯 //System.out.println("a的值為:" + a); //System.out.println("b的值為:" + b); //c變量初始賦值為10,可以直接使用 System.out.println("c的值為:"+c); }}
以上就是java變量的定義,大家可以動手自己敲一敲哦!!!!