《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()**)。

强制转换:
大数据--->小数据可能会丢失
小数据--->大数据不会丢失

 

posted @   NobodyHero  阅读(73)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!
点击右上角即可分享
微信分享提示