算术运算符
+,-,*, / , %,++,--
+:加
-:减
*:乘
/:取商
%:取余或者取模
自增自减运算
++:自增1
--:自减1
i++和++i
变量在独立运算时, 前 ++ 和 后 ++ 没有区别 。
和其他变量放在一起, 前 ++ 和 后 ++ 就产生了不同。
i++,给i加1,但是i++的值是i本身。(先计算,后加1)
++i,给i加1,但是++i的值是i+1了。(先加1,后计算)
示例:
public static void main(String[] args) {
int a = 12;
int b = 3;
int result = a+b;//
System.out.println("a+b="+result);
result = a-b;
System.out.println("a-b="+result);
result = a*b;
System.out.println("a*b="+result);
//除法
a = 10;
b = 3;
result = a/b;//取商
System.out.println("a/b="+result);
result = a%b;//取余
System.out.println("a%b="+result);
//++,--
System.out.println("---------------------------------");
int m = 10;
//m++;//相当于m=m+1;
++m;
System.out.println("m:"+m);
//m--;//相当于m=m-1;
--m;
System.out.println("m:"+m);
//
System.out.println("---------------------------------");
int x = 2;
int y = 3;
int res = (x++)-(++x);//2-4=====>-2
System.out.println("x:"+x);//4
System.out.println("res:"+res);//-2
}
赋值运算符
=,赋值:=右侧的数据,赋值给=左边的变量
+=,-=,*=,/=,%=
a += b //a =a + b
示例:
public static void main(String[] args) {
int a = 23;
//+= ,-=,*=,/=;%=;
a +=2;//相当于a = a+2;
System.out.println("a:"+a);
//
a -= 10;//相当于a = a-10;
System.out.println("a:"+a);
a *=2;//相当于a = a*2;
System.out.println("a:"+a);
a /=2;//相当于a = a/2;
System.out.println("a:"+a);
a %= 2;//相当a = a%2;
System.out.println("a:"+a);
}
关系运算符(比较运算符)
用于比较两个数的关系,结果是boolean类型的
>,=,
==:判断两个数是否相等
==,和=的区别
=:赋值运算符
==:比较数值是否相等
!= :判断两个数是否不相等
示例:
public static void main(String[] args) {
System.out.println(1==1);//true
System.out.println(1<2);//true
System.out.println(3>4);//false
System.out.println(3<=4);//true
System.out.println(3>=4);//false
System.out.println(3!=4);//true
}
逻辑运算符
操作数是boolean类型,结果也是boolean类型
&:与操作
规则:操作数都是true,结果才是true,有一个是false就为false。
一假则假,全真才真
|:或操作
规则:操作数都是false,结果才是false,有一个是true,就是true
一真则真,全假才假
^:异或:异表示不同
规则:两个操作数,相同为假,不同为真。
!:取非,取反
规则:!T-->F, !F-->T
&&:短路与
规则:遇到一个false就直接返回结果为false,后面的不再参加计算了。
||:短路或
规则:遇到一个true就直接返回结果为true,后面不再计算了
public static void main(String[] args) {
boolean b1 = true;
boolean b2 = false;
boolean b3 = true;
//1,&:全真才真,一假则假
boolean result = b1 & b2 &b3;
System.out.println("result:"+result);
//2,|:一真则真,全假才假
result = b1 | b2;
System.out.println("result:"+result);
//3,!:取反
result = !b1;
System.out.println("result:"+result);
System.out.println("------------------短路与和短路或--------------------");
//&&:短路与是只要遇到false;立马返回false;后面的不再计算
int a = 12;
int b = 23;
result = (a++<10)&&(b++>20);
System.out.println("a:"+a);
System.out.println("b:"+b);
System.out.println("result:"+result);
System.out.println("--------------------------------------");
//||:短路或是只要遇到true;立马返回true,后面的不再计算
a = 12;
b = 23;
result = (a++<10)||(b++>20);
System.out.println("a:"+a);
System.out.println("b:"+b);
System.out.println("result:"+result);
}