程式是寫給人看的,不是寫給機器看的!
一、操作符
+ : 加號或正號
- : 減號或負號
* : 乘
/ : 除
= : 賦值
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轉換成...