操作符
使用Java操作符
- 几乎所有操作符都只能操作 基本类型 ,例外是 =、==、!=,他们也能操作对象。Sting类支持+和+=
优先级
- 详细参考http://blog.csdn.net/xiaoli_feng/article/details/4567184
- 先乘除后加减,括号优先
赋值
- 基本类型存储了实际数值,不是指向对象的引用。
- 操作对象时操作的是对象的引用
算数操作符
- 一元+可以提升操作数至int
关系操作符
- ==和!=比较对象的引用
- 比较对象的实际内容用equals();equals()默认比较引用,请覆盖
- 基本类型只能使用==、!=
逻辑操作符
- 如果在应用String的地方使用了布尔值,会自动转换成适当的文本形式
- 逻辑表达式可能有一部分不需要计算
直接常量
- 直接常量后面的后缀标志了类型:L--long/F--float/D--double
- 十六进制数适合与所有整数数据类型,用前缀0x
- 八进制用前缀0
- 二进制数没有直接常量表示方法
按位操作符
- 异或:同为0,异为1
- 布尔类型按位操作与逻辑操作相同,但是不能按位“非”
- 异为表达式不能使用布尔值
移位操作符
- 有符号右移高位插入1、0
- 无符号右移高位插入0
三元操作符
- 高效率编程,但是可读性差
字符串操作符+、+=
- 如果表达式以一个字符串开头,那么后续所有操作数都必须是字符串
常见错误
- =赋值
- ==相等
类型转换cast
- 数值和变量都可以进行类型转换
- 任何基本数据类型可以转换成别的基本数据类型
- 布尔不允许进行任何类型转换
- 类 不允许进行类型转换
- 浮点数转型为整型是总是对数字执行结尾,若要舍入需要使用java.lang.Math中的round()方法