a += b 和 a = a + b有区别?

hotice 2001-10-22 03:35:42
声明变量如下:
char c = ‘c‘;
int i = 10;
表达式如下:
a) c += i;
b) c = c+i;
我在jBuilder4中,使用a表达式时,编译器没有报错;
使用b表达式,编译器报错。
很奇怪,这是为什么呢?有谁可以解释一下吗?

这个问题应该属于数据类型的问题?表达式的问题?
请高人指教!
...全文
127 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyhong_h 2001-10-23
  • 打赏
  • 举报
回复
vive,不懂不要乱说。
c是一个字符char,不是字符串String。
字符char是一种基本数据类型,是int的子类型,参与运算时会自动转化成int类型。
vive 2001-10-22
  • 打赏
  • 举报
回复
不对吧?
c+=i是取c以后的第i个字符,结果是字符类型(char)
c+i是字符c和整数i连接成一个字符串,结果是字符串类型(String),所以当然不能赋值给char类型的c了
zhixin_snow 2001-10-22
  • 打赏
  • 举报
回复
注意吧!兄弟!要细心的耶
cherami 2001-10-22
  • 打赏
  • 举报
回复
java是一种严格类型检查的语言,具体看实践吧,很多细节的东西需要自己尝试才能知道的。
vampirelord 2001-10-22
  • 打赏
  • 举报
回复
这种技巧和编译器有关,最好不要玩火。
chinaspx 2001-10-22
  • 打赏
  • 举报
回复
哦!原来op=有这样的好处,能自动转换。
bobokong 2001-10-22
  • 打赏
  • 举报
回复
c = c + i时现将c和i转换为int型计算,再赋给c时需要cast,如果不cast就不能编译
c += i时编译器自动cast,不需要显式地cast,这时java中的一个特例,-= *= /=同样
judgement_sword 2001-10-22
  • 打赏
  • 举报
回复
HOTICE 你是不是姓高?????
内容概要:本文详细介绍了名为MoSca的系统,该系统旨在从单目随意拍摄的视频中重建和合成动态场景的新视角。MoSca通过4D Motion Scaffolds(运动支架)将视频数据转化为紧凑平滑编码的Motion Scaffold表示,并将场景几何和外观与变形场解耦,通过高斯融合进行优化。系统还解决了相机焦距和姿态的问题,无需额外的姿态估计工具。文章不仅提供了系统的理论背景,还给出了基于PyTorch的简化实现代码,涵盖MotionScaffold、GaussianFusion、MoScaSystem等核心组件。此外,文中深入探讨了ARAP变形模型、2D先验到3D的提升、动态高斯表示、相机参数估计等关键技术,并提出了完整的训练流程和性能优化技巧。 适用人群:具备一定计算机视觉和深度学习基础的研究人员和工程师,特别是对动态场景重建和新视角合成感兴趣的从业者。 使用场景及目标:①从单目视频中重建动态场景的新视角;②研究和实现基于4D Motion Scaffolds的动态场景表示方法;③探索如何利用预训练视觉模型的先验知识提升3D重建质量;④开发高效的动态场景渲染和优化算法。 其他说明:本文提供了详细的代码实现,包括简化版和深入扩展的技术细节。阅读者可以通过代码实践加深对MoSca系统的理解,并根据具体应用场景调整和扩展各个模块。此外,文中还强调了物理启发的正则化项和多模态先验融合的重要性,帮助实现更合理的变形和更高质量的渲染效果。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧