这周比较懒,只看了两章书,还是记下一些自己容易忽略的点

第三章 选择

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位的字符串,则自动增加宽度

 

 

 

第四章   循环

  1. 在循环控制中,不要使用浮点值来比较值是否相等,因为浮点值都是某些值的近似值,使用它们可能会导致不精确的循环次数和不准确的结果
  2. 输入输出重定向
    1. java className < input.txt > output.txt
    2. 使用这个命令会读入input.txt的内容作为输入,把结果写入output.txt
  3. for循环的循环控制结构体内,循环条件为空时默认为true;初始动作以及每次迭代后动作可以有多个,用逗号隔开:

    1. for (int i=0, j=0; i<n&&j<m;i++,j++) {……}

  4. do-while需要用分号来结束循环,即
    1. do {……} while(…);
  5. 在while和do-while中,continue语句之后会直接计算循环条件;在for中,continue语句之后会先执行迭代后语句再计算循环条件。所以在while和do-while中,如果每次迭代中修改循环条件的语句在continue之后,可能会死循环