Java字符串到Char数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java字符串到Char数组相关的知识,希望对你有一定的参考价值。

String c="12345";
for(char k:c.toCharArray())
System.out.print(k+4);

该计划输出:5354555657

我真的不明白为什么这就是这些数字。我看到的唯一模式是它打印一个“5”然后从字符串中取“1”并加2来制作“3”。然后打印一个“5”然后从字符串中取“2”并加2以使“4”然后打印“5”,依此类推。

答案

数组中的字符,当被提升为int以添加4时,会采用其基础Unicode值,其中ASCII values是子集。数字0-9分别由代码48-57表示。通过'1'的人物'5'是49-53,然后你加4并获得53-57。

添加之后,将总和投回到char,以便print可以将其解释为char

System.out.print( (char) (k+4));

输出:

56789
另一答案

这是因为你要为一个字符添加一个int(它将你的字符转换为int,然后将它添加到4,然后将其打印出来)。

你需要这样做:

System.out.println(Character.getNumericValue(k) + 4);

以上是关于Java字符串到Char数组的主要内容,如果未能解决你的问题,请参考以下文章

我在java中遇到char数组问题

怎么将字符串转换为char数组 java

java中把json怎么转换成数组

java中把json怎么转换成数组?

字符编码Java编码格式探秘

JAVA byte到char的转换