java的运算符

来源:互联网 发布:用户标签数据库设计 编辑:程序博客网 时间:2024/05/16 18:16
运算符就是在用变量或常量进行运算时,经常需要用到的符号,目前常用的有10种:
算术运算符、关系运算符、逻辑运算符、位运算符、移位运算符、赋值运算符、三元运算符、逗号运算符、字符串运算符、转型运算符。
常用运算符列表
算术运算符
这里可以理解为加减乘除余,主要的不同之处就是数字精度问题和加号的扩展
在不同类型的数据之间进行运算时,为了使结果更加精确,系统会将结果自动转化为精度更高的数据类型(eg:int a=6; float b=6f; 那么a+b的结果就是12.0)。
这里的规律就是:
 使用运算符把两个操作数结合在一起的时候,首先会将2个操作数转化成相同类型的数据。
转化的优先顺序为double-->float--->long,如果上面三个都没有就默认为int(这个就是2个数据中有一个是double结果是double类型,没有double,有一个是float 结果就会使float类型,这里另一个的数据类型只要没有这个高,结果就会和这个数据类型一致)
加号的扩展
就是他的功能不限于算术运算,还有字符串的连接,“a”+“b”得到的结果“ab”
算术运算还包含自加(++) 和自减(--)
++a 先加后用       a++先用后加
--a先减后用          a-- 先用后减

关系运算符
关系运算符值得是两个操作数之间的关系包括 >,<,>=,<=,==,!=,
注意:算术运算符的结果都是数字,而关系运算符的结果这是布尔类型数据。

逻辑运算符
逻辑运算符共有3中非,与,或,
非 的符号是! 原理:这个是否定运算
与 的符号是&& 原理:两个操作数只要有一个是false那么结果就是false,两个操作数都是true结果才是true
或 的符号是||    原理:两个操作数只要有一个是true,那么结果就是true,否则结果就是false

位运算符
位运算符主要针对二进制进行运算,它包括与,非,或,异或,表面上看有点像逻辑运算符,但是逻辑运算符是针对两个关系运算符来进行逻辑运算,而为运算符
主要针对两个二进制数的位进行运算。
与运算符的符号& 规律:两个操作数中位都是1时,结果才为1,否则结果为0  eg: int a=129; int b=128 输出结果a&b 的结果 ,看到是为运算先把a和b都换成2进制
129---10000001,128---10000000, 根据规律 这2个也只有第一位都为1 那么他们的结果为1000000 他们的结果也就是128,
或运算的符号| 规律:两个只要有一个为1 ,那么结果就是1否则为0, 假如刚才的输出结果是a|b那么结果输出就是129,
非运算的符号~ 规律 :如果位为0结果为1,如果位为0结果为1
异或运算符的符号^ 规律 :两个操作数的位中,相同结果为0,不同结果为1。

移位运算符

移位运算符也是针对二进制的位,主要包括左移位运算符<<,右移位运算符>>,无符号右移运算符>>>,
左移的规律:向左移动n位,就相当于乘上2的n次方,
右移的规律:向右移动n位,就相当于除以2的n次方,


赋值运算符
a+=b ---->a=a+b
a-=b------>a=a-b
其他的以此类推

三元运算符
三元运算符的表达式
布尔表达式?值0:值1
其运算过程若果布尔值位是true 返回值0,如果布尔值位false 返回值1。

转型运算符
转型运算符就是将一种类型的对象或数据,经过强制转换而转变为另一种类型的数据。

基本类型数据转换序列

byte------>short(char)------>int------->long------>float------>double





0 0