Java學習之賦值運算符

賦值運算符

賦值運算符是指爲變量或常量指定數值的符號。

賦值運算符的符號爲“=”,它是雙目運算符,左邊的操作數必須是變量,不能是常量或表達式。

其語法格式: 變量名稱=表達式內容

在 Java語言中,“變量名稱”和“表達式”內容的類型必須匹配,如果類型不匹配則需要自動轉化爲對應的類型。

例如:

int a = 3;
int b = 3.5;

他們兩個的值最後都爲3.

注意:賦值運算符的優先級低於算術運算符,結合方向是自右向左

賦值運算符不是數學中的等號,它表示一個動作,即將其右側的值送到左側的變量中(左側只允許是變量,不能是表達式或其他形式)

不要將賦值運算符與相等運算符“==”混淆

賦值運算符與其他運算符一起使用,可以表達多種賦值運算的變異效果。

例如,在基本的賦值運算符的基礎之上,可以結合算術運算符,以及後面要學習的位運算符,組合成複合的賦值運算符。

賦值運算符和算數運算符組成的複合賦值運算的含義及其使用實例 所示如下:

運算符 含義 實例 結果
+= 將該運算符左邊的數值加上右邊的數值, 其結果賦值給左邊變量本身 int a=5; a+=2; a=7
-= 將該運算符左邊的數值減去右邊的數值, 其結果賦值給左邊變量本身 int a=5; a-=2; a=3
*= 將該運算符左邊的數值乘以右邊的數值, 其結果賦值給左邊變量本身 int a=5; a*=2; a=10
/= 將該運算符左邊的數值整除右邊的數值, 其結果賦值給左邊變量本身 int a=5; a/=2; a=2
%= 將該運算符左邊的數值除以右邊的數值後取餘,其結果賦值給左邊變量本身 int a=5; a%=2; a=1

練習

賦值運算使用場景:

int x, y, z; // 定義3個整型的變量
x = y = z = 5; // 爲變量賦初值爲5
x += 10; // 等價於x=x+10,結果x=15
y -= 3; // 等價於y=y-3,結果y=2
z *= 5; // 等價於z=z*5,結果z=25
x /= 4; // 等價於x=x/4,結果x=3
z %= x; // 等價於z=z%x,結果z=1

舉例練習題:
一件商品的單價從 10.25 元降了 1.25 元,而自己購買的數量由原來的兩個增加到 10 個,可以使用複合賦值運算符來計算購買商品的總價。

代碼如下:

public static void main(String[] args) {
    double price = 10.25; // 定義商品的單價,賦值爲10.25
    double total = 0; // 定義總價初始爲0
    int count = 2; // 定義購買數量,賦值爲2
    price -= 1.25; // 減去降價得到當前單價
    count *= 5; // 現在需要購買10個,即原來數量的5倍
    total = price * count; // 總價=當前單價*數量
    System.out.printf("商品當前的單價爲:%4.2f \n", price); // 輸出當前單價
    System.out.printf("購買商品的數量爲:%d \n", count); // 輸出購買數量
    System.out.printf("總價爲:%4.2f \n", total); // 輸出總價
}

結果如下:

注意:雖然 Java 支持這種一次爲多個變量賦值的寫法,但這種寫導致程序的可讀性降低,因此不推薦這樣寫。

在該程序中,表示商品單價的 price 變量值爲 10.25,而現在降了 1.25,在原來的基礎上減去 1.25 即可獲取現在的單價。而原來購買的數量爲兩個,現在需要購買 10 個,可以使用“count*=5”將數量乘以 5 倍之後的值賦值給 count 本身。

賦值運算符還用於將表達式的值賦給變量,如下代碼是正確的。
double d1 = 12.34
double d2 = d1 + 5; // 將表達式的值賦給d2
System.out.println(d2); // 輸出 d2 的值,將輸出 17.34

賦值運算符還可與其他運算符結合,擴展成功能更加強大的賦值運算符。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章