Java运算符
运算符基本分为六类:算数运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、三元(条件)运算符。
一、算术运算符
算数运算符,是指在Java运算中,计算数值类型的计算符号,既然是操作数值类型的运算符号,那么就包括整型和浮点型的计算。
package test;
public class HelloWord {
public static void main(String[] args) {
int i=20;
int j=10;
int h=2;
int t=3;
System.out.println(i+j);//加法运算
System.out.println(i-j);//减法运算
System.out.println(i*j);//乘法运算
System.out.println(i/h);//整除运算
System.out.println(i/t);//非整除运算
System.out.println(i%h);//取余运算
System.out.println(i%t);//取余运算
System.out.println(i++);//自增运算
System.out.println(++i);//自增运算
}
}
重点提示:
1、许多语言中的取模运算只能用于整数型,Java对此做了扩展,它允许对浮点数进行取模操作。例如,3%2 的结果是 1, 15.2%5 的结果是 0.2。取模操作还可以用于负数,结果的符号与第一个操作数的符号相同,例如,5%-3 的结果是 2,-5%3 的结果是-2。
2、“+”不仅可以将非字符串数据相加,还可以有字符串拼接的作用,“+”两侧的操作数中只要有一个是字符串类型,系统会自动将另一个操作数转换为字符串然后再进行连接
二、赋值运算符
赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。
除了“=”,其它的都是特殊的赋值运算符,以“+=”为例,x += 3就相当于x = x + 3,首先会进行加法运算x+3,再将运算结果赋值给变量x。-=、*=、/=、%=赋值运算符都可依此类推。
三、比较运算符
关系运算符用来比较两个值的关系。关系运算符都是二元运算符,也就是每个运算符都带有两个操作数,运算的结果是一个逻辑值。Java允许“==”和“!=”两种运算符用于任何数据类型。例如,既可以判断两个数的值是否相等,也可以判断对象或数组的实例是否相等。判断实例时比较的是两个对象在内存中的引用地址是否相等。
四、逻辑运算符
逻辑运算符包括逻辑与(&)、逻辑或(|)和逻辑非(!)。前两个是二元运算符,后一个是一元运算符。Java对逻辑与和逻辑或提供“短路”功能,也就是在进行运算时,先计算运算符左侧的表达式的值,如果使用该值能得到整个表达式的值,则跳过运算符右侧表达式的计算,否则计算运算符右侧表达式,并得到整个表达式的值。
PS:&&和||表示,只要第一个条件符合要求,第二个条件将不会去执行;而&和|表示,无论第一个条件是否符合要求,第二个条件都会去执行。
五、三元(条件)运算符
条件运算符( ? : )也称为 “三元运算符”或“三目运算符”。
语法形式:布尔表达式 ? 表达式1 :表达式2。
运算过程:如果布尔表达式的值为 true ,则返回 表达式1的值,否则返回 表达式2 的值。
package test;
public class HelloWord {
public static void main(String[] args) {
int i=20;
int j=20;
String a=(i==j)?"两个数值相同":"两个数值不同";
System.out.println(a);
}
}
package test;
public class HelloWord {
public static void main(String[] args) {
int i=20;
int j=10;
String a=(i==j)?"两个数值相同":"两个数值不同";
System.out.println(a);
}
}
六、位运算符
位运算符用来对二进制位进行操作,包括按位取反(~)、按位与(&)、按位或(|)、异或(^)、右移(>>)、左移(<<)和无符号右移(>>>)。位运算符只能对整数型和字符型数据进行操作。
七、表达式
1、什么是表达式?
表达式是符合一定语法规则的运算符和操作数的序列,表达式中操作数进行运算后得到的结果,称之为表达式的值,表达式的值的类型,称之为表达式类型。
2、表达式的运算顺序
总结:按照运算符的优先级从高到低的顺序进行,例如:先乘除,后加减;有括号先算括号