Android +,++,+= 的区别

+/++/+= 运算符用了这么多年一直很混乱,甚至用的时候不生效直接代码替代,现在有时间整理一下方便后续查看

运算符:

运算符 本质作用 操作数数量 是否修改原变量 支持的类型 典型场景
+ 加法 / 拼接(返回新结果) 2 个 不修改 数值、字符串、自定义类型 计算和、拼接内容(不修改原变量)
++ 自增 1(返回新 / 旧值) 1 个 修改 仅数值类型(整数、浮点) 循环计数、简单自增
+= 加 / 拼接后赋值(缩写形式) 2 个 修改 数值、字符串、自定义类型(Kotlin) 更新变量值(加 n 或拼接内容)
  • +是加法和拼接
  • ++数值加1
  • +=加法和拼接后赋值

1.+操作符处理加法和拼接的效果

+操作符只做增加和拼接操作,不修改原有变量

  • +操作数据只做加的操作 不改变原有变量
  • +操作字符做拼接操作 不改变原有变量
go 复制代码
var a="a"

var b=a+"bc"
println("result="+a)
println("result="+b)

var c=0
var d=c+1
println("result="+c)
println("result="+d)

结果:
result=a
result=abc
result=0
result=1

2.++自增操作符数值自增1

  • count++ 后置自增 先返回变量当前值,再让变量自增 1
  • ++count 前置自增 先让变量自增 1,再返回自增后的值
go 复制代码
var a=0
var b=0
println("执行前result="+(a++))
println("执行后result="+a)
println("执行前result="+(++b))
println("执行后result="+b)

// 结果
执行前result=0
执行后result=1
执行前result=1
执行后result=1

总结: ++在前先返回再++,++在后先++再返回

3.+=数值增加和拼接后赋值

+=:将修改后的结果赋值给原变量

注意: kotlin中 += 不能作为结果返回

  • 操作数值

操作数值时: 和前置自增一致 先++再返回

csharp 复制代码
int a=0;
System.out.println("执行前result="+(a+=1));
System.out.println("执行后result="+(a));

//结果
执行前result=1
执行后result=1
  • 操作拼接
ini 复制代码
String a="a";
String b=(a+="b");
System.out.println("执行后result="+(a));
System.out.println("执行后result="+(b));
//结果
执行后result=ab
执行后result=ab

总结

  • +只增加不修改原对象
  • +=增加/拼接赋值给原数据
  • ++count先自增再返回
  • count++先返回再自增
  • +=在Kotlin 中不能做结果返回
相关推荐
石头猫灯10 分钟前
一次 CMS 被黑实录:完整事件思路梳理
android·学习
zhonyu鱼12 分钟前
Escrcpy:用电脑键盘鼠标操作安卓手机的跨平台投屏工具
android·计算机外设·电脑
千里马学框架19 分钟前
安卓开机性能优化:如何安全高效地裁剪 SystemService
android·智能手机·framework·wms·手机·性能·车载
Android打工仔27 分钟前
一次 Android 拍照后卡顿的 Perfetto 定位与优化实践
android·性能优化
OpenFDE开源桌面35 分钟前
实操:如何将安卓 App与Linux系统应用级融合(附代码)
android·linux
xiangxiongfly91537 分钟前
Android VideoView总结
android·videoview
杉氧1 小时前
从 Modifier 到 Flexbox:React Native 布局与样式设计哲学
android·前端·react native
Kapaseker1 小时前
我常用的 5 个 Kotlin 优化小技巧
android·kotlin
恋猫de小郭2 小时前
Flutter 多窗口支持类型和 API 介绍
android·前端·flutter
张风捷特烈2 小时前
当 AI 遇见 Flutter | 打造 500+ Widget 专属Logo
android·前端·flutter