Java语言支持如下运算符:优先级()
算术运算符:+,-,*,/,%,++,--。
赋值运算符:=
关系运算符:>,<,<=,>=,==,!=instanceof
逻辑运算符:&&,||,!
位运算符:&,|,^,~,<<,>>,>>>
条件运算符:?,:
扩展赋值运算符:+=,-=,*=,/=
eg:
int a = 10;
int b = 20;
int c = 25;
int d = 25;
//ctrt+D:复制当前行到下一行
System.out.println(a+b);//30
System.out.println(a-b);//-10
System.out.println(a*b);//25
System.out.println(a/b);//0,注意类型精度问题
System.out.println(a/(double)b);//0.5
//关系运算符返回值结果: 正确(true),错误(false) 布尔值
int a = 10;
int b = 20;
int c = 21;
//取余,模运算
System.out.println(c%2);// c/a 21 /10 = 2.....1
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a==b);//false
System.out.println(a!=b);//true
自增自减运算符
//++ -- 自增,自减 一元运算符
int a = 3;
int b = a++; //a++ a = a + 1;
//执行完这行代码后,先给b赋值,在自增
System.out.println(a);//4
int c = ++a; // ++a a = a + 1;
//执行完这行代码前,先自增,再给c赋值
System.out.println(a);//5
System.out.println(b);//3
System.out.println(c);//5
算数运算符
int a = 10;
int b = 20;
a+=b;//a = a + b
a-=b;//a = a - b
//字符串连接符 + ,String
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30
Math类
//幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具类来操作!
double pow = Math.pow(3,2);
System.out.println(pow);//9
逻辑运算符
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a&&b:"+(a&&b));//false 逻辑与运算:两个都为真,则结果为真
System.out.println("a||b:"+(a||b));//true 逻辑或运算:两个有一个为真,则结果为真
System.out.println("!(a&&b):"+!(a&&b));//true 如果为真则为假,如果为假则为真
短路运算
&&:前面为错误后面不在执行
||:左边正确后面不执行
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);//false
System.out.println(c);//5
位运算
A = 0011 1100
B = 0000 1101
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
左移右移:<< ,>>
// 2*8=16 2*2*2*2
System.out.println(2<<3); //16
/*
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
<< *2
>> /2
位运算的好处:效率极高!!!
三元运算符
// x ? y : z
//如果x==true,则结果为y,否则取Z
int score = 50;
String type = score <60 ?"不及格":"及格";
System.out.println(type);
感谢观看!!!