QUESTION 61
GIVEN THE EXHIBIT:
Which statement is true?
A. All of the assert statements are used appropriately.
B. Only the assert statement on line 31 is used appropriately
C. The assert statements on lines 29 and 31 are used appropriately
D. The assert statements on lines 26 and 29 are used appropriately
E. The assert statements on lines 29 and 33 are used appropriately
F. The assert statements on lines 29 ,31and 33 are used appropriately
G. The assert statements on lines 26,29 and 31 are used appropriately
Answer: ( C )
26行不合适:不要对public方法的参数断言
29合适:程序员在程序中最不大可能到达的地方断言
31合适:断言private方法的参数
33行不合适:启用和不启用断言会产生不同的程序执行序
断言应该用在“你认为”你的程序不可能产生错误的地方,而且有没有启用断言,都不会影响程序的正常运行。
断言使用限制:
1. 不要在public方法中,用断言来检查参数的正确性;
2. 不要让断言语句去处理一些程序必须的流程。
原因:1.public方法会被别人调用,你不能保证他一定启用断言;如果没有启用,那么用断言来做参数的检查也就没有意义了。所以不要用断言来检查参数,公共方法的参数一定要用代码执行检查; 2.如果用断言来控制程序执行流程,如果没有启用断言, 那么程序就不能正确执行下去。另外,断言语句不可以有任何边界效应,不要使用断言语句去修改变量和改变方法的返回值 ,如果这样当启动断言和不启动断言执行的结果会截然不同。
断言的使用时机:
1. 检查流程的不变性:在if-else switch-case 的预期结果之外可以加上断言做额外的检查。
2. 内部执行的不变性:if(true){return ;} assert false;
3. 检查 私有方法的参数,结果等
4. 程序运行中的一致性
断言语句不是永远会执行,可以屏蔽也可以启用
javac –source 1.4 *.java
需要java –ea 启用assert; 当判断条件为FALSE时就抛出错误。
参考大纲:异常处理 — 断言和AssertionError
QUESTION 62
GIVEN THE EXHIBIT:
What is the result?
A. null
B. zero
C. some
D. Compilation fails
E. An exception is thrown at runtime
Answer: ( D )
13行会报错,应在15行使用else if
参考大纲:流程控制
QUESTION 63
Given the exhibit:
What is the result?
A. test
B. Exception
C. Compilation fails
D. NullPointerException
Answer: ( C )
18行出错,应该先catch子异常,再catch 父异常,否则会发生编译时错误。
对于此题,编译时会发生“Unreachable catch block for NullPointerException. It is already handled by the catch block for Exception”的错误。
13行把args赋null ,14行会报NullPointerException
如果没有第13行运行时14行会报ArrayIndexOutOfBoundsException异常。
参考大纲:异常处理
QUESTION 64
Given the exhibit:
What is the result?
A. Compilation fails
B. aAaA aAa AAaa AaA
C. AAaa AaA aAa aAaA
D. AaA AAaa aAaA aAa
E. aAa AaA aAaA AAaa
F. An exception is thrown at runtime
Answer: ( C )
第10行将对strings这个集合做自然排序(ASCII小到大,一个一个比较)
Collections.sort(List list) 对list进行排序,对set不能排序!
List里可以放对象,所以当list里面存放的是对象的时候就不能用Collections.sort(List list)去排序了。因为JVM不知道用什么规则去排序!!只有把对象类实现Comparable接口,然后改写compareTo()
参考大纲:集合、字符串的自然排序算法
QUESTION 65
Given the exhibit:
What is the result?
A. 0
B. 1
C. 2
D. 3
E. 4
F. Compilation fails.
G. An exception is thrown at runtime
Answer: ( D )
Set接口中存放的元素是无序不重复的。如果你想Set里Add一个元素,首先他会去调用equals方法,判断set中是否有该元素,如果有则不更改set的值并返回false,如果没有,则把元素添加进去,并返回true。
对于HashSet来说,会先判断元素的hashcode值,不同的情况下则放入HashSet;hashcode相同的情况下则接下来判断元素的equal()方法的返回值,返回false则放入,返回true则视为重复元素而不会放入。
Ws1 ws2是自定义的类,ws1 和 ws2 equals不相等;String的equals方法已经改写,s1和s2相等;
比较两个对象是否相同,先比较hashcode, 如果相同,在用equals方法比较.如果都相同则两个对象就认为是相同的.
Hashcode是把对象的内存地址经过运算得来的.
基本数据类型和基本数据类型的包装类还有String类都已经覆盖了hashcode(), equals(),所以这些对象的值只要一样就认为对象一样.
参考大纲:集合
分享到:
相关推荐
标题所指的“scjp题库(中文版)”是一本针对Java程序员职业认证——SCJP(Sun Certified Java Programmer)考试的中文版题库。SCJP是Oracle公司早期提供的Java认证考试,后由于Oracle收购了Sun公司,该认证也随之...
本题库包含了最新的SCJP认证考试的超过200道真题,覆盖了广泛的Java知识领域,包括但不限于: 1. **Java基础**:这是SCJP考试的核心部分,涉及Java语言的基本语法,如数据类型、变量、运算符、流程控制语句(如if-...
SCJP(Sun Certified Programmer for the Java 2 Platform)是由Sun Microsystems(现在被Oracle收购)推出的一项Java编程语言的认证考试,旨在验证考生对Java SE平台的基础知识和编程能力。这个认证对于想要提升...
在准备SCJP考试时,除了做题库中的题目,还建议考生阅读官方文档,参与实际项目开发,以理论结合实践,更深入地理解和运用Java编程技术。同时,持续关注Java的新特性和更新,以便适应不断发展的技术和市场需求。
这个"SCJP考试模拟机题库"是备考SCJP时的重要参考资料,通常包含了大量的练习题和模拟测试,帮助考生熟悉考试格式和内容。 一、Java基础 SCJP考试中的一个重要部分是Java语言的基础知识,包括但不限于: 1. 数据...
标题中的“SCJP题库”意味着这是一个包含大量练习题的资源,用于帮助考生准备SCJP认证考试。描述中提到的"certkiller"和"testkiller"通常是指提供模拟试题的网站或软件,它们的题目可能基于过去的真实考试题目,或者...
这个题库是为准备SCJP 5.0考试的考生提供的资源,包含了大量实战题目,旨在帮助考生熟悉考试格式、加深对Java语言的理解和应用能力。 SCJP 5.0考试主要涵盖以下几个关键知识点: 1. **Java语言基础**:包括基本...
在循环内部,如果`i++ > --j`为真,则跳过当前循环的剩余部分。在每次循环迭代时,`i`增加1,`j`减少1,直到`i >= 5`时,`while (i )`不再满足条件,退出内层循环。因此,当退出do-while循环时,`i`的值将是6,`j`的...
这个名为“SUN公司SCJP国际认证最新题库”的资源,显然包含了大量用于准备SCJP考试的练习题目。这些题目涵盖了考试的主要内容,包括但不限于以下几个关键知识点: 1. **Java语法**:这是基础中的基础,包括变量声明...
标题中的"SCJP题库,有了它必过"暗示了这份资料可能包含了大量的SCJP考试练习题和模拟测试,是备考者的重要参考资料。题库通常包含了历年的真题以及模拟题,可以帮助考生熟悉考试的题型、难度和考点,提高备考效率。...
通过SCJP的捷径~我考了70分!想要考或者准备考SCJP的朋友来看看吧!有答案!
这个压缩包文件包含了“java题库”和“scjp模拟题”,是为准备SCJP考试的学习者提供的宝贵资源。 Java题库通常包含了大量的编程题目,涵盖Java语法、面向对象编程、异常处理、多线程、集合框架、输入输出流、网络...
2013年的SCJP题库为准备认证考试的考生提供了宝贵的资源。通过系统学习和大量练习,考生可以提高自己在Java编程方面的技能,最终成功通过SCJP认证,证明自己的专业水平。需要注意的是,随着时间的推移,Java语言也在...
从题库中提供的题目,考生可以熟悉SCJP6.0考试的题型,包括单选题和多选题,以及理解题目的解答方式。这有助于考生掌握解题技巧,并在实际考试中提高答题的准确率。 9. 模拟测试的重要性: 题库的存在强调了模拟...
以上提供的四个问题均来自于Oracle的Java SE 6 Programmer Certified Professional Exam(OJCP,原SCJP)的实践测试题库,通过这些问题的讨论,我们可以看出实际的考试内容强调对Java语言的深入理解,以及对Java集合...
最新SCJP考试题库是准备这个认证考试的重要参考资料,包含了一系列的练习题目和答案,旨在帮助考生熟悉考试格式,掌握考试所需的Java基础知识。 SCJP认证考试主要涵盖以下几个关键知识点: 1. **Java语言基础**:...
《2010年SCJP标准题库-jdk1.5》主要涵盖Java语言的基础到高级特性,包括Java语言基础、流程控制、面向对象、异常处理、多线程、垃圾回收机制、I/O操作、集合与泛型以及Java SE实用API等多个方面。以下是这些知识点的...
#### SCJP轻松过 - 学习指南与题库分析 ### 代码示例解析 #### 示例1: 类继承与方法重写 ```java class Super { public float getNum() { return 3.0f; } } public class Sub extends Super { // Which ...
310-065是SCJP考试的一个版本,可能针对的是Java SE 6或更新的版本。 SCJP考试涵盖了多个关键知识点,包括但不限于: 1. **Java语法基础**:这包括基本的数据类型(如整型、浮点型、字符型和布尔型)、变量声明与...