运算符 运算符是一种特殊符号,用来表示数据运算、赋值和比较等操作
算术运算符 
赋值运算符 
比较运算符(关系运算符) 
逻辑运算符 
位运算符 三元运算符 
 
常见运算符 
符号 
名称 
用法 
 
 
+ 
正号 
+6 
 
- 
负号 
-6 
 
+ 
加法 
3+2 
 
- 
减法 
3-2 
 
* 
乘法 
3*2 
 
/ 
除法 
10/2 
 
% 
取模(取余数) 
10%2=0; 9%2=1 
 
++ 
自增(前),先运算,后取值 
a=2; b=++a; b=3 
 
++ 
自增(后),选取值,后运算 
a=2; b=a++; b=2 
 
– 
自减(前),先运算,后取值 
a=2; b=–a; b=1 
 
– 
自减(后),先取值,后运算 
a=2; b=a–; b=2 
 
+ 
链接操作 
a=”hello”; b=”word”; a+b=”helloword” 
 
除法和取模 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 class   NumberTest 	public  static  void  main (String[] args)  		 		int  a = 12 ; 		int  b = 5 ; 		int  res1 = a / b; 		System.out.println(res1);  		double  res2 = a / (b + 0.0 );  		System.out.println(res2); 		double  res3 = (double )a / b; 		System.out.println(res3);  		 		int  c = 12 ; 		int  d = 5 ; 		int  m1 = c % d; 		System.out.println(m1);  		int  c2 = -12 ; 		int  d2 = 5 ; 		int  m2 = c2 % d2; 		System.out.println(m2);  		int  c3 = 12 ; 		int  d3 = -5 ; 		int  m3 = c3 % d3; 		System.out.println(m3);  		int  c4 = -12 ; 		int  d4 = -5 ; 		int  m4 = c4 % d4; 		System.out.println(m4);  	} } 
获取一个三位数的个位、十位、百位 1 2 3 4 int  i = 256 ;int  ge = i % 10 ; int  shi = (i % 100 ) / 10 ; int  bai = i / 100 ;	
自增和自减 ++  和 --   分别是自增和自减操作,共同点是都不会改变原有的数据类型,当自增操作单独的在一行称为一行语句时,自增语句在前和在后都是一样的。
前 ++ 。先计算,后赋值 
后 ++ 。先赋值,后计算 
当 ++ 操作单独在一行时,功能上没有区别,都会自增 1  
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 class  AddRed  	public  static  void  main (String[] args)   	 {		 		int  a = 10 ;	 		int  b = ++a; 		System.out.println(b);  		int  a1 = 10 ;	 		int  b1 = a1++; 		System.out.println(b1);  		double  d1 = 12.3 ; 		d1++;  		System.out.println(d1);  		byte  by1 = 127 ; 		by1++;  		System.out.println(by1);  		by1++; 		System.out.println(by1);  		int  k1 = 10 ; 		int  r1 = --k1; 		System.out.println(r1);  	} } 
赋值运算符 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 class  SetValue  	public  static  void  main (String[] args)   	 {		int  i1 = 10 ; 		i1+=1 ; 		System.out.println(i1);  		int  i2 = 10 ; 		i2-=1 ; 		System.out.println(i2);  		int  i3 = 10 ; 		i2*=2 ; 		System.out.println(i3);  		int  i4 = 10 ; 		i4/=2 ; 		System.out.println(i4);  		short  i5 = 10 ; 		i5%=2 ; 		System.out.println(i5);  	} } 
比较运算符 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 class  Compare  	public  static  void  main (String[] args)   	 {		int  a = 10 ; 		int  b = 9 ;  		System.out.println(a == b);  		System.out.println(a > b);  		System.out.println(a >= b);  		System.out.println(a < b);  		System.out.println(a <= b);  	} } 
逻辑运算符 
&:逻辑与 
&&:短路与 
|:逻辑或 
||:短路或 
!:逻辑非 
^:逻辑异或,当两个不一样时结果是 true 
 
逻辑与和短路与
相同点:运算的结果相同 
不同点:当左边的条件是false时,逻辑与会继续执行右边的判断,短路与不会继续执行右边的判断 
 
逻辑或和短路或
相同点:运算的结果相同 
不同点:当第一个条件时true时,逻辑或会继续判断第二个条件,短路或不会继续判断第二个条件 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 class  Logic 	public  static  void  main (String[] args)   	 {		boolean  b1 = false ; 		int  i1 = 1 ; 		if (b1 & (i1++ > 1 )){ 			System.out.println("结果为真" ); 		}else { 			System.out.println("结果为假" );  		} 		 		System.out.println(i1);  		boolean  b2 = false ; 		int  i2 = 1 ; 		if (b2 && (i2++ > 1 )){ 			System.out.println("结果为真" ); 		}else { 			System.out.println("结果为假" );  		} 		 		System.out.println(i2);  		 		boolean  a1 = true ; 		int  c1 = 10 ; 		if (a1 | (c1-- > 11 )){ 			System.out.println("结果为真" ); 		}else { 			System.out.println("结果为假" );  		} 		 		System.out.println(c1);  		boolean  a2 = true ; 		int  c2 = 10 ; 		if (a2 || (c2-- > 11 )){ 			System.out.println("结果为真" ); 		}else { 			System.out.println("结果为假" );  		} 		 		System.out.println(c2);  	} } 
位运算 
表示方法 
方法描述 
 
 
<< 
空位补0,被移除的高位丢弃,空缺位补0 
 
>> 
被移位的二进制最高位是0,右移后,空缺位补0,最高位是1,空缺位补1 
 
>>> 
被移位的最高位无论是0还是1,都用0补 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 class  Bit  	public  static  void  main (String[] args)   	 {		int  i1 = 10 ; 		System.out.println(i1 << 1 );  		System.out.println(i1 << 3 );  		 		System.out.println(i1 << 27 );  		System.out.println(i1 << 28 );  		int  i2 = 10 ; 		System.out.println(i1 >> 1 );  		System.out.println(i1 >> 2 );  	} } 
三元运算符 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 class  SanYuan  	public  static  void  main (String[] args)   	 {		 		int  a = 125 ; 		int  b = 12 ; 		int  max  = (a > b) ? a : b; 		System.out.println(max);  		 		String max2 = (a > b) ? "a大"  : ((a == b) ? "相等"  : "b大" ); 		System.out.println(max2);  		 		if (a > b){ 			System.out.println(a); 		}else { 			System.out.println(b); 		} 	} }