-
算数运算符
-
+ - * / % ++ --
class Ysf { public static void main(String[] args) { System.out.println(5/2);//2默认为int类型 System.out.println(5/2.0);//2.5修改为double类型 System.out.println(-5 % 2);//-1 System.out.println(5 % 2);//1取余结果的正负由被除数决定 //如何得到整数的个位,十位,百位。 int num = 345; System.out.println(num % 10 + num/10%10 + num/100); int m = 5,n; m++;//++在后先将m的值赋给左边变量,自身在加1,++在后,m自身先+1,然后再将结果赋给左边的变量 //System.out.println("m=" + m);//6 n = m++; System.out.println("m=" + m+ "n="+ n);//m:6,n:5 int a = 5,b = 3,s; s = a++ + ++a + --b - b--; //a++以后a的值变为6,但是这个位置上取的值还是5, ++a后,a的值为7,该位置取得值也为7 //s = 5 + 7 + 2 - 2 System.out.println("s:" + s);// 5 a:6, 7 a:7, 2 b:2, 2 b:1 } }
-
赋值运算符
-
= ,+=, -=, *=, /=
int c = 5,d = 3,e; e = c + d;//8 c += d;// c = c + d 8 c *= d;// c = c * d 15 c /= d;// c = c / d 小数 byte j = 5,f; f = j +6; System.out.println("f" + f);//编译不通过,j为byte类型。而6默认为int型,int转换为byte可能损失精度 byte j = 5,f; f +=6; System.out.prinltn("f" + f);//结果为11,编译通过,采用复合运算符,内部做了自动转换。
-
关系运算符
-
>,>=,<,<=<,==,!=
System.out.prinltn(5>3);//true System.out.prinlnt(5<3);//false System.out.println(5==3);//false
-
逻辑运算符
-
&&与, ||或 , !非(取反)
int yu = 90,shu = 70; System.out.println(yu>=90 && shu>=90);//false条件都满足时才为true true && true ;//true true && false;//false false && false;//false false && true;//false /* &&:左边的表达式为false 最终结果为假剩下的就不会去运算,运行效果会快一些 &:左边的为false,还会继续运算右侧表达式,运行效率会慢一些 ||;如果左边为true,剩下的就不会去计算,运行效率快一些 ||:如果左边为true,剩下的还回去计算,运行效率会慢一些。 注:因此在开发 时,一般多使用&&,||来进行逻辑运算 */ System.out.println(yu>=90 || shu>=90);//true只要满足一个就为true true || true;//true true || false;//true false || true;//true false || false;//false System.out.print(!(5<3));//true
-
条件运算符
-
?
int m,n = 5; m= n>5?66:55;//m = 55