我有一个非常基本的问题。int a = 'a'
如何可能在输出中给出97
。
以下是我的代码:
class myClass {
int last = 'a' ;
myClass () {
System.out.println(last );
}
}
您可以看看:为什么我们允许在java中为int赋值char?
基本上,您将一个char
分配给您的int。从技术上讲,char
是一个无符号的16位字符。这就是为什么你可以把它分配给一个内部
希望这能有所帮助。
您基本上可以将char
强制转换为int
并将其存储为int
:
int a = (int)'a';
System.out.println(a); //prints 97
由于Java可以根据您的类型规范进行基本的转换,因此您甚至不需要显式地编写转换。
int a = 'a';
System.out.println(a); // prints 97
输出是存储在last中的字符的ASCII值。字符"a"的ASCII值为97,因此控制台上的输出为97。
您必须将"a"作为字符char char1 = 'a';
然后将其强制转换为intint num = (int) char1 ;