2019独角兽企业重金招聘Python工程师标准>>>
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。如果满足算出乘积的四个数和两个数字的四个数,比较是否都相等,如果相等则是吸血鬼数(判断时应注意去掉重复相等的情况)。