Java编程思想:第3章 操作符

在最底层,Java中的数据是通过操作符来操作的。

3.1更简单的打印语句

把System.out.println(x);封装在一个类里,然后用静态导入方式,使得打印不必写那么长。

import static net.mingview.util.Print.*;静态导入Print类里所有方法。

3.2使用Java操作符

3.3优先级

3.4赋值

基础类型:是值的改变

对象类型:是引用的改变

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来确定类型有多大

原文地址:https://www.cnblogs.com/superzhao/p/4690236.html