运算符:
算术:+、-、*、/、%、++、--
关系:>、=、<=、==、!=
逻辑:&&、||、!
赋值:=、+=、-=、*=、/=、%=
1,算数:+(加)、-(减)、*(乘)、/(除),这些符合现实生活中的直接运算,不做过多价绍。
%名称为:取余/取模,做的是除法中被除数被除后余几。
int a = 8;
int c = a%4;
System.out.println(c);//0
System.out.println(5%8);//5
System.out.println(3%2);//1
++:分为a++和++a,在单独运算中,均起到自加1的作用。
int a = 1;
a++;
System.out.println(a);//2
在和其他一起运算时,两者有区别。a++是先运算后加1,++a是先加1后运算。
int a = 1;
int b = a++;
System.out.println(b);//1
System.out.println(a);//2
int a = 1;
int b = ++a;
System.out.println(b);//2
System.out.println(a);//2
在我看来a++就是先混过当前阶段,在下一阶段自己才+1
++a就是当前阶段就变了+1
--:跟++一致,可以参考上面。
2,关系:>、=、<=、==、!=
>, <, =, <=, >= 跟数学上的一样,!=是不等号,==是等号,两边相等,和=分开,=是赋值的。
这些基本运用在boolean类型中。
boolean a = 2>5;
boolean b =3!=1;
System.out.println(a);//false
System.out.println(b);//true
System.out.println(3>5);//false
System.out.println(5!=4);//true
3,逻辑:&&、||、!(& , |)
&&:逻辑与,当两边一个为false时,结果为flase,两个都为true最后结果才是true。
System.out.println(5>2&&1>2);
System.out.println(2>1&&3>1);
||:逻辑或,当两边一个为true时,结果为true,两个都为flase最后结果才是flase。
System.out.println(1>2||2>3);
System.out.println(1>2||1>3);
!:逻辑非,结果为true的加上他就变成false,结果为false的加上他就变成true。
System.out.println(!(1>2));
System.out.println(!(1<2));
注:&&和||均具有短路现象,何为短路现象:&&当第一个结果是false时,后面的就不再执行。
||当第一个为true时,第二个就不再执行。
单独看没什么区别,在与++,--,一起时就有区别了。
int a = 1,b = 2,c = 3;
// 1>2 不执行
System.out.println(a>b&&++a<c);//false
System.out.println(a);//1
// 1<2 1>=2
System.out.println(a<2&&a++>=b);//false
System.out.println(a);//2
int a = 1,b = 2,c = 3;
// 1<2 不执行
System.out.println(a<b||++a<c);//true
System.out.println(a);//1
// 1>2 1>=2
System.out.println(a>2||a++>=b);//false
System.out.println(a);//2
而&和|不具有短路现象。
int a = 1,b = 2,c = 3;
// 1<2 2<3
System.out.println(a<b&++a<c);//true
System.out.println(a);//2
// 1>2 2>=3
System.out.println(a>2&a++>=b);//false
System.out.println(a);//3
4,赋值:=、+=、-=、*=、/=、%=
int a = 1;
a +=1;//等效于:a = a+1;
System.out.println(a);//2
int a = 1;
a*=2;//等效于:a = a*2
System.out.println(a);//2
int a = 1;
a-=1;//等效于:a = a-1;
System.out.println(a);//0
int a = 2;
a/=2;//等效于:a = a/2;
System.out.println(a);//1
int a = 2;
a%=2;//等效于:a = a%2;
System.out.println(a);//0