java运算符
算术运算符:+、-、*、/、%(模,既取余)、++、–
赋值运算符:=
关系运算符:>、<、>=、=<、==、!=、instanceof
逻辑运算符:&&、||、!
位运算符:&、|、^、~、>>、<<、>>>
条件运算符:?、:
扩展赋值运算符:+=、-=、*=、/=
算术、赋值、关系运算符
public class Demo01 {
public static void main(String[] args) {
//二元运算符
//ctrl+D复制当前行到下一行
int a = 10;
int b = 20;
int c = 21;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);//进行除法运算时要先进行类型转换
System.out.println("============================");
long e = 123123123123123L;
int f = 123;
short g = 10;
byte h = 8;
System.out.println(e+f+g+h);//输出long类型
System.out.println(f+g+h);//int
System.out.println(g+h);//int
System.out.println("============================");
//关系运算符返回的结果:正确,错误 布尔值
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
System.out.println("============================");
//取余/模运算
System.out.println(c%a);
System.out.println("============================");
//++ -- 自增 自减 一元运算符
int i = 3;
int j = a++;//即a = a + 1 先赋值,再自增1
int k = ++a;//先自增1,再赋值
}
}
逻辑运算符
public class Demo02 {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//逻辑与运算:两个操作都为真,结果才为true
System.out.println("a || b:"+(a||b));//逻辑或运算:两个操作有一个为真,结果为true
System.out.println("!(a && b):"+!(a&&b));//如果是真,则变为假,若为假,则变为真
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
}
}
位运算符
public class Demo03 {
public static void main(String[] args) {
/*
A = 0011 1100
B = 0000 1101
按位与运算:都1为1,否则为0
A & B = 0000 1100
按位或运算:有1则1
A | B = 0011 1101
异或运算:相同为0,不同为1
A ^ B = 0011 0001
取反:取相反,1为0,0为1
~B = 1111 0010
<<:左移 相当于*2
>>:右移 相当于/2
*/
//2*2*2*2
System.out.println(2<<3);//输出16
}
}
扩展赋值运算符
int a = 10;
int b = 20;
a+=b;//a = a + b
System.out.println(a);//输出30
a-=b;//a = a - b
System.out.println(a);//输出10
字符串连接符 +
在+的左边出现String类型,则整体进行字符串拼接
System.out.println(""+a+b);//输出1020
若在 + 的右边出现String类型,则先进行前面的运算,再进行拼接
System.out.println(a+b+"");//输出30,此时30是String类型
三元运算符 x ? y : z
如果x == true,则结果为y,否则结果为z
int score = 80;
String type = score < 60 ? "不及格" : "及格";
System.out.println(type);//输出 及格