asdtiang的博客 感谢blogjava提供的博客交流平台

JAVA FX语法学习----运算符

Posted on 2010-01-15 13:03 asdtiang 阅读(784) 评论(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, 将不计算第二个表达式。

and



or
 

以下脚本定义了 usernamepassword 变量,然后输出各个条件的匹配项,从而说明了这些运算符的用法:

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
 

在本教程的最后一课中深入了解类和继承后,您将发现该运算符非常有用。



天苍苍,野茫茫,风吹草底见牛羊

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 80, comments - 24, trackbacks - 0, articles - 32

Copyright © asdtiang

asdtiang的博客 PaidMailz
点击广告网赚A(每天4个广告,每个0.0025美元,一个搜索广告0.03美元)