char是字符型,在Java中规定为2个字节。同样地,目前全球通用的字符集编码Unicode码,最常见的也是用2个字节表示字符。
其实,Java中可以通过字符型和整型的相互强制类型转换,实现由字符得出其Unicode码,也可由Unicode码得到对应的字符。
示例代码如下:
import java.util.Scanner;
public class Demo {
/**
* 输入字符串,得到每个字符的Unicode码
*/
public static void main(String[] args) {
system.out.println("请输入字符串:");
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
//字符串转换为字符串数组
char[] charArray = str.toCharArray();
for(char c : charArray) {
//字符强制类型转为int,再转为16进制,即为Unicode码
String s = Integer.toHexString((int)c);
System.out.println(" \" "+c+" \" "+"的Unicode码是:\\u"+s);
}
sc.close();
}
}
测试输入:Hello World!
请输入字符串:
Hello World!
" H " 的Unicode码是:\u48
" e " 的Unicode码是:\u65
" l " 的Unicode码是:\u6c
" l " 的Unicode码是:\u6c
" o " 的Unicode码是:\u6f
" " 的Unicode码是:\u20
" W " 的Unicode码是:\u57
" o " 的Unicode码是:\u6f
" r " 的Unicode码是:\u72
" l " 的Unicode码是:\u6c
" d " 的Unicode码是:\u64
" ! " 的Unicode码是:\u21
由此可见,Java中char是值类型,将字符显示转换为数值会得到字符的Unicode编码值。