《java编程思想》---运算符
赋值:
基本类型赋值和对象赋值有很大区别。
基本类型赋值: 赋值赋予的只是其内存的引用。a=b b的内存中存的值复制一份给a。 a修改这一份复制的内容不会影响到b
对象赋值:实际上操作的是他的引用,a和b此时同时指向堆中的一份数据,a或者b修改都会影响他们的值。
别名现象:
如果用对象的引用赋值,会把两个对象绑定到同一个对象上去。如果不想要绑定到同一个对象上,可以:
T1.variable = T2.variable
这样就区别了两个对象的同名variable
方法调用中也可以使用这种别名方法来区别。
Random:
把当前时间作为随机数seed,生成随机数
方法调用nexInt和nextFloat等生成不同类型的随机数。 参数nextInt(max)
随机数取自0和设置的max值之间的均匀分布
自增自减:
对于前缀形式,我们将在执行递增/减操作后获取值;使用后缀形式,我们将在执行递增/减操作之前获取值。它们是唯一具有“副作用”的运算符(除那些涉及赋值的以外) —— 它们修改了操作数的值。
Equals:
比较的是对象的引用,而不是内容本身。
除非通过覆写(大部分java类库的做法)
短路:
在明确结果的情况下省去不必要的计算。
字符串运算符:
String+
如果+运算中有字符串,就将其他数据类型转换成字符串类型。
这样可以隐式地将其转换为字符串,以代替繁琐的显式调用方法(如这里可以使用 **Integer.toString()**)。
强制转换:
大数据--->小数据可能会丢失
小数据--->大数据不会丢失

浙公网安备 33010602011771号