java – 为什么这个字节没有异常?
发布时间:2020-12-15 04:40:16 所属栏目:Java 来源:网络整理
导读:我初始化了一个字节如下: byte b = (byte) 0b11110000000; 由于一个字节是8位大小,我期望它会抛出一些异常或错误,因为这个数字应该只能分配给short或者以上.它还评估为-124?或者这可能是“正常”行为? (没有异常抛出,但变量溢出)? 解决方法 你应该得到-1
我初始化了一个字节如下:
byte b = (byte) 0b11110000000; 由于一个字节是8位大小,我期望它会抛出一些异常或错误,因为这个数字应该只能分配给short或者以上.它还评估为-124?或者这可能是“正常”行为? (没有异常抛出,但变量溢出)? 解决方法
你应该得到-128.
当您明确地将int转换为byte时,将获取最低的8位,其余的将被丢弃. 在您的示例中,最低的8位是10000000,并且该数字的十进制值是-128. 如果没有显式强制转换,代码将不会通过编译,因为您的分配会导致信息丢失. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 新线程中的Java Run静态方法
- java – Eclipse Mars没有显示Jboss Server
- Arduino Map在Java中的等效功能
- java – 使用DataSource连接到带有(Xerial)sqlite-jdbc驱动
- java.lang.NoSuchMethodError:javax.servlet.http.HttpSer
- java – MethodHandles.lookup().defineClass retention
- java – JMX对象和属性的列表?
- java – Eclipse中的代码颜色样式
- Java replaceAll()方法:替换所有匹配的字符串
- 在java中使用10个线程打印1到100