目录
一、运算符
算术运算符
关系运算符
自增自减运算符
逻辑运算符
位运算
扩展运算符
三元运算符
二、优先级
一、运算符
-
算术运算符
//二元运算符 //Ctrl+D:复制当前行到下一行 int x=20; int y=50; System.out.println(a+b);//70 System.out.println(a/b);//0 不能超出作用域 System.out.println(a/(double)b);//0.4 long z=1236384930031508; System.out.println(x+y); //int System.out.println(x+y+z); //long 自动转换式子中容量大的数据类型 //取余运算符/模运算:% System.out.println(y%x);//y/x 50/20=2.......10(余10)
-
关系运算符
关系运算符返回值的结果:正确/错误,布尔值
-
自增自减运算符
-- ++ 自增,自减 属于一元运算符
int a = 3; int b = a++; //b=a,a=a+1 先赋值再自增 即b=3 a=4 int c = ++a; //a=a+1,c=a 先自增再赋值 即a=5 c=5 System.out.println(a); //5 System.out.println(b); //3 System.out.println(c); //5
了解:幂运算,如2^3,以及很多特殊的数学类运算都需要借助math类函数
//幂运算 2^3 2*2*2=8 double pow = Math.pow(2,3); // (底数,指数)double型 System.out.println(pow); //8.0
-
逻辑运算符
&&:与(and)运算,有假为假,都为真结果才为真
||:或(or)运算,有真为真
!:非(取反)运算,假为真,真为假
//短路运算 int a=5; boolean b=(c<4)&&(c++<4);//c<4为false System.out.println(b);//false System.out.println(c);//5 //与运算第一个为false,后面就不进行判定了,直接为false
-
位运算
位运算:&、|、^、~、>>、<<、>>>(与二进制有关)
System.out.println(2<<3);//16
-
扩展运算符
扩展运算符:+=、-=、*=、/=
int a = 10;
int b = 20;
a+=b; // a = a+b
a-=b; // a = a-b
System.out.println(a); //10
//字符串连接符 + ,转化为String类型,然后拼接
System.out.printin(a+b);//30
System.out.println(""+a+b); //1020
System.out.println(a+b+""); //30 先进行运算,再转为String拼接
System.out.println(a+b+"str"); //30str
-
三元运算符
条件运算符:?、:
// x ? y : z //如果x为真,则结果为y,否则为z //相当于if(x) y; else z; int score = 80; String type = score<60?"及格":"不及格"; System.out.println(type); //及格
二、优先级
下表中上行优先于下行



