java基本运算符
算术运算符
+ | - | * | / | % | ++ | -- |
---|---|---|---|---|---|---|
加 | 减 | 乘 | 除 | 模运算(取余) | 自增 | 自减 |
自增运算符举例:
public class Demo01 {
public static void main(String[] args) {
int a = 2;
int b = a++; //先给b赋值(此时b=2),再自增
System.out.println(a);
System.out.println(b);
System.out.println("================");
int x = 4;
int y = ++x;//先自增,再给y赋值(y=5)
System.out.println(x);
System.out.println(y);
}
}
运行结果:
赋值运算符
=
关系运算符
> | < | >= | <= | == | != |
---|---|---|---|---|---|
大于 | 小于 | 大于等于 | 小于等于 | 等于 | 不等于 |
逻辑运算符
&& | || | ! |
---|---|---|
与 | 或 | 非 |
位运算符
& | | | ~ | ^ | << | >> | >>> |
---|---|---|---|---|---|---|
与 | 或 | 非 | 异或(相同为0,不同为1) | 左移 | 右移 | 无符号右移 |
位运算符对位进行操作,例如:
A = 0011 1100
B = 0000 1101
则:(对A和B的每一位进行比较)
A&B = 0000 1100
A|B = 0011 1101
~B = 1111 0010
A^B = 0011 0001
左移、右移:<<,>>
计算2*8=16:
只需2<<3
即可,即将2左移3位
2 = 0000 0010
16=0001 0000
条件运算符
? :
//三元运算符
//x ? y : z
//如果x==ture,则结果为y,否则为z
int score = 70;
String type = score < 60 ? "不及格" : "及格";
System.out.println(type);
扩展赋值运算符
+=, -=, *=, /=
a+=b; //a = a + b;
a-=b; //a = a - b;
a*=b; //a = a * b;
a/=b; //a = a / b;
附:字符串连接符 +
int a =10;
int b =20;
System.out.println(""+a+b); //""在前,先转换为string类型再 +
System.out.println(a+b+""); //""在后,先运算,再转化成string
运行结果: