Java基础:Java运算符

提示:如果你有足够的精力,请记住运算符的优先级!

1. 算术运算符
 +  -  *  /  %(求余/求模运算符)  ++  --
 
 ++ -- 稍微有点麻烦,有个好办法:自己写个Demo测试一下,就可以搞定!
 
2. 关系运算符
 >  <  ==  !=  >=  <=
 
3. 逻辑运算符
 &  |  ^  !  &&  || 
 
 <1> &  |  ^ 既可以对逻辑表达时进行操作,也可以对一般数据类型进行操作
 int a = 1;//0x0001 int b = 2;//0x0002 System.out.println("对一般数据类型进行操作"); System.out.println(a&b);//0,按位求余 System.out.println(a^b);//3,按位异或 System.out.println(a|b);//3,按位求或 System.out.println("对逻辑表达时进行操作"); System.out.println(a == 1 & b == 2);//true System.out.println(a == 1 | b == 2);//true /*两者不一致时才为真*/ System.out.println(a == 1 ^ b == 2);//true+true = false System.out.println(a == 12 ^ b == 2);//false+true = true //false+true = true System.out.println(a == 1 ^ b == 22); //true+true = false System.out.println(a == 12 ^ b == 22);   

 <2> &&  || ! 只可以对逻辑表达时进行操作,不可以对一般数据类型进行操作
   //均会报错 System.out.println(a&&b); System.out.println(a||b); System.out.println(!a);   

<3> 区别

      &:普通与 &&:短路与|:普通或 ||:短路或

   @1. 当在(a && b)条件下,当a为false时,不用再判断b了,表达式已经为false;
      @2. 当在(a || b)条件下,当a为true时,不用再判断b了,表达式已经为true;
      @3. 而 &  和 |  则需要两边都进行判断 才行 !
4. 位运算符
 &  |  ^  ~  >>  <<  >>>
 
 &  |  ^  ~  按位取与、取或、异或、取反
 >>  位右移,高位是1,右移n位就在左边补n个1;高位是0,右移n位就在左边补n个0  
 >>> 无符号位右移,不管高位是1还是0,均在左边补0
 <<  位左移,右边补0
 
5. 赋值运算符
 =
 
6. 扩展运算符,即复合运算符
   +=  -=  *=  /=  %=  等等
 
  int a = 7; //报错:可能损失精度,因为int遇见float会先自动转换为float再与 //2.6相运算,但是计算结果是float不能自动转换为int故报错 a = a + 2.6 //使用复合运算符,就相当于强制转换 a += 2.6; <=> a = (int)(a + 2.6); = 9//强制转化会损失精度 --> 省去小数点 所以,a += 2.6; //不与 a = a + 2.6等效   
  
7. 字符串连接符
 +
 
 在使用System.out.println语句打印时,会默认调用toString()方法,所以只要字符串连接符+两边的操作数有一个是字符串,
 系统就会自动的将另一个操作数转换为string,然后再打印输出。
 

  int a = 1; int b = 2; System.out.println("a+b= " + a + b);//a+b= 12 System.out.println("a+b= " + (a + b));//a+b= 3,括号的优先 //级最大,所以先计算a + b的值然后再将其转换为string输出。 以下类推。 System.out.println("------------------------------"); int i = 12; char ch = 24; System.out.println("i+ch = " + i + ch);//i+ch = 12一个字 //符(24对应的字符) System.out.println("i+ch = " + (i + ch));//i+ch = 36


你可能感兴趣的:(java,String,测试,扩展,float)