1. 以下关于Java文件名的叙述,正确的有?(AB)
A.Java源文件的扩展名应为.javaB.Java源文件的文件名应与文件中的类名一致C. Java字节码文件的扩展名应为.javaD. 一个Java源文件中只能包含一个Java类2. JAVA面向对象的特征有?(ACD)
A. 封装;B. 类;C. 继承;D. 多态;3. 以下哪些包是Java标准库中常用的包?(ACD)
A.java.langB.javax.servlet .httpC.j ava. ioD.java.sql4. 以下是JAVA基本数据类型的是?(AC)
A.intB.StringC.doubleD.Boolean5. 下列关于表达式类型的说法中,正确的是?(ABD)
A.若a、b和c都是整型变量,则a+b-c是整型表达式B.若x和y都是布尔型变量,则x&&y是布尔型表达式C.若x和y都是整型变量,则x>1 &&y<1是整型表达式D.若a是布尔型变量,b和c都是整型变量,则a&&(b-c)>2是布尔型表达式6. public class test3 {
public static void main(String args[]) {
for(int i = 0; i < 3; i++) {
for(int j = 3; j >= 0; j--) {
if(i == j) continue;
System.out.println("i="+ i + " j="+j);
}
}
}
}
上面的Java代码编译运行后,下列选项中,(ADE)会出现在输出结果中。
A.i=0 j=3B.i=0 j=0C.i=2 j=2D.i=0 j=2E.i=1 j=27. 已知如下代码:
public class Test {
public static void main(String arg[]) {
int i = 5;
do {
System.out.println(i);
} while (--i>5) ;
System.out.println("finished");
}
}
执行后的输出是?(AD)
A. 5B. 4C. 6D. finishedE.无输出结果8. 下列哪些是方法public int add (int a)的重载方法?(ACD)
A. public int add (long a);B. public void add (int a);C. public void add (long a);D. public int add (float a);9. 现有:
public class Pet()
public class Cat extends Pet{}
执行代码
Cat c= new Cat();
Pet p= new Pet();
后下列哪项是正确的?(C)
A. Pet p=(Pet)c运行错误B. Pet p=(Pet)c编译错误C. Pet p= (Pet)c正常执行D.以上都不对10. 下列有关抽象方法叙述正确的是哪项?(BD)
A. 抽象方法和普通方法一样,只是前面多加一个修饰符abstractB.抽象方法没有方法体C.抽象方法可以包含存任何类中D.包含抽象方法的类的具体子类必须提供具体的覆盖方法11. 以下关于接口的说法中,正确的是?(AD)
A.接口中全部方法都是抽象方法,所有方法必须是public访问权限B.接口中属性都使用public static final修饰,没有显式赋值将使用默认值C.接口可以有构造方法//只能有抽象方法D.一个类只能有一个父类,但可以同时实现多个接口。12. 下列自有关多态的叙述正确的是哪项?(AC)
A.父类的引用指向子类的实例是一种多态B. 子类的引用指向子类的实例是一种多态C.接口的引用指向实现该接口类的实例是一种多态D.抽象类的引用指向抽象类的实例是一种多态13. 构成方法重载的要素不包括(AB)。
A.方法名与类名相同B.返回类型不同C.参数列表不同D.在同一个类中14. 涉及类MyClass的方法签名public void find(MyClass a),那么该方法可接收的实际参数的类型可以是哪些?(AB)
A. MyClass类的类型B. MyClass子类的类型C. Object类型D.所有接口15. 关于try...catch...finally结构,描述正确的是哪项? (AC)
A.可以有多个catchB.只能有一个catchC.可以没有catchD.finally必须有16. 现有:
1. class Calc {
2. public static void main(String [] args) {
3. try {
4. int x = Integer.parseInt ("42a") ;
5. //insert code here
6. System.out.print ("oops");
7. }
8. }
9. }
下面哪两行分别插入到第五行,会导致输 "oops" ? (AC)
A. } catch (IllegalArgumentException e) {B. } catch (IllegalStateException c) {C. } catch (NumbelFormatException n) {D. } catch (ClassCastException c) {17. 以下关于File类的叙述,哪两项正确?(AC)
A.File类位于java.io包中B.创建一个File类的实例将导致打开指定文件进行读写C.File实例不能用于封装目录D. File实例封装了指定文件的信息18. 现有:
-f是一个合法的java.io.File实例的引用
- fr是一个合法的java.io.FileReader实例的引用
- br 是一个合法的java.io.BufferedReader实例的引用
哪两个是合法的?(CF)[多选题]
A. File f2=new File (f);B. FileReader fr2=new FileReader (fr);C. FileReader fr2=new FileReader(f);D. FileReader fr2=new FileReader(br);E. BufferedReader br2 =new BufferedReader (f);F. BufferedReader br2=new BufferedReader (fr);19. 现有:
1. import java.util.*;
2.
3. Class FindStuff {
4. public static void main (String[]args) {
5, //insert code here
6. c.put ("X", 123);
7. }
8. }
分别插入到第5行,哪三行允许代码编译?(BDF)
A. Map c= new SortedMap();B. HashMap c= new HashMap();C. HashMap c= new Hashtalole();D. SortedMap c= new TreeMap();E. ArrayList c= new ArrayList();F. MaD c = new LinkedHashMap();20. 组件的setSize()方法签名正确的是哪项?(AC)
A. setSize(int width,int height)B. setSize(int x,int y,int width,int height)C. setSize(Dimension dim)D.以上皆不是21. import java.awt.*;
import java.applet.*;
public class ButtonDemo extends Applet{
public void init(){
Button pushBotton=new Button("ok");
Button downBotton=new Button("Yes");
add(pushBotton);
add(downBotton);
}
}
根据以上代码,下列解释正确的是?(BC)
A.该代码画了一个按钮B.Button("ok")创建一个有显示"ok"的按钮C.Button()是构造函数D.按钮属于容器22. 建立Socket类的客户端需要哪些步骤?(ACD)
A.如果连接成功,则可以通过此Socket对象进行通讯;B.如果连接成功,则重新创建一个Socket对象用于通讯;C.向指定的IP地址和端口号进行连接尝试;D.创建一个Socket对象;23. 问一个服务器进程执行以下代码:
ServerSocket serverSocket=new ServerSocket(80);
Socket socket=serverSocket.accept();
int port=socket.getPort();
以下哪些说法正确?(ACD)
A.服务器进程占用80端口。B.socket.getPort()方法返回服务器进程占用的本地端口,此处返回值是80。C.当serverSocket.accept()方法成功返回,就表明服务器进程接收到了一个客户连接请求。D.socket.getPort()方法返回客户端套节字占用的本地端口。24. Java源文件和编译后的文件扩展名分别为(B)。
A..class和 .javaB..java和 .classC..class和 .classD..java和 .java25. 一个可以独立运行的Java应用程序(D)。
A.可以有一个或多个main方法B.最多只能有两个main方法C.可以有一个或零个main方法D.只能有一个main方法26. 下列哪项不是有效的标识符?(B)
A.userNameB.2testC.$changeD._password27. 关于基本数据类型的说法不正确的是?(D)
A.boolean是Java特殊的内置值,或者为真或者为假B. float是带符号的32位浮点数C. double是带符号的64位浮点数D.char是8位Unicode字符28. 下列关于equals()方法和= =运算符的说法,说法错误的是?(A)
A. = =运算符和equals()方法的功能一样可以互换B.equals()方法可以用来比较复合数据类型的数值是否相等C.= =运算符可以用来不能比较简单数据类型的数据值是否相等D. = =算符和equals()方法的功能不完全一样,不可互换29. 执行下面程序:
public class Test{
public static void main(String[] args){
int a = 5;
double b = 8;
a = a++ + b;
System.out.println(a);
}
}
输出的结果是?(B)
A.第4行编译报错B.第5行编译报错C.编译成功,输出13D.编译成功,输出1430. 现有:
class Test2 {
public static void main (String[] args) {
short a,b,C;
a= l;
b=2;
C=a+b;
a+=2;
}
}
以上代码中,哪一句是错误的?(B)
A.a= l;B.C=a+b;C.a+=2;D. short a,b,C;31. 下面说法正确的是?(C)
A.程序执行到break语句时一定会结束所有循环B.程序执行到continue语句时会结束当前循环C.continue和break语句可以同时出现在同一个循环体中D.continue和break语句的作用相同32. 在下面的代码中,continue语句的作用是?(C)
for(int i=0;i
if(objArray[i]!=5)
continue;
objArray[i]=100;
}
A.跳过if程序块中congtinue下面的语句,执行if块外面的语句B.跳过整个函数中下面所有的语句,跳出整个函数C.跳过for循环中continue下面的语句,直接开始新的循环D.如果if程序块中有else块,则跳过else块,执行下面的语句33. 下面语句段的输出结果是什么? (B)
int i = 9;
switch (i) {
default:
System.out.println("default");
case 0:
System.out.println("zero");
break;
case 1:
System.out.println("one");
case 2:
System.out.println("two");
}
A. defaultB. default, zeroC.default语句定义错误D. 无输出显示34. 若想打印如下图案,下面代码划线处应依次填入(D)。
*
* *
* * *
* * * *
int j =0;
for(i= 1;i<= _;i++){
j = 1;
while(j<= _){
System.out.pritnln(“*”);
j++;
}
}
A.3 4B.3 iC.4 4D.4 i35. 下列有关类、对象和实例的叙述,正确的是哪一项?(D)
A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称36. 以下是JAVA中正确的入口方法是?(A)
A. public static void main(String[] args){}B. public static void main(String args){}C. public void main(String[] args){}D. public static int main(String[] args){}37. 对于构造函数,下列叙述不正确的是?(B)
A.构造函数是类的一种特殊函数,它的方法名必须与类名相同B.构造函数的返回类型只能是VOID型C.构造函数的主要作用是完成对类的对象的初始化工作D.一般在创建新对象时,系统会自动调用构造函数38. 现有:
1. class Banana2 {
2. static int x=2;
3. public static void main (String [] args) {
4. int x=2;
5. Banana2 b=new Banana2();
6. b.go(x);
7. }
8. static {x+=x; )
9. void go (int x) {
10. ++x;
11. System. out.println (x);
12. }
13. }
结果为?(C)
A.7B. 5C. 3D. 239. 执行以下代码,输出结果的结果是?(C)
public class Test{
public String[] ss = new String[5];
public static void main(String[] args){
System.out.println(ss[1]);
}
}
A. nullB. -1C. 编译时出错D. 运行时报错40. 如果想要一个类不能被任何类继承的话,需要使用哪个关键字来修饰该类?(D)
A. abstractB. newC. staticD. final41. 在Java语言中,类Worker是类Person的子类,Worker的构造方法中有一句" super() ",该语句(C)。
A.调用类Worker中定义的super()方法B.调用类Person中定义的super()方法C.调用类Person的构造函数D.语法错误42. 下列关于继承的说法哪个正确?(B).
A.子类只继承父类public 方法和属性:B.子类继承父类的非私有属性和方法:C.子类继承父类的方法,而不继承父类的属性:D.子类将继承的所有的属性和方法43. 给定一个Java程序Test.java的代码如下所示,编译时,会出现以下( A)情况。
class Parent {
public int count() { // 第1行
return 0;
}
}
public class Test extends Parent {
private int i;
public int count() { // 第2行
return i % 9; // 第3行
}
}
A.编译通过B.在第1行引发编译错误C.在第2行引发编译错误D.在第3行引发编译错误44. 现有:
1. class Top {
2. static int x=1;
3. public Top() { x*=3; }
4. }
5. class Middle extends Top {
6. public Middle() {x+=l; }
7. public static void main(String [] args) {
8. Middle m=new Middle();
9. System.out.println (x);
10. }
11. }
结果是什么?(C)
A. 2B. 3C. 4D.编译失败45. 在JAVA 中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写,应该使用(C)关键字来声明父类的这些方法。
A.finalB.staticC.abstractD.void46. 在JAVA 中,已定义两个接口B 和C,要定义一个实现这两个接口的类,以下语句正确的是?(C)
A.interface A extend B,CB.interface A implements B,CC.class A implements B,CD.class A implements B, implements C47. 在Java语言中,如果你有下面的类定义:
abstract class Shape {
abstract void draw();
}
Class Square extends Shape {}
如果你试图编译上面的代码会发生(B)。
A.一切成功编译B.Shape可以编译,Square不能编译C.Square可以编译,Shape不能编译D.Shape,Square都不能编译48. 下列程序中定义了一个Java接口,其中包含(C)处错误。[单选题]
1. public interface Utility {
2. private int MAX_SIZE = 20;
3. int MIN_SIZE = 10;
4. void use() {
5. System.out.println(“using it”);
6. }
7. private int getSize();
8. void setSize(int i);
9. }
A.1B.2C.3D.449. 表达式"hello" instance of String返回的值是哪项?(A)
A. trueB. falseC. 1D. 050. 现有:
class A {public String name="a"}
class B extends A {public String name="b"}
执行如下代码后的结果是哪项?(A)
A a=new B();
System.out.println(a.name);
A. aB. bC.编译失败D.运行时抛出异常51. 以下的程序的执行结果为?(C)
1.public class Demo{
2. public double getHeight(){
3. return 171.0;
4. }
5. public int getHeight (){
6. return 171;
7. }
8. public static void main(String[] args){
9. Demo demo = new Demo();
10. System.out.println(demo.getHeight());
11. }
12. }
A.输出171.0B. 输出171C. 第2行和第5行编译报错D. 第10行编译报错52. 假设有自定义异常类ServiceException,那么抛出该异常的语句正确的是哪项?(B)
A. raise ServiceExceptionB. throw new ServiceException()C. throw ServiceExceptionD. throws ServiceException53. 考虑下列Java代码:
class A {
public static void main(String[] args) {
try {
System.out.println("Hello, World!");
}
}
}
其中的错误是?(A)
A.没有catch或finally块B.没有抛出异常的代码不能出现在try代码块内C.如果没有catch块而使用try,main()会总是抛出异常.D.class A 没有throws IOException54. 现有:
1. class Birds {
2. public static void main (String [] args) {
3. try {
4. throw new Exception () ;
5. } catch (Exception e) {
6. try {
7. throw new Exception () ;
8. } catch (Exception e2) {
9. System.out.print ("inner");
10. }
11. System. out.print ( "middle" ) ;
12. }
13. System.out.print ("outer") ;
14. }
15. }
运行结果是?(C)
A. inner outerB. middle outerC. inner middle outerD .编译失败55. 下列的程序执行结果是?(A)
public class Test {
public static void main(String[] args) {
new Test().test();
}
public void test(){
try {
System.out.print("try");
} catch (ArrayIndexOutOfBoundsException e) {
System.out.print("catch1");
} catch (Exception e) {
System.out.print("catch2");
} finally {
System.out.println(" finally");
}
}
}
A.try finallyB.try catch1 finallyC.try catch2 finally56. 为了保证方法的线程安全,声明方法的时候必须用哪个修饰符?(D)
A.newB. transientC. voidD. synchronized57. 创建线程的时候必须实现哪项接口?(A)
A. RunnableB. ThreadC. RunD. Start58. 下列方法中可以用来创建一个新线程的是?(C)
A.实现Java.lang.Runnahle 接口并重写start()方法B.实现Java.lang.Runnable 接口并重写run()方法C.继承Java.lang.Thread 类并重写出run ()方法D.继承Java.lang.Thread 类并实现start()方法59. 在Java中,调用一个对象的wait()方法后(B)。
A.如果该对象的notify()方法已经被调用,则不会产生任何效果B.在另外一个对象调用它的notify()或 notifyAll()方法之前该对象一直被挂起C.将抛出一个异常D.该对象的wait()方法与其他对象自动同步60. 现有:
1. class Thread2 implements Runnable (
2. void run() {
3. System.out.print ("go¨);
4. }
5.
6. public static void main(String [] args) { .
7. Thread2 t2=new Thread2();
8. Thread t=new Thread(t2);
9. t.start();
10. }
11.}
结果为?(A)
A. goB.运行时异常被抛出C.代码运行,无输出结果D.编译失败61. 现有:t是一个合法的Thread对象的引用,并且t的合法run()方法如下:
9. public void run() {
10. System.out.print ("go");
11. }
及:
18. t.start();
19. t.start();
20. t.run();
哪一个是结果?(C)
A. go goB. go go goC. go之后跟着一个异常D.go go之后跟着一个异常62. 下列哪项是Java语言中所定义的字节流?(D)
A.OutputB.ReaderC.WriterD.InputStream63. 在J2EE中,要创建一个新目录,你可用如下(A)类的实例。
A.FileB.FileOutputStreamC.PrintWriterD.BufferedReader64. 为了从文本文件中逐行读取内容,应该使用哪个处理流对象?(A)
A. BufferedReaderB. BufferedWriterC. BufferedInputStreamD. BufferedOutputStream65. 现有:
1. import java.util.*;
2. class ScanStuff {
3. public static void main (String [] args) {
4. String s= "x,yy,123";
5. Scanner sc = new Scanner (s);
6. while (sc.hasNext())
7. System.out.print (sc.next() +" ");
8. }
9. }
结果是什么?(B)
A.x yyB. x,yy,123C. x yy 123D. x,yyE.编译失败F.运行的时候有异常抛出66. 创建一个只能存放String的泛型ArrayList的语句是哪项?(B)
A. ArrayList al=new ArrayList();B. ArrayList al = new ArrayList();C. ArrayList al=new ArrayList();D. ArrayList al =new List();67. 以下哪个不是Collection 的子接口?(C)
A.ListB.SetC.MapD.SortedSet68. 现有:
public class Demo{
public static void main (String[] args){
List al=new ArrayList();
a1.add("l");
a1.add("2");
a1.add("2");
a1.add("3");
System.out.println (al);
}
}
上述程序执行后的输出是哪项?(C)
A. [1,2,3]B. [1,2,3,3]C. [1,2,2,3]D. [2,1,3,2]69. 现有:
1. import java.util.*;
2. class AddStuff2 {
3. public static void main(String [] args) {
4. TreeSett=new TreeSet();
5. if (t.add("one"))
6. if (t.add("two"))
7. if (t.add ("three"))
8. t.add("four");
9. for (String s : t)
10. System.out.print (s);
11. }
12. }
结果为?(E)
A. oneB. one three twoC. one two threeD. one two fourE. four one three twoF.编译失败70. 现有:
1. import java.util.*;
2. class ForInTest {
3. static List list - new ArrayList():
4.
5. static List getList() { return list; }
6.
7. public static void main (Strincj[] args) {
8. list.add("a");
9. list.add("b");
10. list.add("c");
11. //insert code here
12. System.out.print (o);
13. }
14. }
第11行插入哪一项将输出abc?(D)
A. for(char o: list)B. for (Object o: o.getList())C. for(Object o: getList();)D. for(Object o: getList())E. for(Object o: o.getList();)71. 以下关于Swing容器叙述,哪项错误?(D)
A.容器是一种特殊的组件,它可用来放置其它组件B.容器是组成GUI所必需的元素C.容器是一种特殊的组件,它可被放置在其它容器中D.容器是一种特殊的组件,它可被放置在任何组件中72. 界面设计中我们希望实现一个对话框,该对话框上有5个垂直方向排列的大小一致的按钮,这些按钮要充满对话框的空余空间,并且当对话框改变大小的时候按钮也要跟着改变大小,同时保证大小一致。那么对话框应该选择哪种布局方式?(C)
A.FlowLayoutB. BorderLayoutC.GridLayoutD. null (no LayoutManager)73. Applet的布局设置默认是FlowLayout,下列哪项代码可以改变Applet的布局方式?(B)
A. setLayoutManager(new GridLayout());B. setLayout (new GridLayout(2,2));C. setGridLayout (2,2);D. setBorderLayout();74. 现有:
public class Butt extends JFrame {
public static v.id main(string[] args) {
// TODO Auto-generated method stub
Butt butt=new Butt();
}
Butt(){
JButton jbl=new JButton("Hello");
JButton jb2=new JButton("World");
add(jbl);
add(jb2);
setSize(300,300);
setVisible(true);
}
}
下列关于代码运行效果的叙述正确的是哪项?(C)
A.2个按钮紧靠着排列,Hello在World的左侧B. Hello占据Frame的整个区域C. World占据Frame的整个区域D.2个按钮都在Frame的顶部75. 线程生命周期中正确的状态是?(C)
A.新建状态、运行状态和终止状态B.新建状态、运行状态、阻塞状态和终止状态C.新建状态、可运行状态、运行状态、阻塞状态和终止状态D.新建状态、可运行状态、运行状态、恢复状态和终止状态76. 下面正确的创建Socket 的语句是?(B)
A.Socket a = new Soeket(80);B.Socket b = new Socket("130. 3. 4. 5", 80);C.ServerSocket c = new Socket(80);D.ServerSocket d = new Socket ("130. 3. 4, 5", 80);77. 在J2EE中,套接字包括(C)。
A.仅端口号B.仅IP地址C.端口号和IP地址D.都不是78. 运行下列程序,会产生什么结果?(D)
public class X extends Thread implements Runable{
public void run(){
System.out.println(“this is run()”);
}
public static void main(String args[]){
Thread t = new Thread(new X());
t.start();
}
}
A.第一行会产生编译错误B.第六行会产生编译错误C.第六行会产生运行错误D.程序会运行和启动79. 随机生成0到1000的整数,把能被3整除的数存储起来,直到第十个数产生为止,最后将这10个数按照逆序打印出来。
80. 定义一个包括10个元素一维整型数组,通过从键盘输入的10个整数对数组进行初始化,将数组中的元素按小到大排序后在屏幕上显示,求出该数组中元素的最小值、最大值以及平均值并在屏幕上显示输出。
【程序题1】随机生成0到1000的整数,把能被3整除的数存储起来,直到第十个数产生为止,最后将这10个数按照逆序打印出来。
public class Test4 {
static int num;
public static void main(String[] args) {
int[] numbers = new int[10];
for(int i = 0; i < numbers.length;i++){
//产生[min,max)之间的随机数规则Math.random()*(max-min)+min
num = (int) (Math.random()*1001);
if(num % 3 == 0){
numbers[i] = num;
}else{
i--;
}
}
Arrays.sort(numbers);
for(int i = numbers.length-1;i>=0;i--){
System.out.print(numbers[i]+" ");
}
}
}【程序题2】定义一个包括10个元素一维整型数组,通过从键盘输入的10个整数对数组进行初始化,将数组中的元素按小到大排序后在屏幕上显示,求出该数组中元素的最小值、最大值以及平均值并在屏幕上显示输出。
public class Test{
public static void main(String[] args) {
int[] x = new int[10];
double sum = 0;
Scanner sc = new Scanner(System.in);
for(int i=0;i
x[i] = sc.nextInt();
}
Arrays.sort(x);
for(int i=0;i
sum += x[i];
}
System.out.println(“最大值”+x[x.length-1]);
System.out.println(“最小值”+x[0]);
System.out.println(“平均值”+sum/x.length);
}
}