当前位置: 首页 > 知识库问答 >
问题:

在Java中,字符有内在的int值吗?

单凯捷
2023-03-14

为什么这个代码打印97?我以前没有在代码中的任何地方将97指定为“a”。

public static void permutations(int n) {
    System.out.print('a' + 0);
}

共有3个答案

段曦
2023-03-14
System.out.println('a' + 0); // prints out '97'

'a'隐式转换为其Unicode值(即97),0是整数

System.out.println('a' + "0"); // prints out 'a0'

所以:字符字符串--

魏君博
2023-03-14

char(s)在Java中具有内在的int值。JLS-4.2.1。积分类型和值表示(部分),

整数类型的值是以下范围内的整数:

...

对于char,从'\u0000''\uffff'包括在内,即从065535

当然,当你执行整数运算('a'0)时,结果是一个int

整数运算部分表示,

数值运算符,它产生类型为intlong的值:

...

加法运算符和-(§15.18)

通啸
2023-03-14

a的类型为char,字符可以隐式地转换为inta由97表示,因为这是小的拉丁字母a的代码点。

System.out.println('a'); // this will print out "a"

// If we cast it explicitly:
System.out.println((int)'a'); // this will print out "97"

// Here the cast is implicit:
System.out.println('a' + 0); // this will print out "97"

第一个调用调用println(char),其他调用是调用println(int)

相关:Java字符存储在什么编码中?

 类似资料:
  • 我是java编程新手。我的问题是,我有一个字符串数组,但当我想在计算中使用内容时,我不断得到错误: 我的代码是:

  • 问题内容: 如何替换字符串中不符合条件的所有字符。我在使用NOT运算符时遇到了麻烦。 具体来说,我正在尝试删除所有非数字字符,到目前为止,我已经尝试过: 问题答案: 解释一下:字符类开头的^将使该类取反,但必须在类内部才能起作用。字符类外部的相同字符是字符串/行开头的锚点。 您可以尝试以下方法:

  • 我正在制作一个minecraft插件,当服务器启动时,只要字符串能力等于“是”,它每5秒做一个动作,当你键入 /nameme-enable时,它将其设置为是, /nameme-disable将其设置为否。然而,我似乎无法更改字符串值,我看到另一个人7年前问了另一个问题,但它返回为他的,字符串并添加另一个值,而他的是在一个方法中,这是命令的代码...

  • 问题内容: 4年前关闭。 我有个问题。我找到了向下箭头(↓)的HTML代码 凉。现在,我需要像这样在CSS中使用它: 这显然是行不通的,因为它是HTML符号。有关在CSS中使用的这些“转义的unicode”符号的信息似乎较少。我发现了其他类似的符号,但没有箭头。箭头代码是什么? 问题答案: 为什么不只是将CSS文件保存/保存为UTF-8? 如果这还不够好,并且您想保留全部ASCII格式: 一个字符

  • 问题内容: 什么是C#的Java等价物: 问题答案: 如果需要属性,则需要这样定义: 您可以这样使用它: 要意识到的是,这只是创建类的捷径,因此您可以向该类添加所需的任何属性和方法。 如果您不想在自己的方法上定义任何方法,则可以更改成员变量的范围并进行设置,但这不是它们在Sun网站上的示例中所做的。

  • 问题内容: s是“ E”,但我想要的是“ 123” 请告诉我如何获得“ 123”。 在Java中,我可以这样进行: 如何在Go中输入两个字符串? 问题答案: 使用包的功能。 例如: 您可以简单地通过添加字符串或使用包的功能来连接字符串。