Java面向对象程序设计复习题附答案

Java面向对象程序设计复习题附答案
Java面向对象程序设计复习题附答案

Java面向对象程序设计复习题

一、选择题

1、下列哪个是Java中的关键字(C )。

A、run

B、Integer

C、default

D、implement

2、下面关于Java.applet.Applet和其祖先类的描述语句哪个不对(B )。

A、Applet是Container的一种

B、Applet是Window的一种

C、Applet是Component的一种

D、Applet是Panel的一种

3、下列类DataOutputStream的构造方法正确的是(A )。

A、new dataOutputStream(new FileOutputStream(“out.txt”));

B、new dataOutputStream(“out.txt”);

C、new dataOutputStream(new writer(“out.txt”));

D、new dataOutputStream(new FileWriter(“out.txt”));

4、在switch(表达式)语句中,表达式的类型不能为(C )。

A、byte

B、char

C、long

D、int

5、在接口MouseMotionListener中方法正确的是(A )。

A、Public void mouseDragged(MouseEvent)

B、Public boolean mouseDragged(MouseEvent)

C、Public void mouseDragged(MouseMotionEvent)

D、Public boolean MouseDragged(MouseMotionEvent)

6、下面是一些异常类的层次关系

https://www.360docs.net/doc/2c1895118.html,ng.Exception

https://www.360docs.net/doc/2c1895118.html,ng.RuntimeException

https://www.360docs.net/doc/2c1895118.html,ng.IndexOutOfBoundsException

https://www.360docs.net/doc/2c1895118.html,ng.ArrayIndexOutOfBoundsException

https://www.360docs.net/doc/2c1895118.html,ng.StringIndexOutOfBoundsException

假设有一个方法X,能够抛出两个异常,Array Index和String Index异常,假定方法X中没有try-catch语句,下面哪个答案是正确的。(B )

A、方法X应该声明抛弃ArrayIndexOutOfBoundsException和StringIndexOutOfBounds

Exception。

B、如果调用X的方法捕获IndexOutOfBoundsException,则ArrayIndexOutOfBounds

Exception和StringIndexOutOfBoundsException都可以被捕获。

C、如果方法X声明抛弃IndexOutOfBoundsException,则调用X的方法必须用Try-catch 语句

捕获。

D、方法X不能声明抛弃异常。

7、现有一变量声明为boolean aa;下面赋值语句中正确的是( D )。

A、aa=0

B、aa=True

C、aa="true"

D、aa=false

8、某类Example的main()方法参数为args,当输入数据Java Example cat时,args[0]的值为(A )。

A、cat

B、Java

C、example

D、null

9、String s1=new String(“Java”);String s2=new String(s1)则下列哪个说法是正确的(C )。

A、表达式s1==s2为真

B、s1和s2是同一个对象

C、表达式s1.equals(s2)为真

D、以上均不对

10、类定义如下

class Foo{

public static void main(String args[]){

String s;

System.out.println("s="+s);

}

}

则下列结论正确的是(C )。

A、有输出结果,且为空

B、没有输出结果

C、编译错误

D、有输出结果,且不为空

11、下列哪个不是Java的保留字(D )。

A、float

B、class

C、extends

D、virtual

12、下列符号中不能作为Java标识符的是( D )。

A、abc

B、$str1

C、_pore

D、45six

13、方法methodA定义如下:

returnType methodA(byte x,double y){

return (short)x/y*2;

}

则返回值returnType为(C )。

A、byte

B、double

C、short

D、int

14、如果float f=4.2F;Float g=new Float(4.2F); Double d=new Double(4.2);则下列选项正确的是(B )。

A、f==g

B、f==g.floatValue()

C、d==f

D、d.equals(f)

15、下列二维数组定义中错误的是(A )。

A、int a[][]=new int[][];

B、int []a[]=new int[10][10];

C、int a[][]=new int[10][10];

D、int [][]a=new int[10][10];

16、关于下列语句哪个答案是正确的(D )。

System.out.println(4|7);

A、4

B、5

C、6

D、7

17、下面哪一个AWT组件可以有菜单栏MenuBar( A )。

A、Java.awt.Frame

B、Java.awt.Window

C、Java.awt.Applet

D、Java.awt.Panel

18、下列哪个方法用于创建并开始一个新的线程(B )。

A、run();

B、start();

C、execute();

D、run(Runnable r);

19、如果有Boolean a=new Boolean(“yes”),则a.booleanValue()值为(D )。

A、yes

B、“yes”

C、true

D、false

20、以下类DataOutputStream的构造方法正确的是(C )。

A、new dataInputStream(“in.txt”);

B、new dataInputStream(new file(“in.txt”));

C、new dataInputStream(new FileInputStream(“in.txt”));

D、new dataInputStream(new FileWriter(“in.txt”));

21、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。

A、.Java

B、.class

C、.html

D、.exe

22、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。

A、3

B、3.5

C、4

D、5

23、在Applet表面输出文字时,可以选择不同的颜色,但是忘记了设置颜色的方法,应该首先在哪个类里面寻找(D )。

A、Java .awt.Applet

B、Java.awt.Panel

C、Java.applet.Applet

D、https://www.360docs.net/doc/2c1895118.html,ponent

24、类Cycle的main()方法为:

public static void main(String args[]){

System.out.println(args[0]);

}

则运行时如果命令行语句为Java Cycle one two three,则输出结果为(B )。

A、Cycle

B、one

C、two

D、three

25、下面哪一个是Thread类中的静态方法( D )。

A、start()

B、stop()

C、run()

D、sleep(long m)

26、关于下列语句哪个答案是正确的(A )。

if(5&7&&5|2)System.out.println(“true”);

A、不能编译成功

B、可以编译成功,输出true

C、可以编译成功,但无输出

D、以上均不对

27、声明公用的abstract方法的正确格式是(C )。

A、public abstract void add() {}

B、public abstract add();

C、public abstract void add();

D、public virtual add();

28、下列程序结果正确的是(B )。

public class Test {

public static void main (String args []) {

Ad a1=new Ad();

System.out.println(a1.add(1));

Ad a2=new Ad();

System.out.println(a2.add(2));

}

}

class Ad{

static int total = 10;

public int add(int i){

total=total+i;

return total;

}

}

A、11,12

B、11,13

C、11,11

D、12,12

29、基于Java.awt.Frame的一个程序中包含一个Panel,Panel其中包含一个Label,在Frame 和Panel中分别有下面的一些语句,

//Frame里面的语句

setFont( new Font(" Serif", Font. ITALIC, 18 );

setBackground( Color. cyan );

//Panel中的语句

setBackground( Color. white );

setForeground( Color. magenta );

请问Label用什么颜色和字体显示(A )。

A、Background=white;foreground=magenta;font=Serif Italic style,18 point

B、Background=cyan;foreground=black;font=Serif Italic style,18 point

C、Background=cyan;foreground=black;font=system default style for labels

D、Background=white;foreground=magenta;font=system default style for labels

30、语句for(int x=0,y=0;(y!=0)&&(x<4);x++)的执行次数是(B )。

A、无限次

B、一次也不执行

C、执行4次

D、执行3次

二、判断题

1、abstract是抽象修饰符,可以用来修饰类及其属性和方法。(对)

2、Java支持多线程机制。(对)

3、一个Java源程序文件中允许有多个公共类。(错)

4、重载的方法可以通过它们的返回值类型的不同来区分。(错)

5、子类要调用父类的方法,必须使用super关键字。(错)

6、子类拥有的成员数目一定大于等于父类拥有的成员数目。(错)

7、一个catch块也可以区分处理多个不同类型的异常,只要它们是该catch语句块异常参数的子类或其本身。(对)

8、程序中一旦执行了catch语句块,则不会执行finally语句块。(错)

9、新建一个Frame对象,则其将立即显示在屏幕上。(错)

10、一个正在执行的线程使用yield()方法将处理器让给其它同优先级的其它线程。(对)

11、Java中的的字符使用的是16 位的Unicode 编码。(对)

12、for 语句中的循环体不能为空。(错)

13、Java 仅支持类间的单重继承。(对)

14.接口是由常量和抽象方法组成的特殊类。(对)

15、构造函数的方法名可由编程人员任意命名。(错)

16、使用静态属性必须以类名做前缀。(错)

17、类的私有属性和私有方法可以被其子类访问。(错)

18、使用了FlowLayout布局管理器,不能改变组件的高度。(对)

19、https://www.360docs.net/doc/2c1895118.html,ng.RuntimeException及其子类的异常可以不捕获。(对)

20、当用户在TextField中改变光标的位置时,会产生一个TextEvent事件。(错)

31、Java程序是由若干类定义组成的,类定义包括定义类头和定义类体。(对)

32、类Class1中的属性被private修饰符修饰为私有变量,所以方法不能访问它。(错)

34、引用一个类的属性或调用其方法,必须以这个类的对象为前缀。(错)

35、与未加访问控制符的缺省情况相比,public和protected修饰符扩大了类及其属性和方法的被访问范围,private修饰符则缩小了这种范围。(对)

36、子类要调用父类的方法,必须使用super关键字。(错)

37、因为Java不支持多重继承,所以定义类时implements关键字后面只能说明一个接口名。(错)

38、挂起、阻塞或等待的线程都能恢复执行,但停止的线程不能复生。(对)

39、如果一个方法在运行过程中产生异常,则方法会终止,但整个应用不一定终止。(对)

40、接口https://www.360docs.net/doc/2c1895118.html,ng.runnable中只有一个run()方法。(对)

三、程序阅读题

1.阅读下面的程序代码,并回答问题。

String s1 = new String("abcde");

String s2 = new String("abcde");

boolean b1= s1.equals(s2);

boolean b2 = s1 = = s2;

System.out.print(b1+" "+b2);

(1)程序段执行后,在命令行的输出结果如何?

(2)解释输出(1)的结果的原因?

(1) t rue false

(2)equals方法比较两个字符串的内容是否相等;运算符“==”判断两个对象是否指向同一个引用,即是否为同一个对象。

2.阅读下面的程序代码,并回答问题。

import java.io.*;

public class Test {

public static void main(String args[]) throws IOException {

BufferedReader buf=new BufferedReader(

new InputStreamReader(System.in));

while(true) {

String str = buf.readLine();

if(str.equals("quit"))

break;

int x=Integer.parseInt(str);

System.out.println(x*x);

}

}

}

编译运行上面的程序:

(1)从键盘输入10,回车后输出的结果如何?

(2)从键盘输入exit,回车后程序能正确执行吗?为什么?

(1)100

(2)不能;因为方法Integer.parseInt(str)不能将字符串“exit”转化为整数,抛出异常。

3. 阅读下面的程序代码

import java.io.* ;

public class Test{

public static void main(String args[ ]){

int i , s=0;

int a[ ]={ 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 ,90};

for( i=0 ; i

if ( a[i]%3==0 )

continue;

s+=a[i] ;

}

System.out.println("s="+s);

}

}

程序执行后,在命令行的输出结果是什么?

270

4. 阅读下面的程序代码

import java.util.*;

public class Example9_14 {

public static void main(String args[]) {

String s="市话费:28.89元,长途话费:128.87元,上网费:298元。";

String delim = "市话长途话上网费元:,。";

StringTokenizer fenxi=new StringTokenizer(s,delim);//用delim中的字符的任意组合作为分隔标记

double totalMoney=0;

while(fenxi.hasMoreTokens()) {

double money=Double.parseDouble(fenxi.nextToken());

System.out.println(money);

totalMoney += money;

}

System.out.println("总费用:"+totalMoney+"元");

}

}

程序执行后,在命令行的输出结果是什么?

市话费:28.89元

长途话费:128.87元,

上网费:298元。

总费用:455.76元

5. 阅读下面的程序代码

import java.util.*;

class Student implements Comparable {

int english=0;

String name;

Student(int english,String name) {

https://www.360docs.net/doc/2c1895118.html,=name;

this.english=english;

}

public int compareTo(Object b) {

Student st=(Student)b;

return (this.english - st.english);

}

}

public class Example13_8 {

public static void main(String args[]) {

TreeSet mytree=new TreeSet();

Student st1,st2,st3,st4;

st1=new Student(90,"赵一");

st2=new Student(66,"钱二");

st3=new Student(86,"孙三");

st4=new Student(76,"李四");

mytree.add(st1);

mytree.add(st2);

mytree.add(st3);

mytree.add(st4);

Iterator te=mytree.iterator();

while(te.hasNext()) {

Student stu=te.next();

System.out.println(""+https://www.360docs.net/doc/2c1895118.html,+" "+stu.english);

}

}

}

程序执行后,在命令行的输出结果是什么?

钱二66

李四76

孙三86

赵一90

6.写出下面的程序编译、运行后的结果。

public class Test{

public static void main(String args[]) {

new Student("Tom", 'm', 90, 88);

new Student("Jack", 'm', 66, 89);

new Student("Mary", 'f', 76, 86);

System.out.println("name\tsex\tchinese\tenglish");

Student.print();

}

}

class Student {

protected String name;

protected char sex;

protected int chinese;

protected int english;

protected Student next;

static Student list;

Student (String name, char sex, int chinese, int english) { https://www.360docs.net/doc/2c1895118.html,=name;

this.sex=sex;

this.chinese=chinese;

this.english=english;

this.next=list;

list=this;

}

static void print() {

Student friend=list;

if (friend==null)

System.out.println("The list is empty.");

else {

do{

System.out.println(friend.toString());

friend=friend.next;

}while(friend!=null);

}

}

public String toString() {

return new String(name+"\t"+sex+"\t"+chinese+"\t"+english);

}

}

7. 写出以下程序的功能。

import java.io.*;

public class TestFile

{

public static void main(String args[]) throws Exception

{

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

BufferedWriter bw = new BufferedWr iter(new FileWriter(“input.txt"));

String s;

while (true)

{

System.out.print("请输入一个字符串:");

System.out.flush();

s=br.readLine();

if (s.length()==0) break;

bw.write(s);

bw.newLine();

}

bw.close();

}

}

8. 阅读以下程序,写出输出结果。

class Animal {

Animal() {

System.out.print ("Animal "); }

}

public class Dog extends Animal {

Dog() {

System.out.print ("Dog "); }

public static void main(String[] args) {

Dog snoppy= new Dog(); }

}

四、程序填空题

1.以下程序是一个算术测试小软件,用来训练小学生的算术能力。程序有3个类组成,

其中Teacher对象充当监视器,负责给出算术题目,并判断回答者的答案是否正确。

ComputerFrame对象负责为算术题目提供视图,比如用户可以通过ComputerFrame对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MailClass是软件的主类。

程序运行效果如下图所示。

仔细阅读程序代码,请按模板要求,在【代码】处填写合适的Java程序代码。

MainClass.java

public class MainClass {

public static void main(String args[]) {

ComputerFrame frame;

frame=new ComputerFrame();

frame.setTitle("算术测试");

frame.setBounds(100,100,650,180);

}

}

ComputerFrame.java

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class ComputerFrame extends JFrame {

JMenuBar menubar;

JMenu choiceGrade; //选择级别的菜单

JMenuItem grade1,grade2;

JTextField textOne,textTwo,textResult;

JButton getProblem,giveAnwser;

JLabel operatorLabel,message;

Teacher teacherZhang;

ComputerFrame() {

teacherZhang=new Teacher();

teacherZhang.setMaxInteger(20);

setLayout(【代码1】_new FlowLayout()________________________________); //设置ComputerFrame的布局为FlowLayout布局

menubar = new JMenuBar();

choiceGrade = new JMenu("选择级别");

grade1 = new JMenuItem("幼儿级别");

grade2 = new JMenuItem("儿童级别");

grade1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

teacherZhang.setMaxInteger(10);

}

});

grade2.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

teacherZhang.setMaxInteger(50);

}

});

choiceGrade.add(grade1);

choiceGrade.add(grade2);

menubar.add(choiceGrade);

setJMenuBar(menubar);

【代码1】__ textOne=new JTextField(5);_________________________________ //创建textOne,其可见字符长是5

textTwo=new JTextField(5);

textResult=new JTextField(5);

operatorLabel=new JLabel("+");

operatorLabel.setFont(new Font("Arial",Font.BOLD,20));

message=new JLabel("你还没有回答呢");

getProblem=new JButton("获取题目");

giveAnwser=new JButton("确认答案");

add(getProblem);

add(textOne);

add(operatorLabel);

add(textTwo);

add(new JLabel("="));

add(textResult);

add(giveAnwser);

add(message);

textResult.requestFocus();

textOne.setEditable(false);

textTwo.setEditable(false);

getProblem.setActionCommand("getProblem");

textResult.setActionCommand("answer");

giveAnwser.setActionCommand("answer");

teacherZhang.setJTextField(textOne,textTwo,textResult);

teacherZhang.setJLabel(operatorLabel,message);

【代码2】_______ getProblem.addActionListener(teacherZhang); ____________ //将teacherZhang注册为getProblem的ActionEvent事件监视器

【代码3】_____giveAnwser.addActionListener(teacherZhang); ___//将teacherZhang注册为giveAnwser的ActionEvent事件监视器

【代码4】__________textResult.addActionListener(teacherZhang);__//将teacherZhang 注册为textResult的ActionEvent事件监视器

setVisible(true);

validate();

setDefaultCloseOperation(DISPOSE_ON_CLOSE);

}

}

Teacher.java

import java.util.Random;

import java.awt.event.*;

import javax.swing.*;

public class Teacher implements ActionListener {

int numberOne,numberTwo;

String operator="";

boolean isRight;

Random random; //用于给出随机数

int maxInteger; //题目中最大的整数

JTextField textOne,textTwo,textResult;

JLabel operatorLabel,message;

Teacher() {

random = new Random();

}

public void setMaxInteger(int n) {

maxInteger=n;

}

public void actionPerformed(ActionEvent e) {

String str = e.getActionCommand();

if(str.equals("getProblem")) {

numberOne = random.nextInt(maxInteger)+1;//1至maxInteger之间的随机数;

numberTwo=random.nextInt(maxInteger)+1;

double d=Math.random(); // 获取(0,1)之间的随机数

if(d>=0.5)

operator="+";

else

operator="-";

textOne.setText(""+numberOne);

textTwo.setText(""+numberTwo);

operatorLabel.setText(operator);

message.setText("请回答");

textResult.setText(null);

}

else if(str.equals("answer")) {

String answer=textResult.getText();

try{ int result=Integer.parseInt(answer);

if(operator.equals("+")){

if(result= =numberOne+numberTwo)

message.setText("你回答正确");

else

message.setText("你回答错误");

}

else if(operator.equals("-")){

if(result= =numberOne-numberTwo)

message.setText("你回答正确");

else

message.setText("你回答错误");

}

}

catch(NumberFormatException ex) {

message.setText("请输入数字字符");

}

}

}

public void setJTextField(JTextField ... t) {

textOne=t[0];

textTwo=t[1];

textResult=t[2];

}

public void setJLabel(JLabel https://www.360docs.net/doc/2c1895118.html,bel) {

operatorLabel=label[0];

message=label[1];

}

}

2. 有如下java源程序,程序的功能是在数组中查找键盘键入的整数。如果找到则输出该整数在数组中的序号,否则输出“not found”。例如,运行程序,输入99,程序输出:99在数组中的序号是5;输入59,程序输出:not found。

仔细阅读程序代码,请按模板要求,在【代码】处填写合适的Java程序代码。(注意:不改动程序的结构,不得增行或删行)。

import java.io.*;

import java.util.Scanner;

public class J_Test {

public static void main(String[] args) throws IOException {

int 【代码1】________a[]_____________ = {83,75,92,67,55,99,78,61};

Scanner in = new Scanner(【代码2】___System.in_________________);

int x = Integer.parseInt(【代码3】__________in.readLine()_________);

int index = -1;

for(int i = 0; 【代码4】___i<=a..Length_____________________; ++i) {

if(a[i] == x) {

index = i;

break;

}

}

if(【代码5】_____index==-1____________________________)

System.out.println("not found");

else

System.out.println(x + "在数组中的序号是" + index);

}

}

3. 下面程序的运行结果如下图。单击“Close”按钮关闭窗口。

请阅读程序,在(1)和(2)处补充相应的内容,使整个程序能够正常运行。import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class J_Test {

private JFrame f;

private JButton button1, button2, button3;

public void go() {

f = new JFrame("Test");

f.setLayout(new FlowLayout());

button1 = new JButton("Ok");

button2 = new JButton("Open");

button3 = new JButton("Close");

f.add(button1);

f.add(button2);

f.add(button3);

____ button3.addActionListener(new Monitor()); ________

f.setSize(160, 106);

f.setVisible(true);

}

public static void main(String[] args) {

J_Test t = new J_Test();

t.go();

}

}

class Monitor implements ActionListener {

________ public void actionPerformed(ActionEvent e)______ {

System.exit(0);

}

}

Answer:

(1)button3.addActionListener(new Monitor());

(2)public void actionPerformed(ActionEvent e)

五、编程题

1. 编写一个计算图形面积的程序,程序应当能够计算并输出矩形、圆的面积。考虑到程序的未来扩展,

设计一个图形抽象类:Shape,在此基础上派生出图形类Rectangle类和Circle类。(1)Rectangle类基本信息:宽度、高度。

(2)Cirlce类基本信息:圆心坐标、半径。

(3)每个图形类有多个构造方法:默认构造方法、带参数的构造方法;成员变量为private 属性,成员方法为public属性。

(4)每个图形类有计算图形面积getArea()方法,显示图形的基本信息toString()方法,以及访问方法set/get。

2. 编写一个Application,接受用户从键盘输入的10个整数,并输出这10个整数的最大值和最小值。

mport java.io.* ;

public class abc

{

public static void main(String args[ ])

{ int i , n = 10 , max = 0 , min = 0 , temp = 0;

try {

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

max = min = Integer.parseInt(br.readLine( ));

} catch ( IOException e ) { } ;

for ( i = 2 ; i <= n ; i ++ ) {

try {

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

temp = Integer.parseInt(br.readLine( ));

if (temp > max ) max=temp;

if (temp < min) min=temp;

} catch ( IOException e ) { } ;

}

System.out.println("max="+max+"\nmin="+min);

}

}

3. 从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。

import java.io.* ;

public class Reverse

{ public static void main(String args[ ])

{ int i , n =10 ;

int a[ ] = new int[10];

for ( i = 0 ; i < n ; i ++ )

try {

BufferedReader br = new BufferedReader(

new InputStreamReader(System.in));

a[i] = Integer.parseInt(br.readLine( )); // 输入一个整数

} catch ( IOException e ) { } ;

for ( i = n-1 ; i >= 0 ; i ――)

System.out.print(a[i]+" ");

System.out.println( );

}

}

4. 编程题(略)

《JAVA语言程序设计》期末考试试题及答案(2)

《JA V A语言程序设计》期末考试试题及答案 一、单选题 1、下列程序段执行后的结果是( A )。 String s = new String("abcdefg"); for (int i=0; i

JAVA复习题 有答案

复习题 一、选择题 1、下列Java标志符中合法的是:() A H3_sum B -name C student# D 9_Hello123 2.Java源文件和编译后的文件扩展名分别为() A. .class和.java B. .java和.class C. .class和.class D. .java和.java 3.对于同一消息,对象可以产生不同的行为,这称为类的什么特性?()A)继承性B)封装性C)多态性D)抽象性 4、用来引入包语句的关键词是:() A)import B)abstract C)package D)extends 5.对于小程序,当离开包含Applet的主页后又再返回时将调用()方法。A)start( ) B)init( ) C)destroy( ) D)stop( ) 6.下列对Java中的继承描述错误的说法是() A.子类只能有一个父类 B.子类可作为另一个子类的父类 C.子类可以访问父类的私有属性 D.子类继承父类的方法访问权限保持不变 7.哪种循环在条件表达式被计算之前至少执行循环体语句一次?( ) A)do-while循环B)for循环C)while循环D)以上都不是 8.定义数组String[] a={"ab","abc","abcd","abcde"},数组中a[1]指的是()。 A.ab B.abc C.abcde D.数组越界 9.如果希望组件从左往右,从上到下自动布局界面,应使用哪种布局?()A)没有B)BorderLayout C)FlowLayout D)GridLayout 10.下列说法正确的是() A. 最终类在特殊情况下可以有子类 B. 抽象类只能有一个子类 C. 多态可以通过方法重写和方法重载实现 D. 抽象类不可以声明成员变量和成员方法,只能声明抽象方法 11.下列语句中访问类的方法正确的是:() A)https://www.360docs.net/doc/2c1895118.html, B)https://www.360docs.net/doc/2c1895118.html,( ) C)book->name D)book_name 12.下列选项中哪个是类Pen的构造方法() A)public void Pen() {} B)public static Pen() {} C)public Pen() {} D)public static void Pen() {} 13.单击菜单触发的事件是?() A. ActionEvent B.ItemEvent C.MouseEvent D. KeyEvent 14.关于try/catch/finally结构的异常捕获和处理,说法错误的是()A)try部分是必须的B)catch部分也是必须的 C)可以有多个catch部分D)finally部分也是必须的

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

JAVA期末试题及答案

Java 程序设计》课程试卷 1.使用 Java 语言编写的源程序保存时的文件扩展名是( )。 (A ) .class ( B ) .java C ) .cpp ( D ) .txt 2.设 int a=-2 ,则表达式 a>>>3 的值为( )。 (A ) 0 (B )3 (C ) 8 (D )-1 3.设有数组的定义 int[] a = new int[3] ,则下面对数组元素的引用错误的是( ) ( A )a[0]; ( B ) a[a.length-1]; (C )a[3]; (D )int i=1 ; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( )。 (A )封装 (B )继承 (C )覆盖 (D )重载 5.在类的定义中构造函数的作用是( )。 (A )保护成员变量 (B )读取类的成员变量 (C )描述类的特征 (D )初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( )。 ( A ) try ( B ) break ( C ) catch ( D ) finally 7.类与对象的关系是( )。 (A )类是对象的抽象 (B )对象是类的抽象 15. Java 语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB 16. 如果一个类的成员变量 (A) public (B) (C 对象是类的子类 (D )类是对象的具体实例 )。 8.下面哪一个是 Java 中不合法的标识符( ( A )$persons ( B ) twoNum ( C )_myVar ( D )*point 9.为 AB 类的一个无形式参数无返回值的方法 ( ) 。 ( A ) static void method( ) ( B ) public void method( ) ( C ) final void method( ) ( D ) abstract void method( ) 10.欲构造 ArrayList 类的一个实例,此类继承了 ( A ) ArrayList myList=new Object( ) ( B ) List myList=new ArrayList( ) ( C ) ArrayList myList=new List( ) ( D ) List myList=new List( ) 11. Java 源文件和编译后的文件扩展名分别为( (A) .class 和 .java (C).class 和 .class 12. 在 Java Applet 程序用户自定义的 (A) start( ) (B) stop( ) (C) init( ) 13. 对于一个 Java 源文件, (A) package,import,class (C) import,package,class 14. 下面哪个是非法的: (A) int I = 32; (C) double d = 45.0; method 书写方法头,使得使用类名 List 接口,下列哪个方法是正确的( ) ( B).java 和 .class (D) .java 和 .java Applet 子类中,一般需要重载父类的 (D) paint( ) import, class (B) class,import,package (D) package,class,import ( ) 定义以及 package 正确的顺序是: (B) float f = 45.0; (D) char c = // 符号错 AB 作为前缀就可以调用它,该方法头的形式为 方法来完成一些画图操作。 (D) Unicode 只能 在所在类中使用 则该成员变量必须使用的修饰是

《JAVA语言程序设计》期末考试试题及答案2(应考必备题库)

《JA V A语言程序设计》期末考试试题及答案2(应考必备题库) 一.判断题 1.Java的源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。(√)2.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(×)3.Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(×) 4.构造函数用于创建类的实例对象,构造函数名应与类名相同,返回类型为void。(×)5.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch 中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。(√) 6.拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(√)7.Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。(×) 8.静态初始化器是在其所属的类加载内存时由系统自动调用执行。(√) 9.在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。(×) 二.单项选择题 1.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?() A、String args B、String ar[] C、Char arg D、StringBuffer args[] 2.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 3.paint()方法使用哪种类型的参数?() A、Graphics B、Graphics2D C、String D、Color 4.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char 5.以下哪项可能包含菜单条()。 A、Panel B、Frame C、Applet D、Dialog

JAVA复习题库及答案

第一题单项选择题 1、在下列说法中,选出最正确的一项是(A )。 A、Java 语言是以类为程序的基本单位的 B、Java 语言是不区分大小写的 C、多行注释语句必须以//开始 D、在Java 语言中,类的源文件名和该类名可以不相同 2、下列选项中不属于Java 虚拟机的执行特点的一项是(D )。 A、异常处理 B、多线程 C、动态链接 D、简单易学 3、下列选项中,属丁JVM 执行过程中的特点的一项是( C )。 A、编译执行 B、多进程 C、异常处理 D、静态链接 4、在Java 语言中,那一个是最基本的元素?( C ) A、方法 B、包 C、对象 D、接口 5、如果有2 个类A 和B,A 类基于B 类,则下列描述中正确的一个是( B )。 A、这2 个类都是子类或者超类 B、A 是B 超类的子类 C、B 是A 超类的子类 D、这2 个类郡是对方的子类 6、使用如下哪个保留字可以使只有在定义该类的包中的其他类才能访问该类?(D ) A、abstract B、private (本类) C、protected(本包及其他包的子类) D、不使用保留字 7、编译一个定义了3 个类的Java 源文件后,会产生多少个字符码文件,扩展名是什么?(D ) A、13 个字节码文件,扩展名是.class B、1 个字节码文件,扩展名是.class C、3 个字节码文件,扩展名是.java D、3 个字节码文件,扩展名是.class 8、下列关于Java 程序结构的描述中,不正确的一项是( C )。 A、一个Java 源文件中可以包括一个package 语句 B、一个Java 源文件中可以包括多个类定义,但是只能有一个public 类 C、一个Java 源文件中可以有多个public 类 D、源文件名与程序类名必须一致 9、下列说法正确的一项是( C )。 A、java.1ang.Integer 是接口 B、java.1ang.Runnable 是类 C、Doulble 对象在iava.1ang 包中 D、Double 对象在java.1ang.Object 包中 10、以下关于面向对象概念的描述中,不正确的一项是( B )。 A、在现实生活中,对象是指客观世界的实体

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

大学java期末试卷2份(含答案)

Java大学考试试卷 一、选择题(每题2分,共30分) 1、Java中main()函数的值是。 A、 String B、int C、char D、void 2、如下字串是Java中的标识符。 A、 fieldname B、super C、3number D、#number 3、下面的代码段中,执行之后i 和j 的值是。 int i = 1; int j; j = i++; A、 1, 1 B、1, 2 C、2, 1 D、2, 2 4、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面表达式的值与数组下标量总数相等。 A、 m.length() B、m.length C、m.length()+1 D、m.length+1 5、当浏览器返回到新URL的包含applet 的页面时调用以下函数。 A、 init() B、start() C、stop() D、destroy() 6、以下方法用于定义线程的执行体。 A、 start() B、init() C、run() D、main() 7、如果类中的成员变量可以被同一包访问,则使用如下约束符。 A、 private B、public C、protected D、final 8、以下约束符可用于定义成员常量。 A、 static B、final C、abstract D、No modifier can be used 9、下面方法与applet的显示无关。 A、 update() B、draw() C、repaint() D、paint() 10、请问如下方法可以将MenuBar加入Frame中。 A、 setMenu() B、setMenuBar() C、add() D、addMenuBar() 11、下面不是Java中的容器。 A、 ScrollPane B、Canvas C、Dialog D、Applet 12、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File 构造函数中正确的路径和文件名的表示是。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file); A) "1.txt" B) "d:\\my\\1" C) "d:\\my\\1.txt" D) "d:\ my\1.txt" 13、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是。A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 2 14、下面的程序段执行后输出的结果是。 StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); A) Beijing@2008B) @Beijing2008 C) Beijing2008@ D) Beijing#2008 15、.下面表达式可用得到x和y的最大值。 A) x>y?y:x B) xy?(x+y):(x-y) D) x==y?y:x; 二、多选题(每题至少有一个正确答案,多选少选都不给分,每题2分,共10分) 16、下面赋值语句是合法的。 A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2 17、下面语句是创建数组的正确语句。 A、 float f[][] = new float[6][6]; B、float []f[] = new float[6][6]; C、float f[][] = new float[][6]; D、float [][]f = new float[6][6]; 18、Java中如下约束符是正确的。 A、 private B、public C、protected D、protect 19. 下面事件监听器在Java中有事件适配器。 A、 MouseListener B、KeyListener C、ActionListener D、WindowListener 20、已知如下的命令执行 java MyTest a b c,语句是正确的。 A、 args[0] = "MyTest a b c" B、args[0] = "MyTest" C、args[0] = "a" D、args[1]= 'b' 填空题(每空格2分,共20分) 1. 创建类的对象时,使用运算符__________给对象分配内存空间。 2. 定义类的构造方法不能有返回值类型,其名称与____ _名相同。

JAVA语言复习题及答案

14年(下)程序设计(JA V A语言)复习题 第一:单选 1. 若有定义int x=3,y;则执行语句y=(++x)+(++x)+(++x);后y=()。 (A) 12 (B) 18 (C) 9 (D) 15 2. 下列选项中,不是Java关键字的是()。 (A) double (B) Integer (C) float (D) default 3. 在成员变量与局部变量重名时,若想在方法内使用成员变量,要使用的关键字是()。 (A) super (B) import (C) this(D) return 4. 下列说法中错误的是( B )。 (A) 一个类中的实例方法可以调用其他实例方法 (B) 静态方法可以调用实例方法 (C) 实例方法可以调用静态方法 (D) 静态方法可以调用静态方法 5. 下列关于super的说法中错误的是()。 (A) 用来访问父类被隐藏的成员变量 (B) 用于调用父类中被重写的方法 (C) 用于定义父类 (D) 用于调用父类的构造函数 6. 下列选项属于接口中方法默认访问控制方式的是()。 (A) public (B) private (C) protected(D) default 7. 定义一个名为key的类,下列选项中使其不能被继承的定义是()。 (A) class key{} (B) native class key{} (C) class key{ final;} (D) final class key{} 8. 若有定义String tom=""我们是学生"";则tom.length()的值是()。 (A) 5 (B) 10 (C) 6 (D) 11 9. 调用repaint()方法,会出现什么情况( C )。 (A) 清除以前pain()方法所画的内容 (B) 保留原来pain()所画的内容 (C) 清除pain()以前所画的内容,再一次调用pain()方法 (D) 在pain()以前所画内容基础上,再一次调用pain()画新的内容 10. 从下面的main()调用java lyrics a kiss is but a kiss 中可以访问单词“kiss”的是()。 (A) args[0] (B) args[5] (C) args[4] (D) args[3] 11. 使一个线程放弃处理器并休眠1.5秒,应调用的方法是()。 (A) sleep(1.5) (B) sleep(1500) (C) suspend(1.5) (D) suspend(1500) 12. 如要使处于等待状态的线程恢复到运行状态,应调用的方法是()。 (A) start() (B) run() (C) resume() (D) notify() 13. 如果想获得一个InetAddress对象的主机域名,可调用的方法是()。

java基础考试题及答案

新员工考试 一、选择题(共30题,每题 2 分) 1. 下面哪些是合法的标识符?(多选题) A. $persons B. TwoUsers C. *point D. this E. _endline 答案A,B,E 分析Java 的标识符可以以一个Unicode 字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字(this 保留字)。 2. 哪些是将一个十六进制值赋值给一个long 型变量?(单选题) A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L 答案D 分析十六进制数以Ox开头,Io ng型数以L (大小写均可,一般使用大写,因为小写的 l 和数字1 不易区分)。 3. 下面的哪些程序片断可能导致错误? (多选题) A. String s = "Gone with the wind"; String t = " good "; String k = s + t; B. String s = "Gone with the wind"; String t; t = s[3] + "one"; C. String s = "Gone with the wind"; String standard = s.toUpperCase(); D. String s = "home directory"; String t = s - "directory"; 答案B,D 分析 A:String 类型可以直接使用+进行连接运算。 B:String 是一种Object ,而不是简单的字符数组,不能使用下标运算符取其值的某个元 素,错误。 C:toUpperCase()方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String 类型)。 D:String 类型不能进行减(- )运算,错误。 4. point x 处的哪些声明是句法上合法的? (多选题) cIass Person { private int a; pubIic int change(int m){ return m; } } pubIic cIass Teacher extends Person { public int b;

JAVA测试题(三套含答案)

<测试一> 1.在单一文件中import、class和package的正确出现顺序是:A A.package, import, class B.class, import, package C.import, package, class D.package, class, import 2.public static void main方法的参数描述是:A,D A.String args[] B.Strings args[] C.String args D.String []args 3.下面哪行代码会在编译的时候出现错误或警告:A,B,C,D A.float f=1.3; B.char c="a"; C.byte b=257; D.boolean b=null; E.int i=10; 4.编译,运行下列代码后的结果是:D public class Test { public static void main (String args []) { int age; age = age + 1; System.out.println("The age is " + age); } } A.编译,运行后没有输出 B.编译,运行后输出:The age is 1 C.能通过编译,但运行时产生错误 D.不能通过编译 4.下面那些关键字不是JAVA的关键字B A if B then C goto D while E case 5.下面那些不是合法的变量定义:A,F A.2variable B.variable2 C. _whatavariable

D. _3_ E. $anothervar F. #myvar 6.内部数据类型byte的取值范围是B A.0 - 65, 535 B.(–128) – 127 C.(–32,768) – 32,767 D.(–256) – 255 7.下列哪些表达式返回true AB A."john" == "john" B."john".equals("john") C."john" = "john" D."john".equals(new Button("john")) 8.声明公用的abstract方法的正确格式是A A.public abstract void add(); B.public abstract void add() {} C.public abstract add(); D.public virtual add(); 9.下面的代码能打印出的结果为:C int i=1; switch (i) { case 0: System.out.println("zero"); break; case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } A.one B.one, default C.one, two, default D.default 10.下面的代码能打印出的结果为:B int i=9; switch (i) { default:

JAVA试题_2

JAVA试题 一、选择 1.MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义这个变量。 A public int MAX_LENGTH=100; B final int MAX_LENGTH=100; C final public int MAX_LENGTH=100; D public final int MAX_LENGTH=100. 2.给出下面代码: 1)class Parent{ 2)private String name; 3)public Parent(){} 4)}5)public class Child extends Parent{ 6)private String department; 7)public Child(){} 8)public String getValue(){return name;} 9)public static void main(String arg[]){ 10)Parent p=new Parent(); 11)}12)} 哪些行将引起错误? A第3行B第6行C第7行D第8行 3.类Teacher和Student是类Person的子类; Person p; Teacher t; Student s; //p,t and s are all non-null. if(t instanceof Person){s=(Student)t;} 最后一句语句的结果是: A将构造一个Student对象;B表达式是合法的; C表达式是错误的;D编译时正确,但运行时错误。 4.给出下面代码段 1)public class Test{ 2)int m,n; 3)public Test(){} 4)public Test(int a){m=a;} 5)public static void main(String arg[]){ 6)Test t1,t2; 7)int j,k; 8)j=0;k=0; 9)t1=new Test(); 10)t2=new Test(j,k); 11)}12)} 哪行将引起一个编译时错误?

JAVA考试复习题(附答案)

《现代程序设计》(JAVA)考试复习题 一、选择题 1、关于Java语言叙述错误的是:(C) A.Java语言具有跨平台性B.Java是一种面向对象的语言 C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象 2、以下叙述正确的是:(B) A.构造方法必须是public方法B.main方法必须是public方法 C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型 3、关于Java中数据类型叙述正确的是:(B) A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和false C.数组属于简单数据类型D.Java中的指针类型和C语言的一样 4、设int x=1,float y=2,则表达式x / y的值是:(D) A.0 B.1 C.2 D.以上都不是 5、以下语句有语法错的是:(A) A.int x=1;y=2;z=3 B.for (int x=10,y=0;x>0;x++); C.while (x>5); D.for(; ;); 6、关于类和对象的叙述正确的是:(A) A.Java的类分为两大部分:系统定义的类和用户自定义的类 B.类的静态属性和全局变量的概念完全一样,只是表达形式不同 C.类的成员至少有一个属性和一个方法D.类是对象的实例化 7、以下有关构造方法的说法,正确的是:(A) A.一个类的构造方法可以有多个B.构造方法在类定义时被调用 C.构造方法只能由对象中的其它方法调用 D.构造方法可以和类同名,也可以和类名不同 8、以下有关类的继承的叙述中,正确的是:(D) A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性 B.子类只能继承父类的方法,不能继承父类的属性 C.子类只能继承父类的非私有属性,不能继承父类的方法 D.子类不能继承父类的私有属性 9、void 的含义:(C ) A.方法体为空B.定义的方法没有形参 C.定义的方法没有返回值D.方法的返回值不能参加算术运算 10、关于Java中异常的叙述正确的是:(D ) A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误 C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的

java笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double

Java程序设计试题及答案

一、判断题。判断下列各题是否正确,若正确,在()内打“√”,否则打“×”。 1、Java语言具有较好的安全性和可移植性及与平台无关等特性。√ 2、Java语言的源程序不是编译型的,而是编译解释型的。√ 3、Java语言使用的是Unicode字符集,每个字符在内存中占8位。× 4、Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。√ 6、一个类可以实现多个接口,接口可以实现“多重继承”。√ 7、实现接口的类不能是抽象类。× 二、不定项选择题。 1、编译Java Application源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。 A、java B、class C、html D、exe 2、main方法是Java Application程序执行的入口点,关于main方法的方法首部,以下(B)项是合法的。 A、public static void main() B、public static void main(String args[]) C、public static int main(String[] arg) D、public void main(String arg[]) 3、关于下面代码的说法(C)是正确的 public class Example{ public static void main(String[] args){ int[] arr= new int[10]; } } A、编译时产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空(null) 4、不正确的表达式是(AB)。 A、float a=; B、Double a=new Double C、byte a = (byte)340; D、Byte a = 120; 5、定义一个类名为""的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为( CD)。 A、private class MyClass extends Object B、class MyClass extends Object C、public class MyClass D、public class MyClass extends Object 6、下列构造方法的调用方式中,正确的是(C)。 A、按照一般方法调用 B、由用户直接调用

java考试习题及答案 2

Java 程序设计习题及历年考试题单项选择题(80) 1. 接口中的成员变量被隐含地声明为 (A)public static final (B)public final (C)public static (D)public abstract 2. 处理按钮点击事件的类需要实现哪个接口 (A)FocusListener (B)ActionListener (C)WindowListener (D)ItemListener 3. 已知: class A { public final void m() { System.out.println(“A.m”); } } public class B extends A { public void m() { System.out.println(“B.m”); super.m(); } public static void main(String [] args) { new B().m(); } } 那么结果为? (A)A.m (B)B.m (C)B.m A.m (D)编译错误 4. 抛出异常,使用关键字 (A)try (B)throw (C)finally (D)catch

5. 已知: class Base { public Base(String s) { System.out.print(“B”); } } public class Derived extends Base { public Derived (String s) { System.out.print(“D”); } public static void main(String [] args) { new Derived (“C”); } } 那么结果为? (A)BD (B)DB (C)C (D)编译错误 6. Java 中char类型的数据长度为 (A)8位 (B)16位 (C)32位 (D)64位 7. Java 编译输出文件的后缀是 (A).exe (B).java (C).class (D).obj 8. 已知: class C { public static void main(String[] args) { boolean a = true; boolean b = false; boolean c = true; if((a & b) | (b & c) & c) System.out.print(“A”); If((a = false) | (a & c) ) | (a | b)) S ystem.out.print(“B”); } }

相关文档
最新文档