Groovy 運(yùn)算符
運(yùn)算符是一個(gè)符號(hào)榨了,通知編譯器執(zhí)行特定的數(shù)學(xué)或邏輯操作站削。
Groovy運(yùn)算符包括:算術(shù)運(yùn)算符
倒源、關(guān)系運(yùn)算符
苛预、邏輯運(yùn)算符
、位運(yùn)算符
笋熬、賦值運(yùn)算符
[算術(shù)運(yùn)算符]
運(yùn)算符 | 描述 | 例子 |
---|---|---|
+ | 兩個(gè)操作數(shù)的加法 | 1 + 2 將得到 3 |
- | 第一第二操作數(shù)相減 | 2 - 1 將得到 1 |
* | 兩個(gè)操作數(shù)的乘法 | 2 * 2 將得到4 |
/ | 兩個(gè)操作數(shù)的除法 | 2 * 2 將得到4 |
% | 取模運(yùn)算 | 3%2 將得到 1 |
++ | 自增運(yùn)算热某,在自身值的基礎(chǔ)上加1 | int x = 5; x++; x 將得到 6 |
-- | 自減運(yùn)算,在自身值的基礎(chǔ)上減1 | int x = 5; x- -; x 將得到 4 |
[關(guān)系運(yùn)算符]
運(yùn)算符 | 描述 | 例子 |
---|---|---|
== | 判斷兩個(gè)對(duì)象之間是否相等 | 2 == 2 將得到 true |
!= | 判斷兩個(gè)對(duì)象之間是否不等 | 3 != 2 將得到 true |
< | 檢查是否左邊的數(shù)字是小于右邊的數(shù)字 | 2 < 3 將得到 true |
<= | 檢查是否向左數(shù)字是小于或等于右邊的數(shù)字 | 2 <= 3 將得到 true |
> | 檢查是否左邊的數(shù)字比右邊的數(shù)字大 | 3 > 2 將得到 true |
>= | 檢查是否向左對(duì)象大于或等于右邊的對(duì)象 | 3>= 2 將得到 true |
[邏輯運(yùn)算符]
運(yùn)算符 | 描述 | 例子 |
---|---|---|
&& | 邏輯“與”運(yùn)算 | true && true 得到 true |
|| | 邏輯“或”運(yùn)算 | true || true 得到 true |
! | 邏輯“非”運(yùn)算 | !true 得到 false |
[位運(yùn)算符]
運(yùn)算符 | 描述 |
---|---|
& | 位“與”運(yùn)算 |
| | 按位“或”運(yùn)算 |
^ | 按位“異或”運(yùn)算符 |
~ | 這是按位反運(yùn)算符 |
[賦值運(yùn)算符]
運(yùn)算符 | 描述 | 例子 |
---|---|---|
+= | A += B 等價(jià)于 A = A+B | def A = 5 A += 3 輸出將是8 |
-= | A -= B 等價(jià)于 A = A-B | def A = 5 A -= 3 輸出將是2 |
*= | A = B 等價(jià)于 A= AB | def A = 5 A *= 3 輸出將是15 |
/= | A /= B 等價(jià)于 A = A/B | def A = 6 A /= 3 輸出將是2 |
%= | A %= B 等價(jià)于 A = A % B | def A = 5 A %= 3 輸出將是2 |
[范圍運(yùn)算符]
運(yùn)算符 | 描述 | 例子 |
---|---|---|
.. | 用于表示范圍 | 0..5 |
def range = 1..6
//打印范圍
println(range);
//打印范圍內(nèi)角標(biāo)為2的數(shù)字
println(range.get(2));
打印結(jié)果是:
1..6
3
[運(yùn)算符優(yōu)先級(jí)]
Groovy的四則運(yùn)算和其它語(yǔ)言一樣,底層都是用逆波蘭表達(dá)式
運(yùn)算的昔馋。運(yùn)算符的優(yōu)先級(jí)如下:
運(yùn)算符 | 名稱(chēng) |
---|---|
++ - + - | 預(yù)增/減筹吐,一元加,一元減 |
* / % | 乘法秘遏,除法丘薛,取模 |
* - | 加法,減法 |
== != <=> | 等于邦危,不等于榔袋,比較 |
& | 二進(jìn)制/位運(yùn)算符與 |
^ | 二進(jìn)制/位異或 |
| | 二進(jìn)制/按位或 |
&& | 邏輯和 |
|| | 邏輯或 |
=,以及其它 | 各種賦值運(yùn)算符 |
Groovy 循環(huán)
for循環(huán)
for(def index = 0; index < 10; index++){
println index
}
for死循環(huán)
def index = 0;
for(;;){
println index++
}
while循環(huán)
def index = 0;
while (index < 10){
index += 1;
println index
}
while死循環(huán)
def index = 0;
while (true){
println index++
}
do...while循環(huán)
def index = 0;
do{
index += 1;
println index
} while (index < 10)
for...in循環(huán)
def range = [5, 6, 7, 8, 9, 10]
def range = 5..10
for(def index in range){
println index
}
Groovy 循環(huán)控制語(yǔ)句
- break語(yǔ)句
break語(yǔ)句用于改變循環(huán)和switch語(yǔ)句內(nèi)的控制流铡俐。
def range = 5..10
for(def index in range){
println index
if(index == 7){
//跳出for循環(huán)
break;
}
}
def flag = 2;
switch (flag){
case 1:
break
case 2:
break
case 3:
break
default:
break
}
- continue語(yǔ)句
continue語(yǔ)句補(bǔ)充了break語(yǔ)句凰兑。它的使用僅限于while和for循環(huán)。
def range = 5..10
for(def index in range){
if(index < 7){
//結(jié)束本次循環(huán)审丘,立即進(jìn)入下一次循環(huán)
continue;
}
println index
}
-
go...to語(yǔ)句
def range = 5..10 L: for(def index in range){ if(index < 7){ println "index:" + index continue L } }
Groovy 條件判斷語(yǔ)句
if...else吏够,和Java語(yǔ)言一樣。
[本章完...]