Java程式設計思想 二 操作符

2021-07-11 20:07:58 字數 2248 閱讀 1661

程式是寫給人看的,不是寫給機器看的!

一、操作符

+ :  加號或正號

- :  減號或負號

* : 乘

/ : 除

= : 賦值

1.優先順序(與數學中的優先順序相似)

若string後面緊跟乙個「+」,若後面跟的為非string型別的元素,則會嘗試將這個非string型別的元素轉換為string。

2.賦值(=)

1)取右邊的值,把它複製給左邊的值。

右值只要是乙個值就好,左值必須是乙個明確的、已命名的變數。即:左值必須有乙個物理空間可以儲存等號右邊的值。但不能把任何東西都賦給乙個常數,常數不能作為左值(1=a)。

2)基本資料型別與物件的賦值

基本資料型別:基本資料型別儲存了實際的數值,並非指向乙個物件的引用,在為其賦值時,可以直接將乙個地方的內容複製到另乙個地方。(即a=b,a=c,此時,不會改變b的值)

物件的賦值:對乙個物件進行賦值,操作的是物件的引用(即a=b,a=c,因為是abc是物件,b引用指向a,值會跟著a的改變而改變,也叫別名現象) 如:

示例一:

public class test4 

}public class tank

示例二:

public class test6 

public static void main(string args)

}public class letter

二、算術操作符多乙個:% 取餘

生成乙個隨機數,可以通過random方法。

//47作為種子,目的使展示的輸出都盡可能一致(用於隨機數生成器的初始化值,隨機數生成器對於特定的種子值總是產生相同的隨機數序列)

random random = new random(47);

三、自增(++)與自減(--)字首式:++a或--a

字尾式:a++或a--

區別:字首式先執行運算,再生成值;字尾式先生成值,後運算。

public class test7 

}

四、關係運算子小於<=  大於等=

==!=

其中,==與!=比較的是物件的引用。

若想比較兩個物件的實際內容是否相同,可通過重寫equals()方法來實現,若不重寫,equals()預設的行為比較的也是引用。(equals()具體後面章節有詳解)

五、邏輯操作符

1.短路

若(a>b) && (c>d),」&&」左邊為false,則不再執行後面的操作,直接跳出。

若(a>b)  ||  (c>d),」 || 」左邊為true,則不再執行後面操作,直接跳出

所以,假如邏輯表示式有一部分不必計算,將會獲得潛在的效能的提公升

六、三元運算子

boolean-exp ? value1 : value2

若boolean-exp 為true,則執行value1;若為false,執行value2。

不能頻繁使用。

七、資料型別轉換

隱式轉換:byte

,short

,char--->int--->long--->float--->double

byte,short,char相互之間不轉換,他們參與運算首先轉換為

int型別。

強制轉換:目標型別 名稱= (

目標型別

)需要強轉的資料;

示例:

byte b1=3,b2=4,b;

b=b1+b2;

b=3+4;

哪句是編譯失敗的呢?為什麼呢?

b=b1+b2;

因為byte進行運算時,要先轉換為int型,而b是byte型,所以編譯失敗。

程式設計思想之操作符

1.賦值操作符 assignment operator 賦值使用操作符 它的意思是 取右邊額值,把它複製給左邊 右邊可以是任何常數 變數或者表示式,但左邊必須是乙個明確的 已命名的變數。不能把任何東西賦給乙個常數,常數不能作為左值 比如不能說4 a 基本型別儲存了實際的數值,而並非指向乙個物件的引用...

java程式設計思想筆記 第三章 操作符

char c 0xffff 最大字串 byte b 0x80 最小位元組型 或byte b byte 0x80 long l 1 system.out.println long.tobinarystring l 64個1 l 10 system.out.println long.tobinaryst...

java 位操作符

位運算的應用場景 因為位運算的運算效率比直接對數字進行加減乘除高很多,所以當出現以下情景且對運算效率要求較高時,可以考慮使用位運算。情況1 輸入乙個int型的正整數,計算出該int型資料在記憶體中儲存時1的個數。例如輸入5,因為5 的二進位制表示為101,所以輸出為2.解題思路 普通方法是將5轉換成...