java - byte 加 byte ?所有操作数自动转换为 int ?

标签 java types

这是代码,最后第二行无法编译出来,因为结果是int?所以,我可以吗 解决java中的每个非整数类型在算术中都作为整数处理吗? 我正在向所有人学习英语,谢谢。

  byte a=0;
    for(int i=0;i<128;i++){
        a=(byte)i;
     }
     byte b=1;
     byte c=0;
     c=b+a;
     System.out.println(b);

最佳答案

Java 中两个 shortsbytes 之间的加法操作发生在将两个操作数都转换为 int 后,并产生 int。因此,您需要将结果转换为 byte,因为这是有损转换。请参阅this

关于java - byte 加 byte ?所有操作数自动转换为 int ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48356452/

相关文章:

c++ - uintptr_t 数据类型是什么?

java - RecyclerView 与 GridLayoutManager 左对齐 View

java - Partitioned Job 完成后不能自己停止?春批

typescript - 如何从导出中获取类型?

c - 为什么这个程序输出 Yes,而它应该抛出错误或 NO

c# - .NET:在其静态方法中确定 “this” 类的类型

java - Windows 任务计划程序无法打开网络浏览器

java - Java 8 和 Java 11 之间的不同反序列化行为

java - 如何制作用于展开和折叠的递归 onClickListener?

c# - 在 C# 中使用类型对象作为泛型的类型参数