書名: Java編程講義作者名: 榮銳鋒 張晨光等編著本章字數: 933字更新時間: 2022-07-28 18:49:36
2.5.5 賦值運算符
賦值運算符就是將常量、變量、表達式的值賦給某一個變量或對象,賦值表達式由變量、賦值運算符和表達式組成。賦值運算符包括“=”賦值運算符和擴展賦值運算符兩種。Java中的賦值運算符和使用示例,如表2.8所示。
表2.8 賦值運算符

賦值語句的結果是將右側的值(或表達式結果)賦給左邊的變量。變量在進行普通賦值時,如果賦值運算符兩側的類型彼此不一致,或者左邊類型取值范圍小于右邊類型時,需要進行自動或強制類型轉換。也就是說,變量從占用內存較少的短數據類型轉換為占用內存較多的長數據類型時,會自動進行隱式轉換;而將變量從較長的數據類型轉換為較短的數據類型時,則必須進行強制類型轉換,也就是采用“(類型)表達式”。賦值運算符也可以采取右端表達式繼續賦值的方式,形成連續賦值的情況,但是一般不建議使用該方式進行賦值,會降低程序的可讀性。賦值運算符的使用示例如下:
int n = 5; // 聲明并賦值 int a, b, c; // 連續聲明 a = b = c = 5; // 多個變量同時賦值,表達式等價于c = 5;b = c;a = b; int a = 1; byte b = 3; b = a + b; // 錯誤,將int類型賦值給byte類型變量需要強制轉換 b = (byte)(a + b); // 正確
在賦值運算符“=”前加上其他運算符,即構成擴展賦值運算符,如a += 7等價于a = a + 7。也就是說,擴展賦值運算符是先進行某種運算之后,再對運算的結果進行賦值。擴展賦值運算符的優點是可以使程序表達簡潔,并且能提高程序的編譯速度。編譯器首先會進行運算,再將運算結果賦值給變量。具體示例如下:
int a = 3; // 聲明變量a a += 1; // a = 4;等價于a = a + 1; a *= 2; // a = 6;等價于a = a * 2;
接下來,通過案例來演示賦值運算符的使用,如例2-8所示。
【例2-8】 Demo0208.java

程序的運行結果如下:
--------賦值運算符和賦值表達式案例-------- a=18,b=9,c=9 a+=c;a=27 a-=c;a=18 a*=c; a=162 a/=c; a=18 a%=c-2;a=4,c=9
例2-8中,第5行代碼使用了賦值運算符的連續賦值,先將差值賦值給b,然后再賦值給c。第8行、第10行、第12行、第14行代碼分別表示操作數a對c的相加后賦值、相減后賦值、相乘后賦值、相除后賦值。第16行代碼,先計算右側c-2,因為c的值是9,所以右側減2之后結果為7,a的值為18,對7求余,結果為4。
注意:使用賦值運算符需要注意如下兩點:
(1)要注意數據類型匹配,如boolean flag = 23就是類型不匹配,無法自動轉換。
(2)不能為運算式賦值,如“int a = 8,b = 9;a + b = 28;”,這是語法錯誤。
- DB2 V9權威指南
- Embedded Linux Projects Using Yocto Project Cookbook
- Software Defined Networking with OpenFlow
- CentOS 7 Linux Server Cookbook(Second Edition)
- Quarkus實踐指南:構建新一代的Kubernetes原生Java微服務
- 從零開始學C語言
- HTML5與CSS3基礎教程(第8版)
- WordPress 4.0 Site Blueprints(Second Edition)
- Microsoft Azure Storage Essentials
- Mastering Linux Security and Hardening
- Learning iOS Security
- Oracle實用教程
- 算法圖解
- Mastering Android Studio 3
- JavaScript編程精解(原書第2版)