吉首大学java试题库.docx
《吉首大学java试题库.docx》由会员分享,可在线阅读,更多相关《吉首大学java试题库.docx(16页珍藏版)》请在冰豆网上搜索。
![吉首大学java试题库.docx](https://file1.bdocx.com/fileroot1/2023-2/7/2876b889-6529-483b-9d8d-980c88c8ecf3/2876b889-6529-483b-9d8d-980c88c8ecf31.gif)
吉首大学java试题库
一、选择题(15个,每个2分,共30分)
1.下面哪个是java里的关键字
Aboolean
BInteger
Cprotect
Darray
2.有如下定义:
intx;
则x的取值范围为:
A-231到231-1
B-216到216-1
C-232到232
D-216到216
3.Strings=newString("Computer");
if(s=="Computer")
System.out.println("EqualA");
if(s.equals("Computer"))
System.out.println("EqualB");
有关上面这段代码执行后的结果正确的说法是:
A只输出一行字符串”EqualA”
B只输出一行字符串”EqualB”
C输出两行字符串”EqualA”和”EqualA”
D代码不会编译成功,因为字符串类String不支持”==”操作符
4.下列有关数组不正确的定义方法为:
Aintx[]={1,2,3};
Bint[]x[]={{1,2,3},{1,2,3}};
Cintx[3]={1,2,3};
Dint[]x=newint[3]{1,2,3};
5.interfaceA{
intx=0;
A(){
x=5;
}
A(ints){
x=s;
}
}
有关这段代码正确的说明是:
A这是一段合法的代码,并且能够正确执行;
B这段代码编译失败,因为对于接口只能有一个构造函数;
C这段代码编译失败,因为接口不能有构造函数;
D这段代码编译失败,因为不需要写缺省构造函数,因为编译器会帮你产生。
6.下面关于抽象方法正确的定义方法为
AabstractvoidTest();
BabstractvoidTest(){}
CstaticabstractvoidTest();
DfinalabstractvoidTest();
7.1.publicclassTest{
2.staticintx;
3.staticpublicvoidmain(String[]args){
4.x=x+1;
5.System.out.println("Valueis"+x);
6.}
7.}
有关这段代码正确的说法是:
A代码编译失败,因为变量x没有初始化就使用
B代码编译正确,但是在第5行抛出NullPointerException;
C代码编译成功,并且输出:
Valueis1
D代码编译失败,因为main函数没有正确定义。
8.
1.publicclassTest{
2.publicstaticvoidmain(String[]args){
3.print();
4.}
5.
6.publicstaticvoidprint(){
7.System.out.println("Test");
8.}
9.
10.publicvoidprint(){
11.System.out.println("AnotherTest");
12}
13.}
有关这段代码正确的说法是:
A代码编译成功,并且输出:
Test;
B代码编译失败,编译器报错:
在静态得方法中调用非静态得方法print();
C代码编译失败,编译器报重复定义方法print();
D把第10行的print()函数的返回类型从void改为int就可以编译成功
9.classFather
{
inti=0;
Father(Strings)
{
i=10;
}
}
classchildextendsFather
{
Child(Strings)
{
i=20;
}
publicstaticvoidmain(String[]args)
{
Childc=newChild("hello");
System.out.println(i);
}
}
上述代码运行后i的输出结果是:
A编译错误
B运行错误
C10
D20
10.
1.classFinalTest{
2.finalintq;
3.finalintw=0;
4.
5.FinalTest(){
6.q=1;
7.}
8.
9.FinalTest(intx){
10.q=x;
11.}
12.}
有关这段代码正确的说法是:
A代码编译失败,因为一个类不能有超过1个构造函数
B代码编译失败,因为第6行和第10行企图给声明为final的变量赋值
C代码编译没有任何错误.
D代码编译失败,因为第2行有声明为final的变量没有赋初值.
11.1.classTest{
2.publicstaticvoidmain(String[]args){
3.aMethod();
4.}
5.
6.staticvoidaMethod(){
7.try{
8.System.out.println("abcd");
9.return;
10.}finally{
11.System.out.println("1234");
12.}
13.}
14.}
有关上述这段代码,正确的说法是:
A第9行有异常抛出
Babcd
1234
Cabcd
D代码编译失败,因为在第10行没有与try相对应的catch语句。
12.
上述图片所对应的applet所采用的布局管理方式是:
ACardLayout
BnullLayout
CBorderLayout
DFlowLayout
13.下面哪个方法会开始一个线程的执行:
Ainit()
Bstart()
Crun()
Dresume()
14.如果文件系统上还没有Ran.test,当你运行下面代码后下面选项中正确的说法是
importjava.io.*;
classRan{
publicstaticvoidmain(String[]args)throwsIOException{
RandomAccessFileout=newRandomAccessFile("Ran.test","rw");
out.writeBytes("Ninotchka");
}
}
A代码不会编译,因为RandomAccessFile没有实现writeBytes()方法;
B代码编译成功,但是在运行的时候抛出IOException,因为Ran.test文件不存在;
C代码编译成功,但是在运行之后,在新产生的Ran.test文件中没有任何内容;
D代码编译成功,并且在运行后,在新产生的Ran.test文件中显示内容“Ninotchka”。
15.下面程序的打印结果是:
importjava.io.*;
publicclassTest
{
publicstaticvoidmain(String[]args)throwsException
{
RandomAccessFilefile1=newRandomAccessFile("test.txt","rw");
file1.writeBoolean(true);
file1.writeInt(123456);
file1.writeInt(7890);
file1.writeLong(100000);
file1.writeInt(777);
file1.seek(5);
System.out.println(file1.readInt());
}
}
A123456
B7890
C100000
D777
二、填空题:
(20个空,每空1分,共20分)
1.java中提供了4种用于控制访问权限的符号,分别是
__________,______________,__________,_______________.
2.java中提供了两种用于多态的机制_________,__________.
3.java中用_________关键字指明继承关系,用______关键字指明对接口的实现。
4.一个线程进入停止状态的两个原因是______________和在该线程上调用了stop方法。
5.我们可以用关键字____________来对对象加互斥锁.
6.java中,JFrame缺省使用的布局管理策略是:
__________,JApplet缺省使用的布局管理策略是__________
7.java中线程的生命周期有新生,就绪状态,__________,____________,死亡状态。
8.java系统中用于读取文件中的字节数据的字节文件输入类是______,用于向文件中写入字节数据的字节文件输出类是________,用于读取文件的字符数据的类是____________,用于向文件写入字符数据的类是_______________.
9.java语言一般提供三种通讯方式:
URL通讯方式,___________,__________.
三、程序阅读题(6小题,每题5分,共30分)
1.classTester{
intvar;
Tester(doublevar){
this.var=(int)var;
}
Tester(intvar){
this("hello");
}
Tester(Strings){
this();
System.out.println(s);
}
Tester(){
System.out.println("good-bye");
}
publicstaticvoidmain(String[]args){
Testert=newTester(5);
}
}
输出结果为
2.classTree{}
classPineextendsTree{}
classOakextendsTree{}
publicclassForest
{publicstaticvoidmain(String[]args)
{
Treetree=newPine();
if(treeinstanceofPine)
System.out.println("Pine");
if(treeinstanceofTree)
System.out.println("Tree");
if(treeinstanceofOak)
System.out.println("Oak");
elseSystem.out.println("Oops");
}
}
这段代码执行后的输出结果为
3.classHappy
{
staticStringBuffersb1=newStringBuffer("A");
staticStringBuffersb1=newStringBuffer("B");
publicstaticvoidmain(String[]args)
{
Happyh=newHappy();
h.methodA(sb1,sb2);
System.out.println(sb1+","+sb2);
}
publicvoidmethodA(StringBufferx,StringBuffery)
{
y.append(x);
x=y;
}
}
这段代码执行后的输出结果为
4.试写出下面这个程序的执行结果.
classExceptionTest{
staticStringa[]={"123","abc",null};
publicstaticvoidmain(Stringargs[]){
for(inti=0;i<3;i++){
try{
intx=Integer.parseInt(a[i]);
System.out.println("Result:
"+x);
}
catch(NullPointerExceptione){
System.out.println("errornull:
");}
catch(NumberFormatExceptione)
{System.out.println("error:
abc");}
finally{System.out.println("In"+i+"thloop\n");}
}//endfor
}
5.试分析下面这个程序执行的顺序,将给出注释的六行代码的执行先后次序写出来。
classInsect{
inti=9;
intj;
Insect(){//1
prt("i="+i+",j="+j);
j=39;
}
staticintx1=//2
prt("staticInsect.x1initialized");
staticintprt(Strings){
System.out.println(s);
return47;
}
}
publicclassBeetleextendsInsect{
intk=prt("Beetle.kinitialized");//3
Beetle(){//4
prt("k="+k);
prt("j="+j);
}
staticintx2=
prt("staticBeetle.x2initialized");//5
staticintprt(Strings){
System.out.println(s);
return63;
}
publicstaticvoidmain(String[]args){
prt("Beetleconstructor");//6
Beetleb=newBeetle();
}
}///:
~
6.classSleepextendsThread
{
publicSleep(Stringname)
{
super(name);
start();
}
publicvoidrun()
{
try
{
Thread.sleep(3000);
}catch(InterruptedExceptione)
{
System.out.println(this.getName()+"睡眠时间被吵醒");
return;
}
System.out.println(this.getName()+"睡觉睡到自然醒");
}
}
publicclassWaiterextendsThread
{
privateSleepsleeper;
publicWaiter(Stringname,Sleepsleeper)
{
super(name);
this.sleeper=sleeper;
start();
}
publicvoidrun()
{
try
{
sleeper.join();
}catch(InterruptedExceptione)
{
System.out.println("等待"+sleeper.getName()+"的"+this.getName()+"继续...");
}
System.out.println("over");
}
publicstaticvoidmain(String[]args)
{
Sleeps1=newSleep("Sleep#1");
Sleeps2=newSleep("Sleep#2");
Waiterw1=newWaiter("Waiter#1",s1);
Waiterw2=newWaiter("Waiter#2",s2);
s2.interrupt();
}
}
上面程序运行后的结果是:
四、程序编写题(2题,每题10分,共20分)
1、编写一个具有继承关系的java程序,要求如下:
a.必须有this或者super的使用;
b.必须在程序中体现出方法的重载和覆盖.
2、编写一个java程序,实现拷贝文件”test.txt”中的所有内容到”test1.txt”中.