gpt4 book ai didi

Java(隐式类型转换): Does a unary operator affect the data type of the variables in operation?

转载 作者:行者123 更新时间:2023-11-29 07:58:27 24 4
gpt4 key购买 nike

在学习隐式和显式类型转换时,我尝试了以下代码:

class Implicit
{
public static void main(String args[])
{
byte a=10;
byte b=20;

a=a+b; //

System.out.println(a);
}
}

编译器报告:

enter image description here

我尝试了这段代码,看看一元运算符或此类示例中的任何其他操作是否会导致右侧的数据类型发生变化。

这是这里发生的事情吗?若有,原因何在?还有哪些情况会导致数据类型发生改变?

最佳答案

编译器警告你因为 byte+byte = int 因此,它警告你何时尝试添加两个字节(添加后本质上是一个 int)并将其分配给一个字节,这将导致精度损失,因为 byte 只能容纳 8 位,而 int 可以容纳 32 位。

但是,当您使用 compound assignment operator 时,这不会给您警告。 .

    a+=b; //

关于Java(隐式类型转换): Does a unary operator affect the data type of the variables in operation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16102587/

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