参考的书:Java核心技术 卷I
书中的参考代码
运算符
级别:
&&的优先级比||的优先级高,如表达式 a && b || c 等价于 (a && b) || c
字符串
拼接:
- 正常的字符串拼接
String expletive = "Expletive"; String PC13 = "deleted"; String message = expletive + PC13;
- 如果需要把多个字符串放在一起,用一个定界符分隔,可以使用静态join方法
String all = String.join(" / ", "S", "M", "L", "XL"); //S / M / L / XL
检测字符串是否相等
s.equals(t)
-
结果:如果字符串s和字符串t相等,就返回true,不相等就返回false。
-
s和t可以是字符串变量,也可以是字符串字面量(理解为常量)
例如:"Hello".equals(greeting)
此表达式是合法的 -
检测字符串是否相等而且不区分大小写,使用 equalsIgnoreCase 方法
注意:
不要使用 == 来检测字符串是否相等,它只能判断字符串是否放置在同一个位置
空串与NUll串
空串 “” 是长度为 0 的字符串
判断方式:if (str.length() == 0)
或 if (str.equals(""))
检查一个字符串既不是 null 也不为空串
if (str != null && str.length() != 0)
码点与代码单元
String greeting = "Hello";
int n = greeting.length(); // is 5.
要想得到实际的长度,即码点数量,可以调用:
int cpCount = greeting.codePointCount(0, greeting.length());
调用s.charAt(n) 将返回位置 n 的代码单元,n 介于 0 ~ s.length()-1 之间。例如:
char first = greeting.charAt(0); // first is 'H'
char last = greeting.charAt(4); // last is 'o'
要想得到第 i 个码点(也就是字母对应的ASCII码值),应该使用下列语句
int index = greeting.offsetByCodePoints(0,i);
int cp = greeting.codePointAt(index);
构建字符串
使用 StringBuilder
① 首先,构建一个空的字符串构建器:
StringBuilder stringBuilder = new StringBuilder();
② 需要添加内容时,调用append()方法
stringBuilder.append(hello);
③ 构建字符串时凋用 toString 方法,可以得到一个 String 对象
String completedString = builder.toString();
输入输出
读取输入
使用Scanner对象,
Scanner sc = new Scanner(System.in);
使用nextLine方法将输入一行,例如
String name = sc.nextLine();
要想读取一个单词,以空白符作为分隔符,使用next方法
要想读取一个整数,使用nextInt方法
要想读取一个浮点数,使用nextDuble方法
语句 | 含义 |
---|---|
Scanner (InputStream in) | 用给定的输人流创建一个 Scanner 对象 |
String nextLine() | 读取输入的下一行内容 |
String next( ) | 读取输入的下一个单词(以空格作为分隔符) |
int nextlnt( ) | |
double nextDouble( ) | 读取并转换下一个表示整数或浮点数的字符序列 |
boolean hasNext( ) | 检测输人中是否还有其他单词 |
boolean hasNextInt( ) | |
boolean hasNextDouble( ) | 检测是否还有表示整数或浮点数的下一个字符序列 |
格式化输出
用于prinrf的转换符:
转换符 | 类 型 | 举 例 |
---|---|---|
d | 十进制整数 | 129 |
x | 十六进制整数 | 9f |
o | 八进制整数 | 237 |
f | 定点浮点数 | 15.9 |
e | 指数浮点数 | 1.59e+01 |
g | 通用浮点数 | 一 |
a | 十六进制浮点数 | 0xl.fccdp3 |
s | 字符串 | Hello |
c | 字符 | H |
b | 布尔 | True |
h | 散列码 | 42628b2 |
% | 百分号 | % |