Java Applet 入门
太平洋网络学院
第二天
3、表达式与运算符
表达式是由变量、常量、对象、方法调用和操作符组成的式子。符合语法规则的表达式才能被编译系统理解、执行并计算。
说起表达式,也并不是很复杂,就是日常我们见到的数学式子,但有一些区别,Java中的表达式由于操作符的不同,而有很多的种类了。大致可以分为:
1)赋值与强制类型转换
赋值运算符对应了赋值云选,即赋予程序里的变量或对象一定的内容。简单的赋值运算是把一个表达式的值直接赋给一个变量或对象,使用的赋值运算符是“=”,格式为:
变量或对象=表达式;
其中赋值号右边的表达式可以是常量、另外一个变量或对象以及方法的返回值。下面给大家举几个例子:
i=0;
j=i;
k=i+j*4;
2)算术运算
算术运算是针对数值类型操作数进行的运算,算术运算符根据操作数字个数的不同,又可以分为:
1.双目运算符
运算符
运算
例子
解释
+
加
a+b
求a与b相加的和
-
减
a-b
求a与b相减的差
*
乘
a*b
求a与b相乘的积
/
除
a/b
求a除以b的商
%
取余数
a%b
求a除以b所得的余数
2.单目运算符
运算符
运算
例子
功能等价于
++
自增
a++或++a
a=a+1
--
自减
a--或--a
a=a-1
-
求相反数
-a
a=-a
给大家举个例子:
int x=2;
int y=(++x)*3;
运行结果是x=3;y=9。
再看另外的一个例子:
int x=2;
int y=(x++)*3;
运行结果是x=3,y=6。
这是为什么,因为第一个例子中,是x已经等于3后再算y,而后一个例子中,则是先用x=2算出y后,再算x,因为++符号在后面,这就是++x和x++的区别了。
3)关系运算符
关系运算是比较两个数据之间的大小关系的运算,常用的关系运算符号如下:
运算符
例子
解释
==
a==b
a等于b
!=
a!=b
a不等于b
>
a>b
a大于b
<
a<b
a小于b
>=
a>=b
a大于等于b
<=
a<=b
a小于等于b
关系运算符的结果是步尔值,也就是只有“真”和假两种答案,例如:
int x=5,y=7;
boolean b=(x==y);
则b的值是false。也就是0,计算机中用0可以代表false。
4)其他运算符
1.三目运算符
Java中的三墓运算符与C语言中的完全相同,使用形式为:
x?y:z;
这就是说,先计算x的值,若x为真,怎整个表达式的结果为y的值,若x为假,则整个表达式的值为表达式z的值。
例如:
int x=5,y=8,z=2;
int k=x<3?y:z; //因为x<3,所以k=2;
int j=x>0?x:-x //y的值始终为x的绝对值。
2.逻辑运算
逻辑运算是针对布尔型数据进行的云酸,运算的结果仍然是布尔型量。常用的运算符如下:
运算符
运算
例子
解释
&
非简洁与
x&y
x,y都真时结果才为真
|
非简洁或
x|y
x,y都假时结果才为假
!
取反
!=x
x真时为假,x假时为真
^
取或
x^y
x,y同真假时结果为假
&&
简洁与
x&&y
x,y都真时结果才为真
||
简洁或
x||y
x,y都假时结果才为假
3.位运算
位运算是对操作数以二进制为单位进行的操作和运算,位运算的操作数和结果都是整形变量。常用的规则列表如下:
运算符
运算
例子
解释
~
位反
~x
将x按比特位取反
>>
右移
x>>a
x各比特位右移a位
<<
左移
x<<a
x各比特位左移a位
>>>
不带符号的右移
x>>>a
x各比特位右移a位,左边的空位填零
2.复杂运算符
复杂运算符是在先进行某种云酸后,再把运算结果赋给变量。举例如下:
运算符
例子
解释
+=
x+=a
x=x+a
-+
x-=a
x=x-a
*=
x*=a
x=x*a
/=
x/=a
x=x/a
%=
x%=a
x=x%a
&=
x&=a
x=x&a
|=
x|=a
x=x|a
^=
x^=a
x=x^a
<<=
x<<=a
x=x<<a
>>=
x>>=a
x=x>>a
<<<=
x<<<=a
x=x<<<a