运算符

 

运算符一共分为

算术运算

赋值运算符

比较运算符

逻辑运算符

位运算符

三元运算符

算数运算符

加(+)、减(-)、乘(*)、除(/)、

自增(分++在前和++在后)、自减(——和++一样分前后的)、

字符串连接符(+、将字符串相加得到新的字符串)

取模运算符(%)

如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。 但被模数是负数就另当别论。

当左边的绝对值小于右边: 结果是左边 当左边的绝对值等于右边或者是右边倍数的时候:结果是0

当左边的绝对值大于右边:结果是余数,符号取决与左边的符号

取余的正负号取决于左边

 

赋值运算符

= 等于用于赋值和初始化变量:int i = 1; a = 2;

+=  加等于:a += b ——>a = a + b;

—=  减等于:a -= b ——>a = a - b;

*=   乘等于:a *= b ——>a = a * b;

/=   出等于;a /= b ——>a = a / b;

%= 模等于:a &= b ——>a = a %b;

 

比较运算符

<   小于

>   大于

==    相对于

!=    不等于

<=     小于等于

>=     大于等于

比较运算符运行结束之后返回的都是boolean值  返回值要么是true要么为false;

 

逻辑运算符

&       与(and)

|        或(or)

!     非(not)

^      异或(xor)

&&    短路与

||    短路或

逻辑运算符和比较运算符一样返回的值是boolean类型的

&  两边都为true结果才为true,只要有一边是false,结果就是false

第一个条件    第二个条件     结果

 true           true       true  

 false          true           false

 true           false          false

false           false          false

 左右两边同时为true,结果为true。


|  两边都为false结果才为false,只要有一边是true,结果就是true

第一个条件    第二个条件     结果
  true          true            true
  false         true            true
  true          false           true
  false         false           false

左右两边只要有一个结果是true,结果为true


^  判断两边是否不同,不同则为true,相同则为false

第一个条件    第二个条件     结果

  true          true          false

  false         true           true

  true          false          true

  false         false          false

左右两边相同,结果为false。


!  取反,!true结果是false,!fasle结果是true

!true     false
!false    true
!!true     true


&&  和&结果相同,具有短路效果,如果前半是false,表达式结果一定为false,不运行后一半


||  和||结果相同,具有短路效果,如果前半是true,表达式结果一定为true,不运行后一半

 

位运算符

 

任何信息在计算机中都是以二进制的形式保存的,&|^除了可以作为逻辑运算符,也可以做为位算符。

它们对两个操作数中的每一个二进制位都进行运算,0当做false1当做true

 

&将两个二进制数每一位进行&运算,两边都为1结果才为1,只要有一边是0,结果就为0

 

 

|将两个二进制数每一位进行|运算,两边都为0结果才为0,只要有一边是1,结果就为1

 

^将两个二进制数每一位进行^运算,只要两边不同结果就为1,相同则为0

 

 

我们可以对数据按二进制位进行移位操作,java的移位运算符有三种:

 

<<  左移  将二进制的每一位向左移,低位补0。左移几位就相当于乘以2的几次方。

 

>>  右移  将二进制的每一位向右移,原来高位是0就补0,原来高位是1就补1。右移几位就相当于除以2的几次方。

 

>>> 无符号右移  将二进制的每一位向右移,高位补0。正数移动没区别,负数移动后变为正数。

 

三元运算符

 

(条件表达式)?表达式1:表达式2;

 

如果条件为true,运算后的结果是表达式1;

 

如果条件为false,运算后的结果是表达式2;

int i = 1,j = 2,k

k = i > j ? i : j;

System.out.println(z);

比较i j的大小并输出较大的数

 

 

总结:

取模就是对一个数求它的余数  int类型的数默认返回类型为int  小数点后边不管多大都会被舍弃  不会像四舍五入啥的

&&短路与如果第一个条件是false 程序直接结束更好的提高了运算速度

||短路或如果第一个条件是true 程序直接结束

<<一个正整数向左移动几位就乘以2的几次幂
>>一个正整数向右移动几位就除以2的几次幂

 

 

 

 

 

posted @ 2013-09-20 01:03  小痞  阅读(217)  评论(0编辑  收藏  举报