java基础六 运算符

来源:互联网 发布:string数组添加元素 编辑:程序博客网 时间:2024/05/18 16:38
------什么是运算符?
含义:对常量和变量进行操作的一些符号。
分类: 算术运算符,赋值运算符,比较(关系或条件)运算符,逻辑运算符,位运算符,三目(元)运算符 
------算术运算符(+,-,*,/,%,++,-- )

+运算符:在java中有三种作用,代表正号,做加法运算,字符串的连接符

/运算符:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型

%运算符

当左边的绝对值小于右边绝对值时,结果是左边  (1%2的结果就是1)

当左边的绝对值等于右边或是右边的倍数时,结果是0  (1%1=0)

当左边的绝对值大于右边绝对值时,结果是余数(5%2=1)

%运算符结果的符号只和左边有关系,与右边无关

任何一个正整数%2结果不是0就是1可以用来当作切换条件 

注意:/获取的是除法操作的商,%获取的是除法操作的余数 


++:自加。对原有的数据进行+1

 --:自减。对原有的数据进行-1

++和--的使用:

单独使用:放在操作数的前面和后面效果一样。(比如a++和++a都表示a=a+1)
参与运算使用:
放在操作数的前面,先自增或者自减,然后再参与运算。(int a=3,int b;b=++a,打印得到结果是:a=4,b=4)
放在操作数的后面,先参与运算,再自增或者自减。(int a=3,int b;b=a++,打印得到结果是:a=4,b=3)

------赋值运算符(=,+=,-=,*=,/=,%= )
分类:基本运算符和扩展的运算符
基本的赋值运算符:=
把=右边的数据赋值给左边。(int a = 10就表示将10赋值给a)

扩展的赋值运算符:+=,-=,*=,/=,%=

+= 把左边和右边做加法,然后赋值给左边。(a+=4表示a=a+4)

-= 把左边和右边做减法,然后赋值给左边。(a-=4表示a=a-4)

*= 把左边和右边做乘法,然后赋值给左边。(a*=4表示a=a*4)

/= 把左边和右边做除法,然后赋值给左边。(a/=4表示a=a/4)

%= 把左边和右边做取余,然后赋值给左边。(a%=4表示a=a%4)


------关系运算符(==,!=,>,>=,<,<= )

关系运算符也叫比较运算符,条件运算符

特点:无论你的操作是简单还是复杂,结果是boolean类型。

注意: "=="不能写成"=","=="是关系运算符,用来做比较的,而"="是赋值运算符,是用来赋值的


------逻辑运算符(&,|,^,!,&&,||)

逻辑运算符一般用于连接boolean类型的表达式或者值。
表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
比较表达式:a == b(条件表达式)

&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
!逻辑非:非false则true,非true则false。(偶数个不改变本身。)

&&和&的区别?
最终结果一样。
&&(短路与)具有短路效果。左边是false,右边不执行。但是&(逻辑与)是无论左边是false还是true,右边都会执行
||和|的区别?
最终结果一样。
||(短路
)具有短路效果。左边是true,右边不执行。但是&(逻辑或)是无论左边是false还是true,右边都会执行

------位运算符(&,|,^,~ ,>>,>>>,<<)
位与&:有0则0
位或|:有1则1
位异或^:相同则0,不同则1   (特点:一个数据对另一个数据位异或两次,该数本身不变。(比如:5^10^10=5))
位非~:按位取反
左移 <<:左边最高位丢弃,右边补齐0(其实就是乘以2的几次方   5*8就可以表示为 5 << 3,其实就是5*2^3)
右移 >>:最高位是0,左边补齐0;最高为是1,左边补齐1
无符号右移  >>>:无论最高位是0还是1,左边补齐

------三元运算符
格式:(关系表达式) ? 表达式1 : 表达式2;
三元运算符的执行流程 :先计算关系表达式 , 如果结果为true,该结果就是表达式一,否则为表达式二

0 0
原创粉丝点击