这周比较懒,只看了两章书,还是记下一些自己容易忽略的点
第三章 选择
1. 简化代码
建议使用
boolean flag = booleanFlag
来代替
if (booleanFlag) flag = true;
else flag = false;
2. 一个布尔型值不能转换成其他类型的值,其他类型的值也不能转换成布尔型值
3. !(a && b) 等价于 !a || !b ;!(a || b) 等价于 !a && !b
4. a && b以及a||b,如果a能确定整个表达式的结果,则不再需要计算b
5. switch表达式必须能计算出一个char、byte、short、int类型的值,case后面跟的值必须是常量表达式
6. 格式化控制台输出
System.out.printf(format, item1, item2, item3,……);
format表示由子串和格式标识符构成的字符串
%b |
布尔型值 |
%c |
字符 |
%d |
十进制正数 |
%f |
浮点数 |
%e |
标准科学计算法形式的数 |
%s |
字符串 |
在标识符中指定精度和宽度
%5c |
输出字符,并在字符前用空格补全到5位 |
%6b |
输出布尔型值,并在布尔型值前用空格补全到6位 |
%5d |
输出整型值,并在整型值前用空格补全到5位,超过5位的数,则自动增加宽度 |
%10.2f |
输出浮点数,小数点后保留2位,整个浮点数宽度为10位,不足10位则在前面用空格补全,超过10位则自动增加宽度 |
%10.2e |
输出科学计算法形式的数,补全规则同上 |
%12s |
输出字符串,在字符串前前用空格补全到12位,超过5位的字符串,则自动增加宽度 |
第四章 循环
- 在循环控制中,不要使用浮点值来比较值是否相等,因为浮点值都是某些值的近似值,使用它们可能会导致不精确的循环次数和不准确的结果
- 输入输出重定向
- java className < input.txt > output.txt
- 使用这个命令会读入input.txt的内容作为输入,把结果写入output.txt
-
for循环的循环控制结构体内,循环条件为空时默认为true;初始动作以及每次迭代后动作可以有多个,用逗号隔开:
-
for (int i=0, j=0; i<n&&j<m;i++,j++) {……}
-
- do-while需要用分号来结束循环,即
- do {……} while(…);
-
在while和do-while中,continue语句之后会直接计算循环条件;在for中,continue语句之后会先执行迭代后语句再计算循环条件。所以在while和do-while中,如果每次迭代中修改循环条件的语句在continue之后,可能会死循环