我们现阶段的主要目标是scjp。刚听到这个词时,觉得很陌生,而经过了这几天的接触,也渐渐有了一个大概的理解。今天逛论坛时,发现了scjp的考试大纲(附件),觉得还比较具体,也找到了些关于java编程思想的有关资料(附件)。
考试大纲上,第二部分就是关于控制结构。控制结构的类型也有很多种,但是我们最熟悉的就是循环结构。循环也有可计数循环,无限循环,嵌套循环,条件循环等种类。对于提前就知道迭代次数的循环,即可计数循环,可以用我们最常见的for(初始表达式;循环入口条件;更新表达式)循环;而无限循环,我们既可以用for循环,也可以用while或do-while循环,do-while与while的区别是两者都不知道迭代次数,但是前者的循环至少执行一次。选择结构也是控制结构的一种,最常见的就是if-else的选择结构,但是switch-break也提供了另一种多路选择结构。
控制结构中,也存在着很多易犯的错误:最重要的是要搞清循环的范围,而在选择结构中,要小心程序的短路,比如有一判断语句:if(test1(0) && test2(2) && test3(2))
若第一个表达式结果为true,则还会执行第二个表达式,如果第二个表达式的结果为false,则程序将不会执行第三个表达式。
考试大纲上,第二部分就是关于控制结构。控制结构的类型也有很多种,但是我们最熟悉的就是循环结构。循环也有可计数循环,无限循环,嵌套循环,条件循环等种类。对于提前就知道迭代次数的循环,即可计数循环,可以用我们最常见的for(初始表达式;循环入口条件;更新表达式)循环;而无限循环,我们既可以用for循环,也可以用while或do-while循环,do-while与while的区别是两者都不知道迭代次数,但是前者的循环至少执行一次。选择结构也是控制结构的一种,最常见的就是if-else的选择结构,但是switch-break也提供了另一种多路选择结构。
控制结构中,也存在着很多易犯的错误:最重要的是要搞清循环的范围,而在选择结构中,要小心程序的短路,比如有一判断语句:if(test1(0) && test2(2) && test3(2))
若第一个表达式结果为true,则还会执行第二个表达式,如果第二个表达式的结果为false,则程序将不会执行第三个表达式。