- 零基礎學Java第2版
- 陳潔
- 1574字
- 2018-12-31 19:34:31
3.3 變量
前面的代碼使用了很多變量,那么究竟變量是什么呢?本節將介紹變量的基本概念,以及如何操作變量。
3.3.1 變量的聲明
變量就是在程序的運行中可以變化的量,變量是程序設計中一個非常重要和關鍵的概念。在Java程序設計中,每個聲明的變量都必須分配一個類型。聲明一個變量時,應該先聲明變量的類型,隨后再聲明變量的名字。下面演示了變量的聲明方式。
01 ///這里salary,age,op都是變量名字 02 ///double,int,boolean是變量的類型 03 double salary; 04 int age; 05 boolean op;
每一行的第一項是變量類型,第二項是變量名。行尾的分號是必需的,這是Java語句的結束符號。如果沒有這個分號,程序不會認為這是一句完整的Java語句。
同一類型的不同變量,可以聲明在一行,也可以聲明在不同行,如果要聲明在同一行中,不同的變量之間用逗號分隔,例如下面的例子。
int studentNumber,people;
3.3.2 變量的含義
在程序設計中,經常會聽到變量這個名詞,到底什么是變量呢?它又有什么意義呢?
在程序運行過程中,空間內的值是變化的,這個內存空間就稱為變量。為了操作方便,給這個空間取名,稱為變量名,內存空間內的值就是變量值。所以,申請了內存空間,變量不一定有值,要想變量有值,就必須要放入值。
例如:“int x”,定義了變量但沒有賦值,即申請了內存空間,但沒有放入值。如果int x=5;說明不但申請了內存空間而且還放入了值,值為5。
3.3.3 變量的分類
變量的分類方式有多種多樣,不可能單純地將變量劃分為幾類,下面將以不同的分類方式來討論變量的分類問題。
1. 從作用范圍來分
根據作用范圍來分,一般將變量分為全局變量和局部變量。從字面上理解很簡單,全局變量就是在程序范圍之內都有效的變量,而局部變量就是在程序中的一部分內有效的變量。
【實例3.9】從專業的角度來解釋,全局變量就是在類的整個范圍之內都有效的變量。而局部變量就是在類中某個方法函數內或某個子類內有效的變量,下面將從實際程序代碼中慢慢地體會。
01 ///a,b都是全局變量 02 ///c是局部變量 03 public class var 04 { 05 int a=10; 06 int b=21; 07 public static void main(String[] args) 08 { 09 var v=new var(); 10 System.out.println("這個是全局變量a="+ v.a); 11 v.print(); 12 } 13 void print() 14 { 15 int c=20; 16 System.out.println("這個是局部變量c="+ c); 17 } 18 }
【代碼說明】第5~6行定義了兩個變量,它們在main()方法外,第10行調用這個變量。第15行在print()方法內定義了變量c,第16行在當前方法內輸出此變量。
【運行效果】
這個是全局變量a=10 這個是局部變量c=20
【實例3.10】如果在main()中同樣輸出“c”的值,會出現什么樣的結果呢?下面從實際代碼段中仔細體會。
01 public class Math1 02 { 03 public static void main(String[] args) 04 { 05 Math1 v=new Math1(); 06 System.out.println("這個是局部變量c="+ v.c); 07 } 08 void print() 09 { 10 int c=20; 11 } 12 }
【運行效果】以上代碼在編譯時,會出現錯誤,就是找不到變量“c”。這說明變量“c”只在方法“print()”中起作用,在方法外就無法再調用。
【代碼說明】從上述代碼中可以看出,如果一個變量在類中定義,那么這個變量就是全局變量,例如下面的代碼段。
01 public class var 02 { 03 int a=10; 04 int b=21; 05 }
這里的變量“a”、“b”都是全局變量,而在類的方法、函數中定義的變量就是局部變量,例如下面的代碼段。
01 public class var 02 { 03 void print() 04 { 05 int c=20; 06 } 07 }
這里的變量“c”就是局部變量。因為它不是在類中直接定義的,而是在類的方法中定義的。
2. 從類型來分
如果從類型來分,可以將變量分成基本類型變量和對象類型變量,而基本類型變量就是前面說的那8種基本數據類型的變量,如整型、浮點型、字符型、布爾型等。
說明
對象類型將在后面的章節中介紹,這里暫時不做具體的說明。
3. 以所屬范圍分
如果按所屬范圍來分,可以將變量分成類變量和成員變量,類變量就是用關鍵字“static”聲明的全局變量,它是屬于類的。而成員變量就是不用“static”聲明的其他實例變量,它是隨對象本身的。
其實類變量就是在類中直接定義的,并且不隨類產生的對象變化而變化。當在一個類中聲明了一個類變量時,無論創造出多少個對象,使用對象引用這個變量,都不會發生變化。成員變量就不同了,它隨著對象不同而變化。即針對同一個類,新創建一個對象,使用此對象引用這個變量,每次引用的值都不一樣。
- Learn to Create WordPress Themes by Building 5 Projects
- PostgreSQL Cookbook
- 體驗設計原理:行為、情感和細節
- Learning SAP Analytics Cloud
- Java開發入行真功夫
- JS全書:JavaScript Web前端開發指南
- Modular Programming in Java 9
- Swift細致入門與最佳實踐
- Python算法指南:程序員經典算法分析與實現
- 深入淺出React和Redux
- Oracle GoldenGate 12c Implementer's Guide
- Essential C++(中文版)
- UML2面向對象分析與設計(第2版)
- HTML5移動Web開發
- AutoCAD基礎教程