java - 为什么打印时我的 charAt 给了我一个数字而不是一个字母
问题描述
使用下面的代码时,我是一个初学者,正在测试 String 方法的作用。但是,每当使用 hello 并使用 char i 表示 0 时,为什么它不打印出 h 而是 104。如果有原因打印 104,为什么?
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
String hello = "hello";
char i = hello.charAt(0);
System.out.println(+i);
}
}
解决方案
'+' 把你弄乱了。删除那个字符,你会得到你想要的结果:
class Solution {
public static void main(String[] args) {
// TODO Auto-generated method stub
String hello = "hello";
char i = hello.charAt(0);
System.out.println(i);
}
}
结果:
h
104 是代表'h'
字符的 ASCII 值。我不可能提前告诉你这个,但是显然在字符值前面加上一个'+'会导致它被转换为一个整数,即它的 ASCII 值。
推荐阅读
- asp.net - 当 ASP.Net Core 返回 413(请求正文太大)时,如何阻止 IIS 返回 502.3 - Bad Gateway?
- python - python:对非零填充的对象使用 strptime()
- android - 无法在 Android Studio 中使用包创建
- javascript - 角度 4 嵌套的 formArray / formGroup 将值从 DB 查询返回到表单中
- python - 是否有一种更简洁的 Pythonic 方式来忽略对未初始化属性的调用?
- java - Java - 星号,这是什么意思
- php - MS Access 多个内连接
- c# - Unity / C# - 是否可以返回 InputManager 的前进、后退、左、右按钮?
- python-3.x - 在执行 alien_invasion 时收到此错误。如何摆脱这个?
- d3.js - 如何使用交叉过滤器过滤图形数据并在力有向图上可视化它们?