杂项
1.类型
int 4
short 2
long 8
byte 1
float 4
double 8
char 2
boolean 1
特殊的转义序列
b u0008
t
n
r
"
'
\
- 解决java中16位字符无法存储所有unicode字符
码点:一个编码表中的某个字符对应的代码值 U+xxxx
unicode的码点可分为17个代码平面,
首个从U+0000到U+FFFF,其余16个从U+10000到10FFFF。
UTF-16下,
首个平面,每个字符用16位表示。
对U+10000到U+10FFFF,32位表示。
U+D800~U+DBFF U+DC00~U+DFFF。
java中char描述了UTF-16编码中的一个代码但愿。
2.变量修饰
- final表示变量赋初始值后不可再修改
3.右移
>> 高位补符号位
>>> 高位补0
3.String代表一个字符串,String不提供修改字符串中字符方法。
4.码点与代码单元
char数据类型是一个采用UTF-16编码表示Unicode码点的代码单元。
常用的Unicode字符使用一个代码单元即可表示。
辅助字符需一对代码单元表示。
码点数量,一个码点可能用一个代码单元表示,也可用两个代码单元表示。
对字符串得到码点数量:
greeting.codePointCount(0, greeting.length());
要得到第i个码点:
int index = greeting.offsetByCodePoints(0, i);
// index是一代码单元为前进单位的索引
int cp = greeting.codePointAt(index);
// 2字节字符串表示转换为4字节字符串表示,多占据一些空间,但每个元素可唯一表示一个Unicode字符。
int[] codePoints = str.codePoints().toArray();
// 反向转换
String str = new String(codePoints, 0, codePoints.length);
5.构建字符串
StringBuilder提供方法以修改字符串内容。
6.IO
- 终端IO
- 文件IO