Sun Java程序员模拟题
1.JDK由组成以下哪几部分组成?(选三项)
A. Java编程语言
B. 工具及工具的API
C. Java EE扩展API
D. Java平台虚拟机
答案:A B D
2.以下哪些包是Java标准库中常用的包?(选三项)
A. javax.servlet.http
B. https://www.docsj.com/doc/4a7762509.html,ng
C. java.util
D. java.sql
答案:B C D
3.使用JDK工具生成的Java文档的文件格式是?
A. XML格式
B. HTML格式
C. 二进制格式
D. 自定义格式
答案:B
4.以下关于Applet的描述,哪项错误?
A. 一个Applet就是一段Java程序
B. Applet是一种特殊的Java程序,它需要运行在Web服务器上
C. Applet是一种特殊的Java程序,它需要运行在Web浏览器上
D. Applet是一种Java SE平台的应用程序
答案:B
5.下列有关类、对象和实例的叙述,正确的是哪一项?
A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别
B.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称
C.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称
D.类是对象的抽象,对象是类的具体化,实例是类的另一个名称
答案:B
6.下列有关main()方法的签名正确的是哪些?(选两项)
A. public static void main(String[] args){}
B. public static void main(){}
C. public static void main(String args[]){}
D. public void static main(String[] args){}
答案:A C
7.下列有关类声明的代码片段,哪一项是正确的?
A.import java.sql.*;
package school;
class Student{
}
B. package school;
import java.sql.*;
class Student{
}
C. package school;
class Student{
}
import java.sql.*;
D. package school;
import java.sql.*;
private String name;
class Student{
}
答案:B
8.现有:
1. class TestFoo {
2. int x;
3. String y;
4. int getX() { return x; }
5. String getY() { return y; }
6. void setX(int x) {
7. int z = 7;
8. this.x = x;
9. }
10. }
可以添加多少个修饰符来封装此类?
A. 2
B. 3
C. 4
D. 5
答案:A
9.有关new关键字的描述正确的是哪项?
A. new会调用类的构造器来创建对象
B. new所创建的对象不占用内存空间
C. 创建对象实例的时候可以不使用new关键字
D. new所创建的对象一定存在引用变量
答案:A
10.下述代码执行后,有几个引用变量和几个对象?
Student stu = new Student(“Mike”);
Student stua;
Stua = stu;
A. 2个引用变量,1个对象
B. 1个引用变量,1个对象
C. 2个引用变量,2个对象
D. 1个引用变量,2个对象
答案:A
11.下列关于Java对象清除的叙述正确的是哪项?
A. 对象被创建后,立刻变成垃圾对象
B. 任何不再被引用的对象都是垃圾收集的对象
C. 一旦对象失去引用,垃圾收集器立刻把它从内存中清除
D. Java对象的清除必须自己手动处理
答案:B
12.下列哪项不是int类型的字面量?
A. 20
B. 077
C. 0xABBC
D. \u03A6
答案:D
13.类Student代码如下:
class Student{
String name;
int age;
Student(String nm){
name = nm;
}
}
执行语句Student stu = new Student()后,字段age的值是哪项?
A. 0
B. null
C. false
D. 编译错误
答案:D
14.下列哪项不是Java语言中所规定的注释样式?
A. // 单行注释
B. -- 单行注释
C. /*
* 单行或多行注释
*/
D. /**
* 文档注释
*/
答案:B
15.下列哪项不是Java语言的关键字?
A. goto
B. instanceof
C. sizeof
D. volatile
答案:C
16.现有:
3. class Parser extends Utils {
4. public static void main(String [] args){
5. System.out.print(new Parser().getInt("42"));
6. }
7. int getInt(String arg){
8. return Integer.parseInt(arg);
9. }
10. }
11. class Utils {
12. int getInt(String arg) throws Exception { return 42;}
13. }
结果为:
A. 42
B.编译失败。
C.无输出结果。
D.运行时异常被抛出。
答案:A
17.现有:
1. interface Altitude {
2. //insert code here
3. }
和4个声明:
int HIGH = 7;
public int HIGH = 7;
abstract int HIGH = 7;
interface int HIGH = 7;
分别插入到第2行,有多少行可以编译?
B. 1
C. 2
D. 3
E. 4
答案:C
18.类Teacher:
class Teacher{
String name;
float salary;
Teacher(String name){
https://www.docsj.com/doc/4a7762509.html, = name;
}
Teacher(String name,float salary){
https://www.docsj.com/doc/4a7762509.html, = name;
this.salary = salary;
}
}
执行语句Teacher t = new Teacher(“Tom”,2000.0f);后,字段salary的值是哪一项?
A. 2000.0f
B. 0.0f
C. null;
D. 2000
答案:A
19.Java语言中表达式10/3的结果是哪项?
A. 3.3
B. 3.33
C. 3
D. 3.0
20.Java语言中表达式-12>>3的结果是哪项?
A. -4
B. -9
C. -1
D. -2
答案:D
21.下列赋值语句正确的是哪一项?
A. long val=6;
B. int age = 23L;
C. short x=1,y=2,z
z=x+y;
D. int a= ‘A’;
答案:D
22.假设有2个整数x和y,表达式x>=y ? x : y的含义是哪项?
A. 求2个数的较大数
B. 求2个数的较小数
C. 把y的值赋给x
D. 把x的值赋给y
答案:A
23.程序:
class TestApp{
public static void main(String[] args){
for(int i=0;i<5;i++)
System.out.print(i+1);
System.out.println(i);
}
}
上述程序运行后的结果是哪项?
A. 123456
B. 123455
C. 123450
D. 编译错误
答案:D
24.程序:
class TestApp{
public static void main(String[] args){ for(int i=0;i<10;i++){
if(i==3)
break;
System.out.print(i);
}
}
}
程序运行后的输出是哪项?
A. 0123
B. 012
C. 0123456789
D. 012456789
答案:B
25.程序:
class TestApp{
public static void main(String[] args){
System.out.println(multiply(2,3,4,5));
}
public int multiply(int[] nums){
int result = 1;
for(int x :nums)
result *= x;
return result;
}
}
程序运行后的输出是哪项?
A. 14
B. 编译错误
C. 120
D. 24
答案:C
26.程序:
class TestReference{
public static void main(String[] args){ int x=2;
TestReference tr = new TestReference(); System.out.print(x);
tr.change(x);
System.out.print(x);
}
public void change(int num){
num = num + 1;
}
}
程序运行后的输出是哪项?
A. 23
B. 21
C. 22
D. 编译错误
答案:C
●27.运行时,数组以哪种方式存在?
●对象
●基本类型变量
●引用类型变量
●视具体情况而定
●答案:A
28.现有:
public interface A {}
以下哪项声明是合法的?
A. A a = new A();
B. A[] a = new A[];
C. A[] a = new A[10];
D. 以上皆错
答案:C
29.已知数组array,其最后一个元素的下标是?
A. array.size
B. array.length
C. array.size-1
D. array.length-1
答案:D
30.为将数组myArray的长度由6改为10,现采取以下编码:
int[] myArray = new int[6];
myArray = new int[10];
代码执行后,以下叙述哪项是正确的?
A. 数组myArray的长度已由6改为10,其中前6个元素的值不变,后四个元素的值为空。
B. 数组myArray的长度已由6改为10,其中前6个元素的值不变,后四个元素需再经过初始化后才能使用。
C. 数组myArray的长度已由6改为10,原来6个元素的值全部丢失。
D. 数组myArray的长度没有变化。
答案:C
31.下列关于继承优点的叙述正确的是哪几项?(选三项)
A.可以创建更为特殊的类型
B.消除重复代码
C.便于维护
D.执行效率高
答案:A B C
32.下列有关父类属性和方法继承规则的描述错误的是哪项?
A. 父类中private修饰的属性和方法在子类中不被继承
B. 父类中public修饰的属性和方法在子类中被继承且可访问
C. 父类中protected修饰的属性和方法在子类中被继承且可访问
D. 父类中default修饰的属性和方法在子类中被继承,若父类和子类在同一个包中,则也可访问
答案:A
33.public class Parent{
public void change(int x){}
}
public class Child extends Parent{
//覆盖父类change方法
}
下列哪个声明是正确的覆盖了父类的change方法?
A. protected void change(int x){}
B. public void change(int x, int y){}
C. public void change(String s){}
D. public void change(int x){}
答案:D
34.public class Employee{
private String name;
public Employee(String name){
https://www.docsj.com/doc/4a7762509.html, = name;
}
public String getName(){
return name;
}
}
public class Manager extends Employee{
public Manager(String name){
System.out.println(getName());
}
}
执行语句new Manager(“smith”)后程序的输出是哪项?
A. smith
B. null
C. 编译错误
D. name
答案:C
35.public class Employee{
private String name;
public Employee(String name){
https://www.docsj.com/doc/4a7762509.html, = name;
}
public String getName(){
return name;
}
}
public class Manager extends Employee{
private String department;
public Manager(String name,String department){ this.department = department;
super(name);
System.out.println(getName());
}
}
执行语句new Manager(“smith”,”SALES”)后程序的输出是哪项?
A. smith
B. null
C. SALES
D. 编译错误
答案:D
36.public class Pet{
private String name;
public Pet(){
System.out.print(1);
}
public Pet(String name){
System.out.print(2);
}
}
public class Dog extends Pet{
public Dog(String name){
System.out.print(3);
}
}
执行new Dog(“棕熊”);后程序输出是哪项?
A. 23
B. 13
C. 123
D. 321
答案:B
37.public class Pet{
private String name;
public Pet(){
System.out.print(1);
}
public Pet(String name){
System.out.print(2);
}
}
public class Dog extends Pet{
public Dog(){
System.out.print(4);
}
public Dog(String name){
this();
System.out.print(3);
}
}
执行new Dog(“棕熊”);后程序输出是哪项?
A. 143
B. 423
C. 243
D. 1134
答案:A
38.public class Pet{
private String name;
public Pet(){
System.out.print(1);
}
public Pet(String name){
System.out.print(2);
}
}
public class Dog extends Pet{
public Dog(){
System.out.print(4);
}
public Dog(String name){
super(name);
System.out.print(3);
}
}
执行new Dog(“棕熊”);后程序输出是哪项?
A. 33
B. 13
C. 23
D. 123
答案:C
39.public class Employee{
private String name;
public Employee(String name){
https://www.docsj.com/doc/4a7762509.html, = name;
}
public void display(){
System.out.print(name);
}
}
public class Manager extends Employee{
private String department;
public Manager(String name,String department){
super(name);
this.department = department;
}
public void display(){
System.out.println(super.display()+”,”+department); }
}
执行语句new Manager(“smith”,”SALES”)后程序的输出是哪项?
A. smith,SALES
B. null,SALES
C. smith,null
D. null,null
E. 编译错误
答案:e
40.如果想要一个类不能被任何类继承的话,需要使用哪个关键字来修饰该类?
A. abstract
B. final
C. static
D. new
答案:B
41.Java语言中常量的定义是哪项?
A. public static
B. public static final
C. final
D. public static abstract
答案:B
42.为了使得System.out.println()输出对象引用的时候得到有意义的信息,我们应该覆盖Object中的哪个方法?
A. equals
B. hashCode
C. toString
D. notify
答案:C
43.表达式”hello” instanceof String返回的值是哪项?
A. true
B. false
C. 1
D. 0
E. hello
答案:A
44.程序:
class MyDate{
private int year;
private int month;
private int day;
public MyDate(int year,int month,int day){
this.year=year;
this.month=month;
this.day=day;
}
//Override Method
}
为了让new MyDate(1980,11,9)==new MyDate(1980,11,9) 返回true,必须在Override Method处覆盖哪个方法?
A. hashCode
B. equals
C. toString
D. notify
答案:B
45.public class Pet{
private String name;
public Pet(String name){
https://www.docsj.com/doc/4a7762509.html, = name;
}
public void speak(){
System.out.print(name);
}
}
public class Dog extends Pet{
public Dog(String name){
super(name);
}
public void speak(){
super.speak();
System.out.print(“ Dog ”);
}
}
执行代码
Pet pet = new Dog(“京巴”);
pet.speak();
后输出的内容是哪项?
A. 京巴
B. 京巴Dog
C. null
D. Dog京巴
答案:B
46.public class Pet{
private static String name; public Pet(String name){
https://www.docsj.com/doc/4a7762509.html, = name;
}
public void speak(){
System.out.print(name);
}
}
public class Dog extends Pet{ public Dog(String name){
super(name);
}
public void speak(){
super.speak();
System.out.print(“ Dog ”); }
}
执行代码
Pet pet = new Dog(“京巴”);
pet.speak();
后输出的内容是哪项?
A. 京巴
B. 京巴Dog