什麼是變量,變量是什麼
1.1. 什麼是變量java
在平常生活中,人們會用到大量數據,像去ATM機取款,首先,須要插入銀行卡,這個過程其實就是ATM機的系統在獲取銀行卡號這個數據,然後,輸入密碼,這個過程也是在獲取數據,也就是密碼。在後續進行的業務處理中,像存錢、取錢、轉賬匯款等等,銀行卡號和密碼會被反覆的、頻繁的使用, 那就須要一個存儲這些數據的地方。編程
在軟件系統中,是將數據存儲在內存之中的,而對內存中的數據的引用就是變量,能夠理解爲變量就是內存中數據的代詞。spa
簡單說, 變量就是指代在內存中開闢的存儲空間,用於存放運算過程當中須要用到的數據。代碼以下所示:設計
1.int a = 5;內存
2.int b = 6;編譯器
3.int c = a + b;編譯
如上代碼中,變量a、b、c指代內存中三塊用於存儲整數的存儲空間,分別用於存儲兩個整數及這兩個整數之和,int意爲整數數據類型,後續課程會詳細介紹。class
對於變量,咱們須要關注以下幾個方面:變量
1.變量的聲明:用特定語法聲明一個變量,讓運行環境爲其分配空間。軟件
2.變量的命名:須要有個見名知意的名字,並且要符合Java語言規範。
3.變量的初始化:變量聲明後,要爲其賦一個肯定的初值後再使用。
4.變量的訪問:能夠對變量中的數據進行存取、操做,但必須和其類型匹配。
1.2. 變量的聲明
1.2.1. 變量的聲明
當須要使用一個變量時,必須對該變量進行聲明,變量的聲明包含兩點:變量名和數據類型,代碼以下所示:
int a
上面的代碼中,int爲變量的數據類型,a爲變量的名稱,當聲明如上語句時,JVM會爲該變量在內存中開闢存儲空間,不一樣的變量類型決定了存儲空間的結構(後面詳細介紹)。
1.2.2. 未經聲明的變量不能使用
Java語言語法規定,變量使用以前必須聲明,不然會有編譯錯誤。代碼以下所示:
public static void main(String[] args) {
a = 1; // 編譯錯誤,變量沒有聲明
int score = 0;
scord = 100; // 編譯錯誤
System.out.println(score);
}
從上面的代碼中,能夠看到出現了兩個編譯錯誤,編譯錯誤即爲javac過程出現的錯誤,主要是因爲語法問題致使的。第一個錯誤,a =1,是由於該變量沒有聲明。第二個錯誤,scord=100,是由於前面聲明的爲score,編譯器並未找到scord變量,該錯誤是由於拼寫錯誤形成的。
1.2.3. 一條語句中聲明多個同類型變量
若是多個變量的類型同樣,能夠在一條語句中聲明,中間使用逗號分隔, 代碼以下所示:
public static void main(String[] args) {
int a=1, b=2;
int c, d=3;
}
從上面的代碼中,能夠看到,第一條語句,聲明瞭兩個整型變量,分別賦值爲1和2,中間使用逗號分隔,最後以;號結尾。第二條語句,聲明瞭兩個整型變量,c沒有賦初始值,d賦初值爲3。
1.3. 變量的命名
1.3.1. 命名須要符合標識符語法要求
在java語言中,對於變量、常量、方法、類、包等等都有名字,將這些名字統一稱之爲java標識符,標識符的命名規則以下列表所示:
能夠由字母、數字、「_」或「$」符組成,可是不能以數字開頭。
中文能夠做爲變量名,但不提倡使用。
Java大小寫敏感,即:嚴格區分大小寫,在給命名變量時須要注意。
不能使用Java保留字(一些Java語言規定好的,有特殊含義的字符),如:int、if、else、for、break等。
看以下的一些實例,能夠體現出java標識符的命名規則:
int 123go = 100; // 編譯錯誤,標識符不能以數字開頭。
int 成績 = 60;// 編譯沒錯,標識能夠是中文,但不建議使用。
int break= 200; // 編譯錯誤,break是Java保留字。
int score = 80;
System.out.println(Score); // 編譯錯誤,Java大小寫敏感,Score變量沒有聲明。
1.3.2. 命名需見名知意,且符合Java規範
Java 變量的命名應「見名知意」,同時,Java編程規範要求:變量的命名需採用「駝峯命名法」,即若是變量的名字有多個單詞組成,除第一個單詞外,其餘單詞的首字母大寫,其他的字母小寫,例如:salary、 javaScore 、studentName、empSalary 等。
1.4. 變量的初始化
1.4.1. 未經初始化的變量不能使用
Java語法規定:變量在使用以前必須初始化,即必須給該變量賦予特定的值,而在C語言中,變量使用以前能夠不須要初始化,可是,其初始值不肯定,而Java語言的設計者爲了不所以而帶來的錯誤,規定變量必須初始化以後才能使用,代碼以下所示:
public static void main(String[] args) {
int a, b = 10;
int c = a + b; // 編譯錯誤
System.out.prinltn(c);
}
上面的代碼出現了編譯錯誤, 緣由是變量b賦了初始值,在給變量c賦值時能夠使用b,而變量a並未賦初始值就直接使用了,違反了java語法的規定,變量使用以前必須初始化,因此出現編譯錯誤。
1.4.2. 在聲明變量時初始化
能夠在變量聲明時初始化,語法:變量類型 變量名稱 = 初始值;代碼以下所示:
public static void main(String[] args) {
int sum = 0; //聲明同時初始化
int a = 5;
int b = 6;
sum = a + b;
System.out.println(sum);
}
1.4.3. 在第一次使用變量前初始化
能夠在變量聲明之後,經過賦值語句對變量進行初始化,但必定確保在第一次使用該變量以前,代碼以下所示:
1.public static void main(String[] args) {
int sum;
sum = 0; // 在使用sum變量以前對其進行初始化。
sum = sum + 100;
System.out.println(sum);
}
1.5. 變量的訪問
1.5.1. 能夠對變量中的值進行存取,操做
變量,顧名思義,能夠改變的量,在java語言中,能夠對其賦值、更改等操做,可是須要注意的是,對變量的操做即爲對其所存儲的數據的操做。代碼以下所示:
public static void main(String[] args) {
int a = 100;
a = a + 200;//該條語句的義:將變量a中的值加上200所得結果再存入變量a
}
1.5.2. 變量的操做必須與類型匹配
變量在聲明時指定了它的數據類型, Java編譯器會檢測對該變量的操做是否與其類型匹配,若是對變量的賦值或者操做與其類型不匹配,會產生編譯錯誤。代碼以下所示:
public static void main(String[] args) {
int salary;
salary = 15000.50; // 編譯錯誤,整型變量不能夠賦予浮點值(小數)。
double d = 123.456;
int n = d%2; // 編譯錯誤,d%2結果爲double型,不能賦給整型的n。
}