Sun Java程序员面试题解析

需积分: 10 1 下载量 76 浏览量 更新于2024-07-30 收藏 342KB PDF 举报
"SUN的JAVA面试题,涵盖了Sun Certified Programmer for Java 2 Platform 1.4的相关知识,适合计算机、通信、软件毕业生准备面试。" 这部分内容是针对SUN公司的Java程序员认证考试(310-035)的模拟试题,主要测试应聘者对Java语言的理解和应用能力。下面将详细解释题目中涉及的知识点: **QUESTION 1** 此题考察的是类型转换。代码中的`Object o = (Object) new Foo();`创建了一个`Foo`类型的对象并将其赋值给`Object`类型的引用`o`,这是允许的,因为所有类都继承自`Object`。然后在`Foo foo = (Foo) o;`这一步,尝试将`Object`类型强制转换为`Foo`类型,这是安全的,因为`o`实际上引用的是一个`Foo`实例。因此,`System.out.println("i=" + foo.i);`会打印出`i=3`,选项A正确。 **QUESTION 2** 这道题目考察了数组的初始化。选项A是错误的,因为它缺少了方括号,正确的形式应该是`float[] f1 = new float[3];`。选项B也是错误的,因为它没有指定数组元素的数量。选项C、D和E是正确的数组声明和初始化方式。选项F是错误的,因为在初始化列表中,逗号之间不应该有空格,正确的写法应为`float f4[] = new float[]{1.0f, 2.0f, 3.0f};`。所以答案是A和B。 **QUESTION 3** 这是一个关于do-while循环的题目。在循环中,如果`i++/--j`的条件满足,`continue`语句会使当前迭代结束并直接进入下一次循环。当`i`增加到6时,`i++/--j`不再满足条件,因此`i`的最终值是6,而`j`的值在最后一次循环中不会递减,保持为5。所以,最后的输出是`i=6 and j=5`,选项D正确。 这些题目涵盖了Java语言的基础语法,包括类型转换、数组初始化以及控制流语句(如do-while循环和continue语句)。它们可以帮助求职者检查和巩固自己的Java编程基础,同时为SUN的Java认证考试做好准备。准备面试的过程中,理解并能灵活运用这些知识点至关重要。