gpt4 book ai didi

java - 隐式转换与显式转换

转载 作者:行者123 更新时间:2023-12-01 17:45:15 25 4
gpt4 key购买 nike

此处 int 和 float 的位深度在进行隐式转换时相同在第二个字符和短的一位深度是相同的,但显式转换已完成。这背后的原因是什么?

隐式转换

int k = 100; //32bits

float l = k ; //32bits

显式转换

 char e = 'B'; //16 bits

short f = (short)e; //16 bits

最佳答案

虽然 shortchar 都是 16 位(2 字节)变量,但它们的范围不同。

Char is an unsigned variable.

Short is a signed variable.

a char 类型的范围是从 0 到 65535)。

空头的范围是从(−32,768 到 32,767)。

由于这种差异,java 强制您显式转换,因为将值超过 32,767 的 char 转换为短整型可能会导致无效转换。这同样适用于对字符进行负短转换。

这也是您将 int 转换为 long 的原因(因为 int 的值总是适合 long。但是您必须显式地将 long 转换为 int (告诉编译器您愿意接受数据丢失/损坏的风险)

关于java - 隐式转换与显式转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56170773/

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