Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 字符中的数字_Java_Types - Fatal编程技术网

Java 字符中的数字

Java 字符中的数字,java,types,Java,Types,这个问题很简单,但它困扰了我很长时间 如果我想将一个数字作为字符存储在字符变量中,我可以只使用数字0到9,因为它们是在ASCII表中指定的。 但是如果我想存储大于9的数字,我不能直接这样做。 例如 这给了我一个错误,在第一行 有没有其他方法可以将大于9的数字存储到char变量中 先谢谢你 “19”不是字符。字符是单个字符 char ch=19; 可以将0到2^16-1之间的任何数字存储在char变量中。该值将表示某个单个字符 char ch=19; 请注意,数值为19的字符与“1”或“9”字

这个问题很简单,但它困扰了我很长时间

如果我想将一个数字作为字符存储在字符变量中,我可以只使用数字0到9,因为它们是在ASCII表中指定的。 但是如果我想存储大于9的数字,我不能直接这样做。 例如

这给了我一个错误,在第一行

有没有其他方法可以将大于9的数字存储到char变量中


先谢谢你

“19”不是字符。字符是单个字符

char ch=19;
可以将0到2^16-1之间的任何数字存储在char变量中。该值将表示某个单个字符

char ch=19;

请注意,数值为19的字符与“1”或“9”字符都没有关系。

字符有一个等效的整数,即其字符代码。在一个字符中最多可以存储2^16-1的值,但需要删除引号。只需将整数值赋给字符。

在字符中存储用于计算的数字几乎总是一个坏主意。考虑这一点:

 char a = 100;
 char b = 52;                    // Output
 System.out.println( b );        // 4
 System.out.println( a - b );    // 48
 char c = (char)(a - b);
 System.out.println( c );        // 0
 System.out.println( b - a );    // -48
 char d = (char)(b - a);
 System.out.println( d );        // ￐
人们不会将数字存储在字符中:这是由于历史上或最近计划的发展,更好地称之为字符枚举:罗马字母、数字、特殊字符、希腊字母、西里尔字母、CJK符号等等,还有数学符号、变音符号、丁巴,。。。使用序数是因为计算机存储二进制数

char dig0 = '0';   // This stores the *character* we use as "zero". It has the ordinal 48.
char letA = 65;    // The character in let is what we call "capital A".

用序号48到57存储数字“0”到“9”不是很好的计算基础。

19是两个字符。请阅读关于数据类型的基本教程…“19”由两个字符“1”和“9”组成。不能在char变量中同时存储这两个变量。出于您的目的,最好使用int。为什么要使用char?char ch='19';甚至不应该编译。请阅读任何关于Java数据类型的基本教程或指南…但最好使用字节、短字符或int。使用字符会使人困惑。@laune根据使用情况,字符在这里是合适的。@这取决于您要存储的数字的大小。字符实际上是整数类型。它存储所讨论字符的16位Unicode整数值。除非您执行类似于ch-“0”的操作,否则涉及字符的计算并不是很好的编码方式。有int、short、long……错误。这是Java,不是一种原生的C语言。如果一个字符中最多存储127个值是错误的@1110101001@Qix哦,你指的是那个部分。那样的话,对不起,你是对的。java中的字符是2个字节。@1110101001真的!有点。。。它们也不是ASCII码;他们是UTF-16 IIRC。@Qix我同意这一点。然而,没有进一步澄清的评论是错误的,信息量不大。我已经编辑了我的答案。