相关疑难解决方法(0)

Java - char,int转换

在Java中,允许以下内容:

char c = 'A' + 1;
Run Code Online (Sandbox Code Playgroud)

这里,c将保持值'B'.在上面,首先评估表达式.所以'A'被转换为65,整个表达式的计算结果为66,然后66被转换为'B',因为我们将值存储在char中.

但是,以下内容会产生编译时错误:

char c = 'A';
c = c + 1;
Run Code Online (Sandbox Code Playgroud)

Java如何以不同方式查看表达式的解释是什么?顺便说一句,以下工作也很好:

char c = 'A';
c++;
Run Code Online (Sandbox Code Playgroud)

java int type-conversion char variable-assignment

39
推荐指数
1
解决办法
2万
查看次数

为什么Java中短整数除法的结果类型不是一个短整数?

考虑以下代码:

public class ShortDivision {
    public static void main(String[] args) {
        short i = 2;
        short j = 1;
        short k = i/j;
    }
}
Run Code Online (Sandbox Code Playgroud)

编译它会产生错误

ShortDivision.java:5: possible loss of precision
found   : int
required: short
        short k = i/j;
Run Code Online (Sandbox Code Playgroud)

因为表达式i/j的类型显然是int,因此必须强制转换为short.

为什么类型i/j不短?

java syntax

12
推荐指数
1
解决办法
7521
查看次数

为什么字节总和是整数?

我有tyo字节变量

byte a = 3;
byte b = 4;
Run Code Online (Sandbox Code Playgroud)

如果我求和它们,sum的值是整数.

byte z = a+b  //error, left side is byte, right side is integer
Run Code Online (Sandbox Code Playgroud)

为什么a + b是int?

java byte integer type-conversion type-mismatch

5
推荐指数
1
解决办法
7408
查看次数