为什么在java中输出显示3而不是字符
我会理解为什么输出是3而不是字符('5'unicode字符) 你能解释一下ASCII码和unicode码的区别吗为什么在java中输出显示3而不是字符,java,unicode,char,ascii,arithmetic-expressions,Java,Unicode,Char,Ascii,Arithmetic Expressions,我会理解为什么输出是3而不是字符('5'unicode字符) 你能解释一下ASCII码和unicode码的区别吗 提前感谢:)输出的是字符'3',而不是数字3 当您从字符'5'中减去2并将结果转换为char时,您将得到字符'3' char类型是一种数值基元类型。每个字符都有一个介于0和2^16-1之间的对应整数值。字符“3”的整数值比字符“5”的值小2。输出的是字符'3',而不是数字3 当您从字符'5'中减去2并将结果转换为char时,您将得到字符'3' char类型是一种数值基元类型。每个字符
提前感谢:)输出的是
字符'3'
,而不是数字3
当您从字符'5'
中减去2
并将结果转换为char
时,您将得到字符'3'
char
类型是一种数值基元类型。每个字符都有一个介于0和2^16-1之间的对应整数值。字符“3”的整数值比字符“5”的值小2。输出的是字符'3'
,而不是数字3
当您从字符'5'
中减去2
并将结果转换为char
时,您将得到字符'3'
char
类型是一种数值基元类型。每个字符都有一个介于0和2^16-1之间的对应整数值。字符“3”的整数值比字符“5”的值小2。它是一个字符。它是一个代表数字3的字符,就像“3”是键盘上的字符一样
当你从一个字符中减去一个字符时,你得到的字符就在那之前。例如,'B'-1=A
从字符“5”开始,减去2,得到字符“3”。如果你减去6,你不会得到-1,你会得到一个随机字符(“/”)
基本上,这种减法是有效的,因为字符0-9是连续存储的。它是一个字符。它是一个代表数字3的字符,就像“3”是键盘上的字符一样
当你从一个字符中减去一个字符时,你得到的字符就在那之前。例如,'B'-1=A
从字符“5”开始,减去2,得到字符“3”。如果你减去6,你不会得到-1,你会得到一个随机字符(“/”)
基本上,这种减法是有效的,因为字符0-9是连续存储的。减法的可能重复将字符'5'
转换为字符'3'
。请参阅,例如,了解原因。你说的“不是字符”是什么意思?这是字符'3'
——不清楚你在问什么。一个关键的概念区别是ASCII有一种编码,而Unicode有几种。既然您知道了这一点,就可以忘记ASCII了。您现在不是,也可能永远不会编写使用ASCII的代码。XML、HTML等使用Unicode。Java、.NET、JavaScript、SQL(NCHAR、NVARCHAR)使用Unicode的UTF-16编码char
是一个UTF-16代码单元。减法的可能重复将字符'5'
转换为字符'3'
。请参阅,例如,了解原因。你说的“不是字符”是什么意思?这是字符'3'
——不清楚你在问什么。一个关键的概念区别是ASCII有一种编码,而Unicode有几种。既然您知道了这一点,就可以忘记ASCII了。您现在不是,也可能永远不会编写使用ASCII的代码。XML、HTML等使用Unicode。Java、.NET、JavaScript、SQL(NCHAR、NVARCHAR)使用Unicode的UTF-16编码char
是一个UTF-16代码单元。
char c='5';
c = (char) (c - 2);
System.out.println(c);