JAVA程序设计笔试题面试题一套
2023-07-06
一、选择题(共15小题,每题2分,共30分)
1、下列变量定义合法的是 ( A )
A、boolean isStudent=false;
B、int _varible1 = 1;
C、char rank = “A”;
D、float radius = 53.2;
2、下列属于java.lang.*包中的类是 ( C )
A、Vector
B、JButton
C、System
D、File
3、对于以下声明:
String s1=”hello”;
String s2=”world”;
String s3;
下面的操作合法的是( A )
A、s3=s1+s2;
B、s3=s1-s2;
C、s3=s1&s2;
D、s3=s1&&s2;
4、Test.java程序代码如下:
public class Test
public static void main(String[] args)
System.out.println(args[2]);
以上程序编译后用java Test 2 3 4 5运行的输出结果是什么? ( C )
A、2 B、3 C、4 D、5
5、下面的代码合法的是: ( B )
A、public abstract method();
B、public abstract void method();
C、public abstract void method() ;
D、public void method() implements abstract;
6、对于以下代码:
public class Test
public long sum(long a,long b)return a+b;
//此处插入一条行
下面哪个语句放到以上的插入行后会产生编译出错?( B )
A、public int sum(int a,int b)return a+b;
B、public int sum(long a,long b)return 0;
C、public long sum(long a,int b)return a+b;
D、int sum(int a,int b,int c)return a+b+c;
7、下列哪一个f对象既能从文件file.txt读取数据,又能向文件file.txt写入数据(B)
A、File f=new File(“file.txt”);
B、RandomAccessFile f=new RandomAccessFile(“file.txt”,”rw”);
C、FileOutputStream f=new FileOutputStream(“file.txt”);
D、FileInputStream f=new FileInputStream(“file.txt”);
8、下列哪种操作不会抛出异常?( D )
A、打开不存在的文件
B、用负数索引访问数组
C、浮点数除以0
D、浮点数乘0
9、以下是接口I的定义:
interface I
void setValue(int val);
int getValue();
以下哪段代码能通过编译?( C )
A、class A extends I
int value;
void setValue(int val)value=val;
int getValue()return value;
B、class B implements I
int value;
void setValue(int val)value=val;
C、interface C extends I
void increment( );
D、interface D implements I
void increment();
10、对于以下类:
class A
class B extends A
class C extends A
public class Test
public static void main(String args[])
A x= new A();
B y=new B();
C z=new C();
//此处插入一条语句
下面哪个语句可以放到插入行? ( A )
A、x=y;
B、z=x;
C、z=(C)y;
D、y=(A)y;
11、javax.swing.JPanel的默认布局管理器是( A )
A、FlowLayout
B、BorderLayout
C、CardLayout
D、GridLayout
12、下列说法哪个是正确的? ( B )
A、JFrame,JPanel,JApplet和JButton四种组件都属于容器组件。
B、JButton和JTextField都可用ActionListener接口实现事件处理
C、一个面板(JPanel) 不能被加入到另一个面板(JPanel)中
D、在BorderLayout中,添加到NORTH区的两个按钮将并排显示。
13、下面说法错误的是: ( C )
A、单击JCheckBox (复选框)产生ItemEvent事件,并由ItemListener处理。
B、处理JButton和JTextField事件监听器接口都是ActionListener。
C、处理鼠标事件的事件监听器接口只有MouseListener。
D、在JTextField和JPasswordField中输入数据后按回车(Enter)键会激发一个事件。
14、Thread类用来创建和控制线程,启动一个线程应该使用下面的那个方法(B)。
A、init()
B、start()
C、run()
D、notifyAll()
15、下列语句不合法的是: ( D )
A、ServerSocket svrsoc= new ServerSocket(8000);
B、URL urlBase=new URL(“http://www. zjut.edu.cn”)
C、File inFile = new File(“C:/ /test.txt”);
D、BufferedReader br = new BufferedReader(“C:/ /test.txt”);
二、判断题(共10小题,每题1分,共10分)
1、在类的main方法中可以直接调用该类的非静态的方法。 (错)
2、接口中只能定义抽象方法,不能定义其他东西。 (错)
3、抽象类可有构造方法,因此也能用new进行实例化。 (错)
4、一个类可继承多个父类,实现多个接口。 (错)
5、用final修饰的类不能被继承。 (对)
6、在Java程序中发生异常时,JVM会找到每个符合条件的catch都执行一次。(错)
7、泛型只能用于类的定义中,不能用于接口的定义中。 (错)
8、BorderLayout布局管理器把组件排列在北、南、东、西和中间区域。 (对)
9、Java线程设计中,notify( )方法会激活在等待集中的所有线程。 (错)
10、Socket是一种软件形式的抽象,用于表达两台机器间一个连接的“终端”。 (对)
三、程序阅读题。(共4小题,每题5分,共20分)
1、仔细阅读下面的程序代码,写出程序运行的输出结果。
class Test1
private int i = 1;
public class Test11
private int i = 2;
public void methodI(int i)
i++;
this.i++;
Test1.this.i++;
System.out.println(“i of methodI():”+i);
System.out.println(“i of Test11:”+this.i);
System.out.println(“i of Test1:”+Test1.this.i);
Test11 ic=new Test11();
public void increaseI(int k)
ic.methodI(k);
public static void main(String [] args)
Test1 oc=new Test1();
oc.increaseI(20);
答案:
i of methodI():21
i of Test11:3
i of Test1:2
2、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。
public class Test
public static void main(String args[])
int [ ] a = 10, 20, 30, 40, 50;
int s =0;
for (int c: a)
s +=c;
System.out.print(s );
打印结果:150
3、仔细阅读下面的程序代码,若经编译和运行后,请写出打印结果。
class myException extends Exception
public class Sample
public void foo()
try
System.out.print(1);
bar();
System.out.print(2);
catch(myException e)
System.out.print(3);
finally
System.out.print(4);
public void bar() throws myException
throw new myException();
public static void main(String args[])
Sample s=new Sample();
s.foo();
打印结果:134
4、请简要画出编译运行下面程序的界面效果图。
import java.awt.*;
import javax.swing.*;
public class ColorSelect extends JFrame
private JButton ok, cancel;
private JCheckBox background, foreground;
private JComboBox colorList;
private JPanel panel, panel2;
private Container c;
public ColorSelect()
super( “ColorSelect” );
c=getContentPane();
c.setLayout(new BorderLayout());
colorList = new JComboBox();
colorList.addItem( “RED” );
c.add( colorList, BorderLayout.NORTH );
panel = new JPanel();
background = new JCheckBox( “Background” );
foreground = new JCheckBox( “Foreground” );
panel.add( background );
panel.add( foreground );
c.add( panel, BorderLayout.CENTER );
ok = new JButton( “Ok” );
cancel = new JButton( “Cancel” );
panel2 = new JPanel();
panel2.add( ok );
panel2.add( cancel );
c.add( panel2, BorderLayout.SOUTH );
setSize( 300, 125 );
setVisible(true);
public static void main ( String args[] )
ColorSelect app = new ColorSelect();
app.setDefaultCloseOperation( EXIT_ON_CLOSE );