java编程思想学习笔记:操作符

本文深入探讨了Java中的赋值操作符、关系操作符、逻辑操作符及字符串操作符的功能与使用场景,详细解释了赋值操作符在基本类型与对象引用间的区别,以及关系操作符在对象比较时的特殊行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

赋值操作符 “=”

a=b;

若a、b为基本数据类型:将表达式右侧的值直接复制给左侧,修改a不会对b的值产生影响;
若a、b为对象的引用:将引用从一个地方复制到另一个地方,即a也是b关联对象的引用,修改a的同时也会改变b。
别名现象:

创建两个类的实例a、b,分别关联对象A、B。将b赋值给a,a、b皆指向b关联的对象B。
而对于a原本关联的对象A,其引用丢失,从而被垃圾回收器自动清理。

注意:
方法的参数列表为对象,在实参传递给形参时,传递的实际上也是引用。
将一个对象的引用x传递给方法f(Letter y)的时,若f函数内部对y产生修改,此修改的实质是对x关联的对象。
类似于c++中的传址操作。

关系操作符 “==”、"!="与equals()方法

  1. 关系操作符 “==”、"!="适用于基本数据类型,也适用于所有对象
    作用于基本数据类型时,比较的是数据的值;
    作用于对象时,比较的不只是对象的内容,还比较地址。
    (通过new方法创建的两个对象的引用,即使内容一致,地址定是不一样的。)

  2. equals()方法只适用于对象
    对于Interger、Long类,equals()方法比较的只是对象的内容
    但是其他自定义的类,equals()方法的默认行为是比较引用,即不仅比较内容,还比较地址
    因此,在自定义的新类中,需要重写equals()来覆盖默认的equals()方法。

逻辑操作符"&&"、“∥”、"!"

短路现象:

"&&"一假则假、"∥"一真即真
一旦能明确确定整个表达式的值,就不再计算表达式余下的部分。
因此,表达式靠后的部分有可能不会被计算。

字符串操作符"+"、"+="

“+” : 一侧是字符串,另一侧是其他类型的变量,其他类型的变量会自动转换成字符串形式
“+=”:将后面字符串追加至操作符左侧的字符串后面,形成新的字符串

类型转换

扩展转换:低精度转换成高精度,是隐式转换
窄化转换:高精度转换成低精度,具有信息丢失的可能,需要强制转换。
进行窄化转换时,默认方式为对数字执行截尾。若需要舍入,需要通过round()函数来进行对数据的四舍五入。

java中没有sizeof函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值