Java 运算符是否返回 int 类型?
short a = 1;
short b = 2;
short c = a&b;
short d = a+b;
long e = a&b;
Run Code Online (Sandbox Code Playgroud)
如果是 'c', 'd' 他们有类型不匹配错误。为什么?和 'e' 没有错误的情况。为什么??
小智 6
两个小于 int 的整数类型变量之间的任何运算都会产生一个 int。所以:
short + short -> int
short + byte -> int
Run Code Online (Sandbox Code Playgroud)
等等。它在Java Language Specification 中提到。
因此,您必须将 a + b 的结果转换为 short 以便将其分配回一个类型为 short 的变量。请注意,如果这样做,您可能会丢失数据。
不过long比 大int。分配有效。
| 归档时间: |
|
| 查看次数: |
292 次 |
| 最近记录: |