我对 Java 中的 byte 和 char 感到困惑。我有以下程序段:
byte b = 65;
char c = 65;
short s = 65;
System.out.println("b:"+b+" c:"+c+ " s:"+s); // outputs b:65 c:A s:65
b、c 和 s 的位表示相同,它们都是 :: 00000000 01000001 。我的问题是,如果这些位相同,那么它们的行为方式有何不同 - b 作为字节,c 作为 char 和 s 作为短?另一个问题是:char c = 65;
为什么这是一个正确的说法?尽管我将 int 值分配给 char,但它不会给出错误。
谢谢。