《Java编程思想》第四版读书笔记 第四章

4.3

逗号操作费仅用于for循环控制表达式的初始化部分和步进控制部分。初始化部分用于定义任意多个具有相同类型的变量:

for(int i =1, j = i + 10; i <5; i++, j = i* 2)


for循环控制表达式可以使用对象而不仅仅是基本类型和它们的封装器。


4.4

String类的toCharArray()方法返回char类型的数组。


4.6

无限循环的两种方式while(true)和for(;;)完全等价,编译器将它们看作是一回事。


4.7

关于标签以前在写代码的过程中一次都没有用到过,所以完全忘记了还有此功能。

标签用在迭代语句之前,在它和迭代语句之间不能有其他代码。

标签和continue、break配合使用。带标签的continue会到达标签的位置,并重新进入紧接在标签后面的循环;带标签的break会中断并跳出标签所指的循环。


4.8

int c = rand.nextInt(26) + 'a';

这条语句产生随机的小写字母,用法挺巧妙,值得记忆一下。

练习10关于吸血鬼数字,我的方法太笨,再想想有没有什么好方法。

刚才看了《Thinking in Java》的习题解答,里面使用了一个定理:如果一个数字x*y是吸血鬼数字则它必须满足:

x*y = x+y(mod 9)

首先进入循环

for(int num1 = 10; num1 <= 99; num1 ++){
    for(int num2 = num1; num2 <= 99; num2 ++)

判断是否满足这个定理,如果不满足continue。如果满足算出乘积的四个数和两个数字的四个数,比较是否都相等,如果相等则是吸血鬼数(判断时应注意去掉重复相等的情况)。

你可能感兴趣的:(《Java编程思想》第四版读书笔记 第四章)