12信一Java期末考试复习试题 含答案Word文档下载推荐.docx
《12信一Java期末考试复习试题 含答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《12信一Java期末考试复习试题 含答案Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
A)x>
y||x>
zB)x!
=y
C)z>
(y+x)D)x<
y&
!
(x<
z)
8.下列语句序列执行后,i的值是(D)。
inti=16;
do{i/=2;
}while(i>
3);
A)16B)8C)4D)2
9.以下由for语句构成的循环执行的次数是(B)。
for(inti=0;
true;
i++);
A)有语法错,不能执行B)无限次
C)执行1次D)一次也不执行
10.下列类定义中,不正确的是(C)。
A)classx{....}
B)classxextendsy{....}
C)staticclassximplementsy1,y2{....}
D)publicclassxextendsApplet{....}
11.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是(B)。
A)x(intm){...}B)voidx(intm){...}
C)x(intm,intn){...}D)x(inth,intm,intn){...}
12.用于定义类成员的访问控制权的一组关键字是(D)。
A)class,float,double,public
B)float,boolean,int,long
C)char,extends,float,double
D)public,private,protected
13.设有定义inti=123;
longj=456;
下面赋值不正确的语句是(D)。
A)j=i;
B)j=(long)i;
C)i=(int)j;
D)i=j;
14、已知如下定义:
Strings="
story"
;
下面哪个语句不是合法的(C)
A、s+="
books"
B、s=s+100;
C、intlen=s.length;
D、Stringt=s+“abc”;
15.下列方法定义中,正确的是(A)。
A)intx(){charch='
a'
return(int)ch;
}
B)voidx(){...returntrue;
C)intx(){...returntrue;
D)intx(inta,b){returna+b;
}
二、填空题(每小题2分共15题)
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、面向对象程序设计所具有的基本特征是:
___抽象性___,_封装性___,_继承性__,_多态性__
10、异常处理是由(try)、(catch)和finally块三个关键所组成的程序块。
11、以下程序段的输出结果是(三角形)
intx=5,y=6,z=4;
if(x+y>
z&
&
x+z>
z+y>
x)
System.out.println("
三角形"
);
else
不是三角形"
12、下面程序段的执行结果是(65432)
inta[]={2,3,4,5,6};
for(inti=a.length-1;
i>
=0;
i--)
System.out.print(a[i]+"
"
13.Java源程序文件编译后产生的文件称为____字节码____文件,其扩展名为___.class_______。
14.在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的__元素个数。
15.编写一个程序StringTest源文件,里面开发StringTest类,归于com.gjun包中.main函数中的核心代码为:
publicstaticvoidmain(String[]args){
Stringstr="
abcdefghaijklmna"
System.out.println("
a出现的首位置:
"
+str.indexOf('
));
a出现的最后位置:
+str.lastIndexOf('
忽略第1个a出现的位置,下1次a出现的位置:
索引为10的字符为:
+str.charAt(10));
是否包含z:
+str.contains("
z"
str字符串总长度:
+str.length());
str是否以abc作为开始字符串:
+str.startsWith("
abc"
获取从第1个a到第1个n之间(包含n)的字符序列:
+str.substring(0,15));
把str变化大写:
+str.toUpperCase());
str=str.replace('
'
A'
);
已经实现把所有小写a替换为A:
+str);
注:
“_______________”为需要进行填写的代码段落..
三、阅读程序,写出程序的输出结果(每小题4分共4题)
1.publicclassUnchecked{
publicstaticvoidmain(String[]args){
try{
method();
}catch(Exceptione){
A"
}finally{
B"
staticvoidmethod(){
wrench();
C"
}catch(ArithmeticExceptione){
D"
E"
F"
staticvoidwrench(){
thrownewNullPointerException();
}
程序的输出结果为:
E
A
B
2.publicclassMyClass{
inta[]={1,2,3,4,5};
voidout(){
for(intj=0;
a.length;
j++)
System.out.print(a[j]+"
MyClassmy=newMyClass();
my.out();
12345
3、
publicclassFather{
Stringname,address,tel;
intage;
publicFather(Stringname,intage){
this.name=name;
this.age=age;
System.out.print("
姓名:
+name);
年龄:
+age);
voidoutOther(){
家庭住址:
+address);
电话:
+tel);
classSonextendsFather{
Stringschool;
publicSon(Stringname,intage){
super(name,age);
super.out();
super.outOther();
学校:
+school);
publicstaticvoidmain(Stringargs[]){
Sonson=newSon("
狗蛋"
22);
son.address="
长沙县"
son.school="
湖南警察学院"
son.tel="
110110110"
son.out();
以下程序的输出结果:
狗蛋年龄:
22家庭住址:
长沙县电话:
110110110学校:
湖南警察学院_
4、classA{
privateintprivateVar;
A(int_privateVar){
privateVar=_privateVar;
}
booleanisEqualTo(AanotherA){
if(this.privateVar==anotherA.privateVar)
returntrue;
else
returnfalse;
publicclassB{
publicstaticvoidmain(Stringargs[]){
Aa=newA
(1);
Ab=newA
(2);
System.out.println(a.isEqualTo(b));
____false_____
四.程序改错和程序填空
1、改正下面程序段中的错误(共5处)
publicclassTest{
publicvoidmain(String[]args){//定义主方法1
booleanisValid=0;
//2
intscores[5]={65,70,69,98,86};
//3
if(isValid)then{//4
System.out.println(scores[5]);
//5
}else{
System.out.println(“Noinformation”);
2.定义一个抽象类AbstractTest,其中有一个公共的抽象方法printMsg()。
然后定义此抽象类的一个子类DefaultTest,包括的成员变量有姓名,学号,分数,且此类中包括二个构造方法。
(程序填空)
abstractclassAbstractTest{
(1)publicabstractprintMsg();
(2)classDefaultTestextendsAbstractTest
{
Stringname;
Stringid;
intscore;
//接收三个参数的构造方法
(3)DefaultTest(Stringname,Stringid,intscore)
this.name=name;
this.id=id;
this.score=score;
//接收姓名和学号二个参数的构造方法
(4)(4)DefaultTest(Stringname,Stringid)
//实现抽象方法,方法体为打印出学生的姓名与成绩
(5)publicabstractprintMsg(){
System.out.println(“姓名:
”+name+“学号:
”+score);
12.定义类ThdTest,其父类为Thread类;
并在主方法中创建一个ThdTest的对象,同时启动该线程对象。
//声明类ThdTest,其父类为Thread类
(1)ThdTestextendsThread
publicvoidrun(){
for(inti=0;
i<
10;
i++){
//输出当前线程的名字和i的值
(2)System.out.println(Thread.currentThread().getName()+””+i);
try{
//让当前线程休眠100ms
Thread.sleep(100);
(3)
}catch(Exceptione){e.printStackTrace();
publicclassDemo{
publicstaticvoidmain(String[]args){
//创建一个ThdTest的对象
ThdTestt=newThdTest();
(4)
//启动线程对象,使其进入就绪状态
(5)t.start();
五.程序设计题(每题8分共3题)
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);
周长是:
+rect.getLength());
面积是:
+rect.getArea());
2、按以下要求编写程序
(1)编写Animal接口,接口中声明run()方法
(2)定义Bird类和Fish类实现Animal接口
(3)编写Bird类和Fish类的测试程序,并调用其中的run()方法
publicinterfaceAnimal{
voidrun();
classBirdimplementsAnimal{
publicvoidrun(){
鸟儿在飞..."
classFishimplementsAnimal{
鱼儿在游..."
publicclassTestAnimal{
Birdbird=newBird();
bird.run();
Fishfish=newFish();
fish.run();
3.题目:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
importjava.util.*;
publicclasslianxi07{
publicstaticvoidmain(String[]args){
intdigital=0;
intcharacter=0;
intother=0;
intblank=0;
char[]ch=null;
Scannersc=newScanner(System.in);
Strings=sc.nextLine();
ch=s.toCharArray();
for(inti=0;
i<
ch.length;
i++){
if(ch>
='
0'
&
ch<
9'
){
digital++;
}elseif((ch>
z'
)||ch>
'
Z'
character++;
}elseif(ch=='
blank++;
}else{
other++;
数字个数:
+digital);
英文字母个数:
+character);
空格个数:
+blank);
其他字符个数:
+other);