在最底层,Java中的数据是经过使用操做符来操做的。java
1.操做符
- 用于操做数,接受一个或多个参数,并生成一个新值.
- 反作用:操做符可能会改变操做数自身的值.
- 能改变其操做数的操做符,最广泛的用途是用来产生反作用.
- 使用有反作用的操做符和没有反作用的操做符,生成的值没有什么区别.
2.优先级
3.赋值
- "=":将右边的值附给左边的变量.
- 别名现象:是Java操做对象的一种基本方式.(对象传递的是引用,出现不一样的名字)
4.算术操做符
- "+", "-", "*", "/", "%"(向下取整)
- 一元加减号:编译器自动识别,规范加括号.(eg:x = a*(-b))
- 一元减号:改变数据的符号.
- 一元加号:与一元减号对应,将较小类型的操做数提高为int.
5.自增,自减
- "i++","++i","i--","--i"
- 除涉及赋值的操做符之外,惟一具备"反作用"的操做符.
- 前缀:先执行运算,在生成值.
- 后缀:先生成值,在执行运算.
6.关系操做符
- ">", "<", ">=", "<=", "==", "!="
- 返回true/false
- equals :默认比较引用,重写比较内容,不适合用于基本类型.
- ==:比较引用.
7.逻辑操做符
- "&&", "||", "!"
- 短路(潜在的性能提高).
8.直接常量
- "0x?"(十六进制),"0?"(十进制),"?l/L"(浮点型),"?d/D"(双精度型)
- 指数记数:e 表明 "10的幂次".
9.按位操做符
- "&", "|", "~", "^"
- 可与"="联合使用.
10.移位操做符
- "<<"(左移,低位补0), ">>"(有符号右移,高位正插0,负插1), ">>>"(无符号右移,高位插0)
- 只可用来处理整数类型.
- 可与"="联合使用.
11.三元运算符
- boolean-exp ? value0 : value1;
12.字符串操做符
- "+", "+=".
- String 重载了 "+","+=".
- 操做符重载:java不能实现本身的重载操做符.
- 若是表达式以一个字符串起头,那么后续全部操做数都必须是字符串类型(编译器会把双引号内的字符序列自动转成字符串).
13.类型转换操做符
- 类型转换:(cast).
- 向上转型:强制类型转换.
- 向下转型:没必要显示地进行转换.
- 截尾:向下取整.
- 舍入:Math.round(),四舍五入.
- 对基本数据类型进行执行算术运算或按位运算,只要类型比int小,在运算以前,会自动转换成int,最终结果就是int型,若是要把结果赋值给较小的类型,就必须使用类型转换.
14.sizeof
- sizeof()操做符:返回数据分配的字节数.
- Java不须要sizeof,由于全部类型在全部机器中的大小是相同的.
END性能