操作符

操作符是对操作数执行特定操作的标记符号。JavaFX提供了赋值操作符,算术操作符,一元操作符,相等和关系操作符,条件操作符,类型比较操作符。

Contents

- Assignment Operators
- Arithmetic Operators
- Unary Operators
- Equality and Relational Operators
- Conditional Operators
- Type Comparison Operator


Assignment Operators
赋值操作符

赋值操作符“=”是最常见的操作符之一。它用来将右侧的值赋给左侧:
result = num1 + num2;
days = ["Mon","Tue","Wed","Thu","Fri"];

Arithmetic Operators
算术操作符

算术操作符用来进行相加、相减、相乘、相除计算。mod操作符返回两个数相除之后的余数。
+ (additive operator)
- (subtraction operator)
* (multiplication operator)
/ (division operator)
mod (remainder operator)

下面是一些例子:
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。如果你想一个操作数被2除后将余数赋给它,需要这样写:result = result mod 2;

Unary Operators
一元操作符

大多数操作符都需要两个操作数,一元操作符仅需要一个操作数。用来加/减1,把一个数变成负数,或转化一个布尔值。
- Unary minus operator; negates a number
++ Increment operator; increments a value by 1
-- Decrement operator; decrements a value by 1
not Logical complement operator; inverts the value of a boolean

下面实际运用一下一元操作符:
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先自增后得到值,而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

Equality and Relational Operators
相等和关系操作符

相等和关系操作符用来判断一个操作符是否大于、小于、等于或不等于另一个操作符。
== equal to
!= not equal to
> greater than
>= greater than or equal to
< less than
<= less than or equal to

下面来验证一下:
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

Conditional Operators
条件操作符

条件操作符用于对两个布尔表达式进行条件运算。操作符具有“短路”的行为特征,这意味着第二个操作数只在需要的时候进行计算。例如,对于and操作符来说,如果第一个表达式的结果为false,第二个表达式将不再计算。对于or操作符,如果第一个表达式的结果为true,则第二个表达式不再计算。
and
or

下面例子示范了操作符的用法,定义了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");
}

The output is:

Test 1: username AND password are correct
Test 3: username OR password is correct
Test 4: username OR password is correct

Type Comparison Operator
类型比较操作符

instanceof操作符对比一个对象是否是特定的类型。在你需要知道一个对象是否是一个特定类的实例时,可以用它:
def str1="Hello";
println(str1 instanceof String); // prints true

def num = 1031;
println(num instanceof java.lang.Integer); // prints true

在你学习类和继承这一节的时候,你会发现这个操作符很有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值