JAVA基础入门运算符

1、算数运算符: 正、负  + -

加、减、乘、除、取模 + - * / %

自加、自减 ++ --

字符串连接 +

2、算数运算符应该注意的问题

对于取模“%”:结果和第一个数字符号相同,不一定是整数 5 % (-2) = 1 -5 % 2 = -1 5.0 % 2 = 1.0  5 % 2.0 = 1.0

对于除号“/”: 整数之间做除法只保留整数部分(和小数不同) 5 / 2 = 2 5.0 /2 = 2.5

对于加号"+”:除了字符串相加功能外,还能把非字符串转成字符串 System.Out.print(“5 + 5 = ” + 5 + 5)       //5 + 5 = 55

字符计算的是它的Unicode码,同时也要考虑就近原则。

例如: char  a ='a';

     char b = 'b';

     System.Out.print(a + b +"hello") //195hello

     System.Out.print"’hello" + a + b)   //helloab   

算数运算符++、--:单独使用放在操作数前面和后面一样

++x(前++):先自增再运算

x++(后++):先运算再自增

例如:int x = 4;

    int  y = (x++) + (++x) + (x*10)

//70 = 4     + + 6*10 最后y值为70,x值为6

3、赋值运算符

“=”  : 当“=” 两边数据类型不一样时自动 提升或强转

复合赋值运算符  += 、 -= 、/= 、*= 、%=

a += b 等价于 a = a+b  注意:复合赋值运算符可以自动强转

例如:

byte b =1 ;

int a  = 1;

b = b + a; //报错,需要强转 b = (byte)b + a

b+= a  //不报错,自动强转

自动将double 强转为int,砍掉小数部分。

例如:

int  i = 1;

i *= 0.1 

System.Out.print(i) // 0

4、比较运算符(关系运算符)

结果只有true和false两种

      (1)基本数据类型 > 、<、==、>=、<=、!=

(2) 引用数据类型 instanceOf  检查是否为某种类型的对象

要注意 == 和 = 的区别 ,= 是赋值运算。

例如:

boolean  b1 = false;

if(b1 = true) //条件为真

if(b1 == true)//条件为假

5、逻辑运算符

& | ^ ! &&   ||

注意:^ 异或,追求的是‘异’,不同为true,相同为fals。

    &&和||有短路效果,左边能得出结论,右边不执行。

6、三元运算符

条件表达式 ? 表达式1 : 表达式2

条件表达式为真时,整个表达式返回的结果为表达式1,否则为表达式2.

7、位运算

《左移 右边空缺位补零。

》右移  当最高位 是1 ,空缺位补1,最高位原来是0,空缺位补0。

>>> 无符号右移 左边空缺位补0。

简单记 :左移n位等于乘以2的n次方,右移n位等于除以2的n次方。

&按位与 |按位或 ^按位异或 ~按位取反

位异或运算特点:一个数据对另一个数据异或两次,该数本身不变。

8、运算符优先级:算数运算符>关系运算符>逻辑运算符>三元运算符>赋值运算符


你可能感兴趣的:(JAVA基础入门运算符)