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
- java的运算符
- Java 的运算符
- java的运算符
- java的运算符
- JAVA的运算符
- Java的运算符
- Java的运算符
- java的运算符
- Java的运算符
- java的运算符
- Java 的运算符
- java的运算符
- java的运算符
- Java的运算符
- Java 的运算符
- Java的位运算符
- Java的移位运算符
- java的位运算符
- winpcap 中出现c:\codes\include\pcap-stdinc.h(79) : error C2144: syn..错误时
- 三种XML解析方式的简单使用
- Yii运用coreseek进行全文检索
- BFS广度优先搜索——入门
- php实时输出内容
- java的运算符
- HDU 5469 Antonidas dfs减枝
- 笔记-CCNA与网络安全 第7章 交换和VLAN
- JVM运行时数据区域
- 有关作用域的知识
- CODEVS 3287 货车运输&&CODEVS 1519 过路费
- PLSQL Developer 打开表后中文为??? 乱码问题解决
- CentOS 搭建SVN服务器
- 《Grande教程系列》四.使用gradle搭建SpringBoot项目