賦值運(yùn)算符是指為變量或常量指定數(shù)值的符號。賦值運(yùn)算符的符號為“=”,它是雙目運(yùn)算符,左邊的操作數(shù)必須是變量,不能是常量或表達(dá)式。
其語法格式如下所示:
變量名稱=表達(dá)式內(nèi)容
在 Java 語言中,“變量名稱”和“表達(dá)式”內(nèi)容的類型必須匹配,如果類型不匹配則需要自動轉(zhuǎn)化為對應(yīng)的類型。
賦值運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符,結(jié)合方向是自右向左;不是數(shù)學(xué)中的等號,它表示一個動作,即將其右側(cè)的值送到左側(cè)的變量中(左側(cè)只允許是變量,不能是表達(dá)式或其他形式);不要將賦值運(yùn)算符與相等運(yùn)算符“==”混淆。
賦值運(yùn)算符與其他運(yùn)算符一起使用,可以表達(dá)多種賦值運(yùn)算的變異效果。例如,在基本的賦值運(yùn)算符的基礎(chǔ)之上,可以結(jié)合算術(shù)運(yùn)算符,以及后面要學(xué)習(xí)的位運(yùn)算符,組合成復(fù)合的賦值運(yùn)算符。賦值運(yùn)算符和算數(shù)運(yùn)算符組成的復(fù)合賦值運(yùn)算的含義及其使用。
在大型程序中,靈活運(yùn)用這些賦值運(yùn)算符可以提高程序的易讀性,并且使程序更加容易保護(hù)。下面是一些使用賦值運(yùn)算符的示例。
int x, y, z; // 定義3個整型的變量x = y = z = 5; // 為變量賦初值為5x += 10; // 等價于x=x+10,結(jié)果x=15y -= 3; // 等價于y=y-3,結(jié)果y=2z *= 5; // 等價于z=z*5,結(jié)果z=25x /= 4; // 等價于x=x/4,結(jié)果x=3z %= x; // 等價于z=z%x,結(jié)果z=1
例 1
例如,一件商品的單價從 10.25 元降了 1.25 元,而自己購買的數(shù)量由原來的兩個增加到 10 個,可以使用復(fù)合賦值運(yùn)算符來計(jì)算購買商品的總價。
實(shí)現(xiàn)代碼如下:
public static void main(String[] args) { double price = 10.25; // 定義商品的單價,賦值為10.25 double total = 0; // 定義總價初始為0 int count = 2; // 定義購買數(shù)量,賦值為2 price -= 1.25; // 減去降價得到當(dāng)前單價 count *= 5; // 現(xiàn)在需要購買10個,即原來數(shù)量的5倍 total = price * count; // 總價=當(dāng)前單價*數(shù)量 System.out.printf("商品當(dāng)前的單價為:%4.2f \n", price); // 輸出當(dāng)前單價 System.out.printf("購買商品的數(shù)量為:%d \n", count); // 輸出購買數(shù)量 System.out.printf("總價為:%4.2f \n", total); // 輸出總價}
保存代碼并運(yùn)行,輸出的結(jié)果如下:
圖 1 運(yùn)行結(jié)果
注意:雖然 Java 支持這種一次為多個變量賦值的寫法,但這種寫導(dǎo)致程序的可讀性降低,因此不推薦這樣寫。
在該程序中,表示商品單價的 price 變量值為 10.25,而現(xiàn)在降了 1.25,在原來的基礎(chǔ)上減去 1.25 即可獲取現(xiàn)在的單價。而原來購買的數(shù)量為兩個,現(xiàn)在需要購買 10 個,可以使用“count*=5”將數(shù)量乘以 5 倍之后的值賦值給 count 本身。
賦值運(yùn)算符還用于將表達(dá)式的值賦給變量,如下代碼是正確的。
double d1 = 12.34
double d2 = d1 + 5; // 將表達(dá)式的值賦給d2
System.out.println(d2); // 輸出 d2 的值,將輸出 17.34
賦值運(yùn)算符還可與其他運(yùn)算符結(jié)合,擴(kuò)展成功能更加強(qiáng)大的賦值運(yùn)算符。
初級會計(jì)職稱中級會計(jì)職稱經(jīng)濟(jì)師注冊會計(jì)師證券從業(yè)銀行從業(yè)會計(jì)實(shí)操統(tǒng)計(jì)師審計(jì)師高級會計(jì)師基金從業(yè)資格稅務(wù)師資產(chǎn)評估師國際內(nèi)審師ACCA/CAT價格鑒證師統(tǒng)計(jì)資格從業(yè)
一級建造師二級建造師消防工程師造價工程師土建職稱房地產(chǎn)經(jīng)紀(jì)人公路檢測工程師建筑八大員注冊建筑師二級造價師監(jiān)理工程師咨詢工程師房地產(chǎn)估價師 城鄉(xiāng)規(guī)劃師結(jié)構(gòu)工程師巖土工程師安全工程師設(shè)備監(jiān)理師環(huán)境影響評價土地登記代理公路造價師公路監(jiān)理師化工工程師暖通工程師給排水工程師計(jì)量工程師
人力資源考試教師資格考試出版專業(yè)資格健康管理師導(dǎo)游考試社會工作者司法考試職稱計(jì)算機(jī)營養(yǎng)師心理咨詢師育嬰師事業(yè)單位教師招聘公務(wù)員公選考試招警考試選調(diào)生村官
執(zhí)業(yè)藥師執(zhí)業(yè)醫(yī)師衛(wèi)生資格考試衛(wèi)生高級職稱護(hù)士資格證初級護(hù)師主管護(hù)師住院醫(yī)師臨床執(zhí)業(yè)醫(yī)師臨床助理醫(yī)師中醫(yī)執(zhí)業(yè)醫(yī)師中醫(yī)助理醫(yī)師中西醫(yī)醫(yī)師中西醫(yī)助理口腔執(zhí)業(yè)醫(yī)師口腔助理醫(yī)師公共衛(wèi)生醫(yī)師公衛(wèi)助理醫(yī)師實(shí)踐技能內(nèi)科主治醫(yī)師外科主治醫(yī)師中醫(yī)內(nèi)科主治兒科主治醫(yī)師婦產(chǎn)科醫(yī)師西藥士/師中藥士/師臨床檢驗(yàn)技師臨床醫(yī)學(xué)理論中醫(yī)理論