gpt4 book ai didi

java - 变量+=值和变量=变量+值之间的区别;

转载 作者:行者123 更新时间:2023-12-02 05:10:33 31 4
gpt4 key购买 nike

例如:

int a = 10;
a += 1.5;

这运行得很完美,但是

a = a+1.5;

此作业表示类型不匹配:无法从 double 转换为 int。所以我的问题是:+= 运算符= 运算符 之间有什么区别。为什么第一个作业什么也没说,但第二个作业却什么也没说。请给我解释一下。只是我想知道我是否可以使用第一个分配到所有地方。

最佳答案

来自Java Language Specification section 15.26.2 :

A compound assignment expression of the form E1 op= E2 is equivalent to E1 = (T) ((E1) op (E2)), where T is the type of E1, except that E1 is evaluated only once.

因此,最重要的区别(就为什么第二个版本无法编译而言)是隐式转换回原始变量的类型。

关于java - 变量+=值和变量=变量+值之间的区别;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15107763/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com