运算符
-
优先级 ()
-
算术运算符:+、-、*、/、%(取余数如2.....1取1)、++(自增)、--(自减)
-
赋值运算符:=
-
关系运算符:>、<、>=、<=、==、!=(不等于)、instanceof
-
逻辑运算符:&&(与)、||(或)、!(非,不是..就是)
-
位运算符:&、|、^、~、>>、<<、>>>
-
条件运算符 ?:
-
扩张赋值运算符:+=、-=、*=、/=
package operator;
public class Deom01 {
public static void main(String[] args) {
// 二元运算符
//ctrl + D :复制当前行到下一行
int a = 10;
int b = 20;
int c = 25;
int d = 30;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println((double)a/b);
long A = 123456789L;
int B = 123;
short C = 12;
byte D = 1;
System.out.println(A+B+C+D);//long
System.out.println(B+C+D);//int
System.out.println(C+D);//int
//有long结果都是long类型,有double都是double类型
//一元运算符 ++ 自增 -- 自减
int a1 = 3;
int b1 = a1++;
//执行完代码先给b1赋值,再自增(就是给a1加了,b1自己不加)
int c1 = ++a1;
//先自增再给c1赋值(给a1自己加了然后把数值给c1)
System.out.println(a1);
System.out.println(b1);
System.out.println(c1);
//幂运算 很多运算,会使用一些工具类来操作
double E = Math.pow(5,6);//5的6次方
System.out.println(E);
}
}
package operator;
//逻辑运算符
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));//如果为true,则变为flase,如果为flase则为true
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
//位运算
/*
A = 0011 1100
B = 0000 1101
---------------------
A&B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~B = 1111 0010
~A = 1100 0011
2*8 = 16 2*2*2*2
效率极高!!!
<< *2
>> /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);//2右移三位(0000 0010)-> (0001 0000)
//(2*3个2=2*2*2*2=16)
//拓展运算符 += -=
int e = 10;
int f = 20;
e+=f;//e = e+f
e-=f;//e = e-f
System.out.println(e);
//字符串连接符 + , 前面有string类型会把其他操作数转化为string进行连接
System.out.println(e+f);//=30
System.out.println(""+e+f);//=1020
System.out.println(e+f+"");//=30
//三元运算符 ? :
//x ? y : z
//如果x==true,则结果为y,否则为z
int score = 80;
String type = score <60 ?"不及格":"及格";//必须掌握
//if