在最底层,Java中的数据是经过操做符来操做的。测试
3.1更简单的打印语句spa
把System.out.println(x);封装在一个类里,而后用静态导入方式,使得打印没必要写那么长。对象
import static net.mingview.util.Print.*;静态导入Print类里全部方法。
字符串
3.2使用Java操做符编译器
3.3优先级编译
3.4赋值import
基础类型:是值的改变基础
对象类型:是引用的改变数据类型
3.4.1方法调用中的别名问题引用
传入方法的对象型参数会有一个别名,这个别名指代的是引用。
3.5算术操做符
Java中算术操做符有+、-、*、/、%、+=、-=、*=、/=、%=
3.5.1一元加减操做符
一元加减号与二元加减号使用相同的符号,编译器会自动判断。
x = (-a);
x = a*(-b);
通常用括号使得看起来更明显。一元加号只是为了与一元减号相对应,惟一的做用仅仅是把较小的类型转换成int。
3.6自动递增和递减
'++'和'--'都有2种用法,前缀和后缀。
前缀表示先计算再生成值,后缀表示先生成值,再计算。
3.7关系操做符
能够产生一个boolean结果的操做符是关系操做符。
包括>、<、>=、<=、==、!=
3.7.1测试对象的等价性
==和!=比较的是引用所指向的对象是不是同一个,是则返回true,不然false。
equals()方法能够被复写用于比较内容。
3.8逻辑操做符
&&与、||或、!非能够生成一个boolean值
3.8.1短路
&&若是前面表达式出现false,直接返回false,不会计算剩下的表达式值
||若是前面表达式出现true,直接返回true
3.9直接常量
能够用0X,L,F,D等字符放于前缀或后缀,表示相应数据类型。
二进制没有直接表示方法,能够用Integer,Long的toBinaryString()来输出二进制字符串
3.9.1指数计数法
float f = 1.39e-43f;
表示1.39*10的-43次方
3.10按位操做符
用于操做二进制位
&按位与,|按位或,^按位异或(不一样为1,相同为0),
~按位非,把数值取反,1变0,0变1
3.11移位操做符
也是操做二进制位的,只能操做整数类型。
左移<<在低位补0,有符号右移>>低位截掉,高位补与符号位相同值。
无符号右移>>>高位补0
二进制负数 = 二进制整数取反+1
3.12三元操做符if-else
e1 ? v1 : v2
3.13字符串操做+和+=
用于拼接字符串
3.14使用操做符常犯错误
3.15类型转换操做符
(转换类型)
3.15.1截尾和舍入
把float和double转成int时,会截尾。须要舍入使用Math.round()方法
3.15.2提高
小于int类型在算术或按位计算都会变成int来算
3.16 Java没有sizeof
Java全部数据类型在全部机器上的大小都是相同的。因此没必要须要sizeof来肯定类型有多大