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 中不能做结果返回
相关推荐
awu的Android笔记几秒前
IP/TCP/UDP 解析器:一次搞懂网络包结构
android
Refrain_zc2 分钟前
Android 音视频通话核心 —— MediaCodec H.264 硬编码,SPS/PPS 合并与动态码率,视频编码全解析
kotlin
2601_957418802 分钟前
Android相机有线连接全链路优化:PTP/MTP协议栈实现与商业级性能调优
android·数码相机·智能手机·架构
plainGeekDev4 分钟前
Fragment 手动跳转 → Navigation 组件
android·java·kotlin
plainGeekDev6 分钟前
XML 主题 → Compose Material3 主题
android·java·kotlin
__Witheart__12 分钟前
HW-T3568 安卓固件编译指南
android
邪修king15 分钟前
C++map_set封装 : 红黑树底层迭代器以及仿函数的运用
android·c语言·数据结构·c++·b树
AI2中文网1 小时前
App Inventor 2 鸿蒙先行版开发进展:从 Android 到 HarmonyOS 的积木编程迁移实录
android·低代码·华为·harmonyos·app inventor
__Witheart__1 小时前
Android 驱动编译为模块或者built-in内核
android·linux·数据库
恋猫de小郭1 小时前
Flutter 最好的 AI 自动化测试工具:Patrol
android·前端·flutter