Posted on 2010-01-15 13:03
asdtiang 閱讀(796)
評論(0) 編輯 收藏 所屬分類:
java fx學習筆記
賦值運算符 "=" 是您將遇到的最常用的運算符。使用該運算符可以將其右側的值賦給其左側的操作數:
result = num1 + num2;
days = ["Mon","Tue","Wed","Thu","Fri"];
|
使用算術運算符可以執行加、減、乘和除運算。mod
運算符用一個操作數除以另一個操作數并將余數作為結果返回。
+ (加運算符)
- (減運算符)
* (乘運算符)
/ (除運算符)
mod (求余運算符)
|
以下腳本提供了一些示例:
var result = 1 + 2; // result is now 3
println(result);
result = result - 1; // result is now 2
println(result);
result = result * 2; // result is now 4
println(result);
result = result / 2; // result is now 2
println(result);
result = result + 8; // result is now 10
println(result);
result = result mod 7; // result is now 3
println(result);
|
您還可以結合使用算術運算符與賦值運算符來創建復合賦值。例如,result += 1;
和 result = result+1;
都會將 result
的值加 1。
var result = 0;
result += 1;
println(result); // result is now 1
result -= 1;
println(result); // result is now 0
result = 2;
result *= 5; // result is now 10
println(result);
result /= 2; // result is now 5
println(result);
|
唯一不能按照此方式使用的算術運算符是 mod
。例如,如果您希望將 result
除以 2,然后將余數重新賦給其自身,則需要編寫:result = result mod 2;
大多數運算符都需要兩個操作數,而一元運算符僅使用一個操作數來執行諸如按一遞增/遞減某個值、對某個
數字求反或對布爾值求反之類的操作。
- 一元減運算符;對某個數字求反
++ 遞增運算符;按 1 遞增某個值
-- 遞減運算符;按 1 遞減某個值
not 邏輯求補運算符;對布爾值求反
|
以下腳本用于測試一元運算符:
var result = 1; // result is now 1
result--; // result is now 0
println(result);
result++; // result is now 1
println(result);
result = -result; // result is now -1
println(result);
var success = false;
println(success); // false
println(not success); // true
|
遞增/遞減運算符可以在操作數之前(前綴)或之后(后綴)應用。代碼 result++;
和
++result;
都將導致 result
的值加 1。二者之間的唯一區別就是前綴版本
(++result
) 得到的是遞增后的值,而后綴版本 (result++
)
得到的是原始值。(您可以通過以下方法來記憶:++result
先執行遞增再獲得值,而 result++
先獲得值再執行遞增。)如果您只是執行簡單的遞增/遞減,則選擇哪個版本都一樣。但是,如果您將該運算符作為較大表達式的一部分進行使用,則選擇不同的版
本會對結果產生很大的影響。
以下腳本說明了這種區別:
var result = 3;
result++;
println(result); // result is now 4
++result;
println(result); // result is now 5
println(++result); // result is now 6
println(result++); // this still prints 6!
println(result); // but the result is now 7
|
相等和關系運算符確定一個操作數是大于、小于、等于還是不等于另一個操作數。
== 等于
!= 不等于
> 大于
>= 大于或等于
< 小于
<= 小于或等于
|
以下腳本用于測試這些操作數:
def num1 = 1;
def num2 = 2;
println(num1 == num2); // prints false
println(num1 != num2); // prints true
println(num1 > num2); // prints false
println(num1 >= num2); // prints false
println(num1 < num2); // prints true
println(num1 <= num2); // prints true
|
條件與 (and) 和條件或 (or)
運算符用于對兩個布爾表達式執行條件運算。這些運算符會表現出“短路”行為,也就是說,僅在必要時才計算第二個操作數:例如,對于 and
運算,如果第一個表達式的結果為 false,將不計算第二個表達式。對于 or
運算,如果第一個表達式的結果為 true
,
將不計算第二個表達式。
以下腳本定義了 username
和 password
變量,然后輸出各個條件的匹配項,從而說明了這些運算符的用法:
def username = "foo";
def password = "bar";
if ((username == "foo") and (password == "bar")) {
println("Test 1: username AND password are correct");
}
if ((username == "") and (password == "bar")) {
println("Test 2: username AND password is correct");
}
if ((username == "foo") or (password == "bar")) {
println("Test 3: username OR password is correct");
}
if ((username == "") or (password == "bar")) {
println("Test 4: username OR password is correct");
}
|
輸出為:
Test 1: username AND password are correct
Test 3: username OR password is correct
Test 4: username OR password is correct
|
instanceof
運算符將對象與指定的類型相比較。您可以使用該運算符來確定某個對象是否為特定類的實例:
def str1="Hello";
println(str1 instanceof String); // prints true
def num = 1031;
println(num instanceof integer); // prints true
|
在本教程的最后一課中深入了解類和繼承后,您將發現該運算符非常有用。
天蒼蒼,野茫茫,風吹草底見牛羊