Java—day03:運算符和表達式
#1、算術運算符
Java中的算術運算符除了:+、-、*、/以外,還括號取模(%)運算和單目運算(++、--)。其中,Java中的除法是求商,取模運算是求餘數,單目運算是用來實現讓變量的值自加1(++)或自減1(--)。
1.1、除法和取模
除法和取模運算經常用來操作獲取任意數字對應數位上的數字,取模運算經常用來處理能否整數的邏輯。
1.2、單目運算
單目運算主要用於循環結構中,但是單目運算在單獨使用時,單目寫在變量前(++a/--a)和變量後(a++/a--)作用是不同的:
單目寫在變量前:先讓變量的值自加1或自減1,然後再使用變量(先計算,後使用);
單目寫在變量後:先使用變量,然後再讓變量的值自加1或自減1(先使用,後計算);
2、字符串拼接運算符
加號除了可以進行算術加法運算之外,還可以實現字符串數據的拼接操作:
當加號的兩邊都是數字類型時,則進行的是加法運算,運算的結果是數字類型(1+1=2);
當加號的兩邊有一個是字符串數據(String:一對雙引號括起來的)時,則進行的是字符串拼接運算,運算的結果是字符串類型的(一+一=王)。
3、賦值運算符
等號是用於給變量進行賦值操作,賦值操作是將等號右邊的結果賦值給左邊的變量。等號除了賦值之外,還具備以下特點:
賦值表達式(a=1)本身也是有值的;
等號可以配合算術運算符一起使用;
在實際開發中,等號還可以配合+、-、*、/、%這些運算符一起使用,這種運算符被稱之爲擴展賦值運算符,Java中的擴展賦值運算符有:+=、-=、*=、/=、%=
注意:擴展賦值運算符的運算效率遠遠高於賦值運算符,並且擴展賦值運算符可以實現類型的自動強制轉換。
4、關係運算符
關係運算是用於比較數據大小的,Java中的關係運算符有:>,<,>=,<=,==(相等),!=(不相等)。關係運算的結果是一個是否成立的狀態值,這種值只能使用boolean類型來表示:如果關係運算成立,則結果爲true;如果關係不成立,結果爲false。
5、邏輯運算符
關係運算是用於一次比較操作的,而邏輯運算是用於多次比較操作的。
邏輯運算是建立在關係運算的基礎之上,Java中的邏輯運算符有:短路與(&&)、短路或(||)、非(!),由於邏輯運算是建立在關係運算之上的,所以邏輯運算結果也是boolean類型。
5.1、短路與運算
兩個關係參與的短路與運算:只有當兩個關係都爲true時,短路與的結果纔是true;只要有一個爲false時,短路與的結果一定是false。
5.2、短路或
兩個關係參與的短路或運算:只要有一個關係爲true時,短路或的結果一定是true;只有當兩個關係都爲false時,短路或的結果纔是false。
5.3、非運算
非運算是隻有一個關係參與的邏輯運算,非運算的結果與關係的值相反:若關係爲true,非運算的結果是false;若關係是false,非運算的結果是true。
5.4、短路特性
* 短路與和短路或會有短路現象的可能,具體發生短路的情況如下:
* 短路與運算時,當第一個關係的值爲false時,程序不會執行後面的其他關係,最後短路與的結果一定也是false;
* 短路或運算時,當第一個關係的值爲true時,程序不會執行後面的其他關係,最後短路或的結果一定也是true。
6、三目運算符
三目運算符又被稱爲條件運算符,三目運算符是根據一個條件的不同取值(boolean)去執行不同的代碼。
語法:boolean條件?表達式1:表達式2
執行邏輯:先計算boolean條件的值,如果條件爲true時,則三目運算的結果就是表達式1;如果條件爲false時,則三目運算的結果就是表達式2.
三目運算的嵌套形式
一個三目運算是用於一次判斷操作,但是大多數情況是需要經過多次判斷操作的,如:考試成績等級劃分?超市的購物打折?等等,這時就需要使用三目運算的嵌套形式來操作。所謂的三目運算的嵌套就是在一個三目運算的表達式內部又進行一個三目運算。