4.1 语句
布尔条件 a==b
if-else、while、for,注意do while 的格式
do{
}while(条件);
C语言类的过程语言,要求变量在一个块的开头定义,以便编译时创建,为其分配空间,java中不需要这样做。
4.3逗号操作符
java中唯一用到逗号操作符的地方,for(int i=0,j=i+10;i<10;j++,i--)语句顺序执行
将int型打印成二进制方法
[1] Integer.toBinaryString()
[2] Integer.numberOfLeadingZeros(int a);返回整数a左侧开始0的个数。因为int是32位的,高位不够的用0补齐。如33 0000000…000000(共26个0)100001,返回26。将a左移26位,再根据numberOfLeadingZeros()判断左侧是0还是1,依次打印结果。
4.4 Foreach语句
for(float x :f){ //等价于float x;将float[] f数组中的每个值赋值给x,直到数组最后一个值。
print(x);
}
要求f 必须是数组。“abc”.toCharArray(),转换成数组,依次遍历。
4.7 goto
break continue,可以调到指定的标签位置。容易让程序的结构变得复杂。
outer:
for(){
if() break outer;
}
4.8 switch
switch(integral-selector){
// 这里的条件只能是 char或int等整数型数值,SE7中有扩展到String。
case:value: statement;break;
….
default:statement;
}
4.9 吸血鬼数和fibonacci
int fib(intn) {
if(n < 2) return 1;
return (fib(n - 2) + fib(n -1));
}
吸血鬼数有两种思路,一个是双层循环遍历所有10-99之间的组合,范围在1001-9999的输出。另一种是遍历1001-9999,分解各个位数上的值,组合看是否满足条件。(没有编写比较通用算法)