JAVA期末实用复习题高分秘籍.docx
- 文档编号:5363198
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:20
- 大小:25.90KB
JAVA期末实用复习题高分秘籍.docx
《JAVA期末实用复习题高分秘籍.docx》由会员分享,可在线阅读,更多相关《JAVA期末实用复习题高分秘籍.docx(20页珍藏版)》请在冰豆网上搜索。
JAVA期末实用复习题高分秘籍
《JAVA语言程序设计》期末考试试题及答案3
一、单项选择题
1、如下哪个是Java中的标识符()
A、publicB、superC、3numberD、width
2、如下哪个是Java中的标识符()
A、fieldnameB、superC、3numberD、#number
3、已知如下定义:
Strings="story";下面哪个语句不是合法的()
A、s+="books";B、s=s+100;
C、intlen=s.length;D、Stringt=s+“abc”;
4、如下哪个是Java中有效的关键字()
A、nameB、helloC、falseD、good
5、下面的代码段执行之后count的值是什么()
intcount=1;
for(inti=1;i<=5;i++){
count+=i;
}
System.out.println(count);
A、5B、1C、15D、16
6、定义一个类,必须使用的关键字是()
A、publicB、classC、interfaceD、static
7、定义一个接口必须使用的关键字是()
A、publicB、classC、interfaceD、static
8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()
A、p.add(b);B、p.add(b,"North");
C、p.add(b,"South");D、b.add(p,"North");
9、声明并创建一个按钮对象b,应该使用的语句是()
A、Buttonb=newButton();B、buttonb=newbutton();
C、Buttonb=newb();D、b.setLabel(“确定”);
10、Frame对象默认的布局管理器是()
A、FlowLayoutB、BorderLayout
C、CardLayoutD、null
11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()
A、importjava.sql.*;B、importjava.util.*;
C、importjava.io.*;D、import.*;
12、下面哪一个import命令可以为我们提供编写网络应用程序的类()
A、importjava.sql.*;B、importjava.util.*;
C、importjava.io.*;D、import.*;
13、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()
A、FileInputStreamB、FileOutputStream
C、DataOutputStreamD、FileWriter
二、填空题
1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。
2、Java程序中的单行注释符是(//),多行注释符是(/**/)。
3、Java中布尔类型的常量有两种,它们是(true)和(false)。
4、Java中用于定义小数的关键字有两个:
(float)和(double),后者精度高于前者。
5、Java中用于两个数相等比较的运算符是:
(==),用于不相等比较的运算符是(<>)。
6、在Java中定义一个字符串类型的变量str的语句是:
(Stringstr;),定义一个具有10个元素的整型数组a的语句是:
(int[]arr=newint[10];)。
7、导入mypackage包中的所类的命令是(importmypackage.*;)。
8、当声明一个数组intarr[]=newint[5];时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。
9、假设x=13,y=4,则表达式x%y!
=0的值是(true),其数据类型是(boolean)。
10、异常处理是由(try)、(catch)和finally块三个关键所组成的程序块。
11、以下程序段的输出结果是(三角形)
intx=5,y=6,z=4;
if(x+y>z&&x+z>y&&z+y>x)
System.out.println("三角形");
else
System.out.println("不是三角形");
12、下面程序段的执行结果是(65432)
inta[]={2,3,4,5,6};
for(inti=a.length-1;i>=0;i--)
System.out.print(a[i]+"");
三、程序阅读题
1、以下程序的输出结果为_Peteris17yearsold!
___。
publicclassPerson{
Stringname;
intage;
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}
publicstaticvoidmain(String[]args){
Personc=newPerson("Peter",17);
System.out.println(c.name+"is"+c.age+"yearsold!
");
}
}
2、以下程序的输出结果为__课程号:
101课程名:
ASP学分:
3___。
publicclassCourse{
privateStringcNumber;
privateStringcName;
privateintcUnit;
publicCourse(Stringnumber,Stringname,intunit){
cNumber=number;
cName=name;
cUnit=unit;
}
publicvoidprintCourseInfo(){
System.out.println("课程号:
"+cNumber+"课程名:
"+cName+"学分:
"+cUnit);
}
}
classCourseTest{
publicstaticvoidmain(String[]args){
Coursec;
c=newCourse("101","ASP",3);
c.printCourseInfo();
}
}
3、以下程序的输出结果为__汤姆猫体重:
20.0斤___。
publicclassTom{
privatefloatweight;
privatestaticStringname;
publicvoidsetWeight(floatweight){
this.weight=weight;
}
privatevoidout(){
System.out.println(name+"体重:
"+weight+"斤");
}
publicstaticvoidmain(String[]args){
Tom.name="汤姆猫";
Tomcat=newTom();
cat.setWeight(20);
cat.out();
}
}
4、以下程序的输出结果_姓名:
Tom年龄:
15家庭住址:
金水区电话:
学校:
九中_。
publicclassFather{
Stringname,address,tel;
intage;
publicFather(Stringname,intage){
this.name=name;
this.age=age;
}
voidout(){
System.out.print("姓名:
"+name);
System.out.print("年龄:
"+age);
}
voidoutOther(){
System.out.print("家庭住址:
"+address);
System.out.print("电话:
"+tel);
}
}
classSonextendsFather{
Stringschool;
publicSon(Stringname,intage){
super(name,age);
}
voidout(){
super.out();
super.outOther();
System.out.println("学校:
"+school);
}
publicstaticvoidmain(Stringargs[]){
Sonson=newSon("Tom",15);
son.address="金水区";
son.school="九中";
son.tel="";
son.out();
}
}
5、下列程序的运行结果是__12345____。
publicclassMyClass{
inta[]={1,2,3,4,5};
voidout(){
for(intj=0;j System.out.print(a[j]+""); } publicstaticvoidmain(String[]args){ MyClassmy=newMyClass(); my.out(); } } 四、简答题 1、简述Java中异常处理的机制? 答: 首先Java的异常是面向对象的。 一个Java的Exception是一个描述异常情况的对象.当出现异常情况时,一个Exception对象就产生了,并放到异常的成员函数里。 Java的异常处理是通过5个关键词来实现的: try,catch,throw,throws和finally。 1.异常处理: 在Java语言的错误处理结构由try,catch,finally三个块组成。 其中try块存放将可能发生异常的Java语言,并管理相关的异常指针;catch块紧跟在try块后面,用来激发被捕获的异常;finally块包含清除程序没有释放的资源,句柄等。 不管try块中的代码如何退出,都将执行finally块。 2.抛出异常: Java语言可以不在方法中直接捕获,而用throw语句将异常抛给上层的调用者。 Throw语句就是来明确地抛出一个异常;首先你必需得到一个Throwable的实例句柄,通过参数传到catch中,或者采用new操作符来创建一个。 2、什么是继承? 答: 通过必要的说明能够实现某个类无需重新定义就拥有另一个类的某些属性和方法,并把这种关系称为继承,先定义的类称为父类,后定义的类称为子类,并且允许多层的继承关系。 3、请简述重载和重写的区别? 答: 方法的重写Overriding和重载Overloading是Java多态性的不同表现。 重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。 如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。 子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。 如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。 Overloaded的方法是可以改变返回值的类型。 五、程序设计题 1、按以下要求编写程序 (1)创建一个Rectangle类,添加width和height两个成员变量 (2)在Rectangle中添加两种方法分别计算矩形的周长和面积 (3)编程利用Rectangle输出一个矩形的周长和面积 解答: publicclassRectangle{ floatwidth,height; publicRectangle(floatwidth,floatheight){ this.width=width; this.height=height; } publicfloatgetLength(){ return(this.width+this.height)*2; } publicfloatgetArea(){ returnthis.width*this.height; } publicstaticvoidmain(String[]args){ Rectanglerect=newRectangle(10,20); System.out.println("周长是: "+rect.getLength()); System.out.println("面积是: "+rect.getArea()); } } 2、按以下要求编写程序 (1)编写Animal接口,接口中声明run()方法 (2)定义Bird类和Fish类实现Animal接口 (3)编写Bird类和Fish类的测试程序,并调用其中的run()方法 解答: publicinterfaceAnimal{ voidrun(); } classBirdimplementsAnimal{ publicvoidrun(){ System.out.println("鸟儿在飞..."); } } classFishimplementsAnimal{ publicvoidrun(){ System.out.println("鱼儿在游..."); } } publicclassTestAnimal{ publicstaticvoidmain(String[]args){ Birdbird=newBird(); bird.run(); Fishfish=newFish(); fish.run(); } } 《JAVA语言程序设计》期末考试试题及答案5 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是()。 A)IOExceptionB)RuntimeException C)InterruptedExceptionD)ClassNotFoundException 2、下面的程序段的功能是()。 Filefile1=newFile("d: \\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录: \xxx\yyy\zzzB)生成目录: e: \xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzzD)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是()。 Strings="xxxxxxxxxxxxxxx#123#456#zzzzz"; intn=s.indexOf("#"); intk=s.indexOf("#",n+1); Strings2=s.substring(n+1,k); System.out.println(s2); A)B)123C)xxxxxxxxxxxxxxxD)zzzzz 4、关于下面的程序Test.java说法正确的是()。 publicclassTest{ Stringx="1"; inty; publicstaticvoidmain(Stringargs[]){ intz=2; System.out.println(x+y+z); } } A)3B)102C)12D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是()。 intb[][]={{1,1,1},{2,2},{3}}; intsum=0; for(inti=0;i for(intj=0;j sum+=b[i][j]; } } System.out.println("sum="+sum); A)10B)6C)9D)13 6、应用程序的main方法中有以下语句,则执行后输出的结果是()。 int[]x={125,21,5,168,98}; intmin=x[0]; for(inti=1;i if(x[i] min=x[i]; } System.out.println(min); A)125B)5C)98D)168 7、应用程序的main方法中有以下语句,则输出的结果是()。 Hashtablehashtable=newHashtable(); hashtable.put("100","aaa"); hashtable.put("200","bbb"); hashtable.put("300","ccc"); System.out.println(hashtable.get("300").toString() +hashtable.get("200").toString() +hashtable.get("100").toString()); A)aaaB)bbbC)cccD)cccbbbaaa 8、以下关于java异常说法不正确的是()。 A)Throwable类是Java语言中Error类和Exception类的父类。 B)当异常对象是Exception类(或其子类)的实例时,能通过Java虚拟机或者throw语句抛出该异常对象,并能通过try…catch…finally处理。 C)如果只用一个catch块捕捉多个异常对象,则catch子句中的参数类型应是所有异常对象的父类。 D)以上说法都不对。 9、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt的内容是()。 importjava.io.*; publicclassTest{ publicstaticvoidmain(Stringargs[]){ try{ Strings="ABCDE"; byteb[]=s.getBytes(); FileOutputStreamfile=newFileOutputStream("test.txt",true); file.write(b); file.close(); } catch(IOExceptione){ System.out.println(e.toString()); } } } A)ABCABCB)ABCDEC)TestD)ABCDEABCDEABCDE 10、下面说法不正确的是()? A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。 B)List接口是可以包含重复元素的有序集合。 C)Set接口是不包含重复元素的集合。 D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。 二、多选题 1、下面哪些关键字能用来控制对类成员的访问()? A)publicB)protectedC)privateD)default2、下面关于Java中异常处理try块的说法正确的是()? A)try块后通常应有一个catch块,用来处理try块中抛出的异常。 B)catch块后必须有finally块。 C)可能抛出异常的方法调用应放在try块中。 D)对抛出的异常的处理必须放在try块中 3、线程对象的生命周期中,通常经历下面哪些状态()。 A)新建B)运行C)就绪D)死亡 4、定义如下的二维数组b,下面的说法正确的是()。 intb[][]={{1,2,3},{4,5},{6,7,8}}}; A)b.length的值是3。 B)b[1].length的值是3。 C)b[1][1]的值是5。 D)二维数组b的第一行有3个元素 5、类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中正确的是()。 A)Bx1=newB();B)Bx1=newC(); C)Cx1=newC();D)Cx1=newB(); 6、下面关于进程、线程的说法正确的是()。 A)进程是程序的一次动态执行过程。 一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。 B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。 线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。 C)Java多线程的运行与平台相关。 D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。 对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。 7、下面关于外部类和内部类成员的相互访问的规则中,正确的选项是()。 A)内部类可以直接访问外部类的成员 B)外部类可以直接访问内部类的成员 C)外部类不能访问内部类的成员 D)外部类可通过创建内部类的实例来访问内部类的成员 三、程序阅读题 1、阅读下面的程序代码,并回答问题(问3分,问3分,共6分)。 Strings1=newString("abcde"); Strings2=newString("abcde"); booleanb1=s1.equals(s2); booleanb2=s1==s2; System.out.print(b1+""+b2); 程序段执行后,在命令行的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 期末 实用 复习题 高分 秘籍