Java语言中的表达式是由运算符与操作数组合而成的,所谓的运算符就是用来做运算的符号。
在Java中的运算符,基本上可分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、转型运算符等。
一、算术运算符
所谓算术运算符,也就是我们数学中学到的加、减、乘、除等运算。这些操作可以对几个不同类型的数字进行混合运算,为了保证操作的精度,系统在运算的过程中会做相应的转换。
1、数字精度
所谓数字精度,也就是系统在做数字之间的算术运算时,为了尽最大可能地保持计算机的准确性,而自动进行相应的转换,将不同的数据类型转变为精度最高的数据类型。规则如下:
1)当使用运算符把两个操作数结合到一起时,在进行运算前两个操作数会转化成相同的类型。
2)两个操作数中有一个是double类型的,则另一个将转换成double型。
3)两个操作数中有一个是float类型的,则另一个将也转换成float型。
4)两个操作数中有一个是long类型的,则另一个将也转换成long型。
5)任何其它类型的操作,两个操作数都要转换成int类型。
2、整数型运算(int型)
对于int型的相关操作,加、减、乘的结果都是非常容易理解的,重点讲一下除(/)的运算。
两个整数相除的结果是整数,这一点与数学中是不同的,在Java中,两个整数相除的结果类似于数学中的求模运算。整除的余数是用%表示,例如15 / 2 = 7,而不是7.5,15 % 2 = 1。我们用程序验证一下:
/*两个整数相除及求余数*/
public class Divide
{
public static void main(String[] args)
{
int a = 15;
int b = 2;
double c = 2;
System.out.println(a + "/" + b + "=" + (a / b));
System.out.println(a + "%"+ b + "=" + (a % b));
System.out.println(a + "/" + c + "=" + (a / c));
System.out.println(a + "%" + c + "=" + (a % c));
}
}
输出结果:
15 / 2 = 7
15 % 2 = 1
15 / 2.0 = 7.5
15 % 2.0 = 1.0
3、自增和自减运算符
在循环与控制中,我们经常会用到类似于计数器的运算,它们的特征是每次的操作都是加1或减1。在Java中提供了自增、自减运算符,X++使变量X的当前值每次增加1,而X--是自减运算符,每次操作使当前X的值减1。例如:
/*测试自增、自减操作*/
public class SelfAction
{
public static void main(String[] args)
{
int x = 10;
int a = x+ x++;
System.out.println("a =" + a);
System.out.println("x =" + x);
int b = x + ++x;
System.out.println("b =" + b);
System.out.println("x =" + x);
int c = x + x--;
System.out.println("c =" + c);
System.out.println("x =" + x);
int d = x + --x;
System.out.println("d =" + d);
System.out.println("x =" + x);
}
}
输出结果:
a = 20
x = 11
b = 23
x = 12
c = 24
x = 11
d = 21
x = 10
二、关系运算符
Java具有完美的关系运算符。这些关系运算符基本上同数学中的关系运算符是一致的。“>”大于、“<”小于、“>=”大于等于、“<=”小于等于、“==”等于、“!=”不等于。例如:
/*关系运算符测试*/
public class RelationTest
{
public static void main(String[] args)
{
boolean x, y, z;
int a = 15;
int b = 2;
double c =15;
x = a > b; //true;
y = a < b; //false;
z = a != b; //true;
System.out.println("x =" + x);
System.out.println("y =" + y);
System.out.println("z =" + z);
}
}
输出结果:
x = true
y = false
z = true
三、逻辑运算符
在Java语言中有三种逻辑运算符,它们是NOT(非,以符号“!”表示)、AND(与,以符号“&&”表示、)OR(或,以符号“||”表示)。
1、NOT运算符
NOT运算符是用来表示相反的意思。
NOT逻辑关系值表
A |
!A |
true |
false |
false |
true |
2、AND运算符
AND运算符表示“与”的意思,也就是和的意思。
AND逻辑关系值表
A |
B |
A&&B |
false |
false |
false |
true |
false |
false |
false |
true |
false |
true |
true |
true |
3、OR运算符
OR运算符是用来表示“或”就像我们日常生活中理解的一样,两者只要有一个为“真”,结果就为“真”。
OR逻辑关系值表
A |
B |
A||B |
false |
false |
false |
true |
false |
true |
false |
true |
true |