【问题标题】:Why cant print 2 char with sysem.out.print command [duplicate]为什么不能使用 system.out.println 命令打印 2 个字符 [重复]
【发布时间】:2019-07-27 04:15:35
【问题描述】:

我无法在一个 system.out.print 代码中打印两个字符,如下所示。我想知道 java 在这种情况下是如何工作的,因为它总结了这些字符的 ASCII 转换。

System.out.println('a'+'b');

【问题讨论】:

  • 供参考:JLS Table 2.11.1-B 显示了 java 原语的实际运行时类型。由于chars 是ints(在运行时),因此添加会添加 ASCII(或者更准确地说,是 Unicode 值)。
  • 试试System.out.println(""+'a'+'b');
  • 或者只是System.out.println("ab"); ??! [:-)

标签: java


【解决方案1】:

这是Java, 不是 JavaScript。

在 Java 中, 单引号保留用于 char 数据。 字符串值必须使用双引号。

正如@Sean Bright 评论中所述, char + char 是数学,而不是字符串连接。

有很多方法可以输出两个 char 值。 以下是其中一种方式的示例:

final String output;

output = String.format("%c %c\n", 'a', 'b');

System.out.println(output);

【讨论】:

  • %cs 之间可能没有空格;并且没有\n,因为已经使用println,更好的是,直接使用printf(使用\n%n
【解决方案2】:

最后一个的输出是 195,因为你在 ASCII 表 (97+98) 中添加 char 值 . 您首先将所有值相加,如前所述,然后将其转换为字符串,将“”添加到字符的 ASCII 值的总和中。但是, println 方法需要一个 Strin 是的

【讨论】:

  • Java(以及 VB4/5/6/A/Script、JavaScript、.NET 等)的 char 和 string 数据类型使用 Unicode 字符集的 UTF-16 字符编码;不是 ASCII。
猜你喜欢
  • 1970-01-01
  • 2019-08-20
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-28
相关资源
最近更新 更多