《Java语言程序设计基础教程》习题解答.docx
- 文档编号:24991876
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:28
- 大小:34.29KB
《Java语言程序设计基础教程》习题解答.docx
《《Java语言程序设计基础教程》习题解答.docx》由会员分享,可在线阅读,更多相关《《Java语言程序设计基础教程》习题解答.docx(28页珍藏版)》请在冰豆网上搜索。
《Java语言程序设计基础教程》习题解答
《Java语言程序设计基础教程》
练习思考题参考答案
第1章Java程序设计概述
1.9练习思考题
1、ﻩJava运行平台包括三个版本,请选择正确的三项:
()
A.J2EEﻩﻩﻩﻩﻩB.J2ME
C.J2SE ﻩ D.J2E
解答:
A,B,C
2、JavaJDK中反编译工具是:
( )
A. javacﻩﻩB.java
ﻩC.jdbﻩﻩ ﻩD.javap
解答:
D
3、ﻩpublicstatic voidmain方法的参数描述是:
( )
A. String args[]ﻩﻩﻩB. String[]args
C.Strings args[]ﻩﻩD. Stringargs
解答:
A,B
4、在Java中,关于CLASSPATH环境变量的说法不正确的是:
()
A.CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。
B.编译器用它来搜索各自的类文件。
C.CLASSPATH是一个目录列表。
D.解释器用它来搜索各自的类文件。
解答:
A
5、 编译JavaApplication源文件将产生相应的字节码文件,扩展名为( )
ﻩA..javaﻩﻩﻩﻩﻩﻩB. .class
C..htmlﻩﻩ D..exe
解答:
B
6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。
7、 如果一个JavaApplet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。
8、 如果一个JavaApplet程序文件中定义有3个类,则使用Sun公司的JDK编译器 编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。
9、 开发与运行Java程序需要经过哪些主要步骤和过程?
10、Java程序是由什么组成的?
一个程序中必须要有public类吗?
Java源文件的命名规则是怎么样的?
11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:
“你好,很高兴学习Java”和“Wearestudents”。
第2章 Java基本的程序设计结构
2.7练习思考题
1、从下面选项中,选择三个有效的标示符:
()
A. IDoLikeTheLongNameClass B.$byte
C.constﻩﻩﻩﻩﻩD. _ok
E.3_case
解答:
A,B,D
2、下面哪一项在java中是非法的标识符?
( )
A.$userﻩﻩ
B.point
C.You&me
D._endline
解答:
C
3、下列不属于Java保留字的是:
( )
A.sizeof
B. super
C.abstract
D.break
解答:
A
4、下面哪些java语句会导致无限循环?
( )
I、while(true)i= 0;
II、while(false)i =1;
III、ﻩwhile (!
false)i= 0;
A、仅仅III
B、I和III
C、仅仅I
D、I,II和III
解答:
B
5、下列整型数据类型中,需要内存空间最少的是( )。
A. shortﻩﻩB.long
C.int ﻩD.byte
解答:
D
6、下面代码执行后,正确的输出结果是:
( )
publicclassExample{
publicstaticvoidmain(Stringargs[]){
int l= 0;
do{
ﻩSystem.out.println("Doingitforlis:
"+l);
ﻩ}while(--l> 0);
System.out.println("Finish");
ﻩ}
}
A. Doingitforl is 3
B.Doing itforlis1
C. Doingit forlis2
D.Doingit forlis0
E.Doingitfor lis ?
C1
F. Finish
解答:
D,F
7、若有定义inta=1,b=2;那么表达式(a++)+(++b) 的值是:
( )
A. 3ﻩﻩB.4
C. 5ﻩD.6
解答:
B
8、若有定义 inta=9,b=6;那么a>b的值是:
()
A.0ﻩﻩﻩﻩﻩB. 1
C. falseﻩﻩﻩD.true
解答:
D
9、假定有变量定义:
intk=7,x=12; 那么能使值为3的表达式是:
( )
A.x%=(k%=5)ﻩB. x%=(k-k%5)
C.x%=k-k%5ﻩﻩﻩD. (x%=k)-(k%=5)
解答:
D
10、执行完以下代码int[ ] x=newint[25];后,以下说明正确的是:
( )
A. x[24]为0ﻩﻩﻩB. x[24]未定义ﻩ
C. x[25]为0ﻩﻩﻩD.x[0]为空
解答:
A
11、Java应用程序的main方法中有以下语句,则输出的结果是( )。
int[]x={2,3,-8,7,9};
int max=x[0];
for(inti=1;i<x.length;i++){
if(x[i]>max)
max=x[i];
}
System.out.println(max);
A.2ﻩﻩﻩB.-8ﻩ
C.7ﻩﻩﻩﻩD.9
解答:
D
12、设x=1 , y=2,z=3,则表达式y+=z--/++x的值是()
A. 3ﻩﻩﻩﻩB.3.5
C.4ﻩﻩﻩD. 5
解答:
A
13、有整型数组:
int[] x={2,33,88,5,10};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是?
()
A.88ﻩ33ﻩ105ﻩ2
B.25ﻩ10ﻩ33ﻩ88
ﻩC.88ﻩ102335
ﻩD.5ﻩ33ﻩ2ﻩ10ﻩ88
ﻩ解答:
B
14、下列语句有错误的是:
( )
A. int[]a; ﻩB.int[]b=newint[10];
C.intc[]=newint[];ﻩD.int d[]=null;
ﻩ解答:
C
15、下列语句有错误的是:
( )
A.inta[][]=newint[5][5];ﻩB.int[][]b=newint[5][5];
C.int[]c[]=newint[5][5];ﻩD.int[][]d=newint[5,5];
解答:
D
16、关于下面的程序,正确的结论是______。
public classex4_7{
publicstaticvoidmain(String args[]){
inta[]=newint[5];
booleanb[]=newboolean[5];
System.out.print(a[1]);
System.out.println(b[2]);
}
}
A. 运行结果为0falseﻩﻩB.运行结果为1true
C.程序无法通过编译 ﻩD.可以通过编译但结果不确定
解答:
A
17、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用______字节内存空间,这样,无论是中文字符还是英文字符,都是占用______字节内存空间。
18、设x= 2,则表达式(x++)/3 的值是______。
19、若x=5,y =10,则x < y和x>=y的逻辑值分别为______和______。
20、设有数组定义:
intMyIntArray[]={10,20, 30,40,50,60, 70};
则执行以下几个语句后的输出结果是:
。
ﻩint MyIntArray[]={10,20, 30,40, 50,60, 70};
ﻩint s=0;
ﻩfor(int i=0; i ﻩif (i% 2==1) ﻩﻩs +=MyIntArray[i]; ﻩSystem.out.println(s); 21、数组对象的长度在数组对象创建之后,就______改变。 数组元素的下标总是从______开始。 22、对于数组int[][]t={{1,2,3},{4,5,6}}来说,t.length等于______,t[0].length等于______。 23、已知数组a的定义为“inta[]={1,2,3,4,5};”,则a[2]=______,数组b的定义为“intb[]=newint[5];”,则b[2]=______,数组c的定义为“Object[]c=newObject[5];”,则c[2]=______。 24、调用数组元素时,用______和______来唯一确定数组中的元素。 25、什么是数组? 数组有哪些特点? Java中创建数组需要哪些步骤? 如何访问数组的第一个元素? 26、编程计算10~20的整数的平方值,将结果保存在一个数组中。 27、编写一个程序使之从键盘读入10个整数存入整型数组a中,然后逆序输出这10个整数。 28、某人有5张3分和4张5分的邮票,请编写一个程序,计算由这些邮票中的1张或若干张可以得到多少种不同的邮资。 29、分析写出下列程序完成的功能。 publicclasssun { publicstatic void main(Stringargs[]){ doublesum=0.0; for(inti=1;i<= 100;i++) ﻩsum+=1.0/(double)i; ﻩSystem.out.println("sum="+ sum); ﻩ} } 30、编写一个字符界面的JavaApplication程序,接受用户输入的10个整数,并输出这10个整数的最大值和最小值。 31、如果我国经济以每年10%的速度保持稳定增长,请编写一个程序,计算每年达到多少,多少年可以实现总量翻两番。 classexA4_1{ public staticvoid main(Stringargs[]){ int a=0; double i=0.10,sum=1; while(sum<=4){ sum=(i+1)*sum; a++; System.out.println("第"+a+"年达到"+sum); } System.out.println("需要"+a+"年实现两番"); } } 第3章类和对象 3.9练习思考题 1、下列关于变量的叙述哪个是错的? ( ) A. 实例变量是类的成员变量。 B.在方法中定义的局部变量在该方法被执行时创建。 C.实例变量用关键字static声明。 D.局部变量在使用前必须被初始化。 解答: C 2、在Java语言中,下列哪个包是编译器自动导入的? () A.java.appletﻩﻩB.java.lang C.java.ioﻩﻩD.java.awt 解答: B 3、当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为( )。 ﻩﻩA. privateﻩﻩB. protected C.friendlyﻩﻩﻩD.public 解答: C 4、 下面哪个关键字不是用来控制对类成员的访问的? ( ) A.publicﻩB.protectedﻩ C. defaultD.private 解答: C 5、下面哪一个特性不是面向对象编程主要体现的()。 A. 封装性ﻩﻩB.继承 C. 多态ﻩﻩD.类 解答: C 6、 不允许作为类及类成员的访问控制符的是()。 A. publicﻩB.private C. staticﻩﻩﻩD.protected 解答: C 7、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 A、 staticvoid method()ﻩB、 publicvoidmethod() C、final void method( )ﻩD、abstract void method() 解答: A 8、可以在下面代码段pointx处写入的是? ( ) //pointx publicclassInteresting{ //dosomething } A.Stringstr; B.static intPI=3.14; C.ﻩpublic classMyClass{//dootherthing…} D.ﻩimportjava.awt.*; 解答: D 9、 下列关于变量的叙述哪个是错的? ( ) A、实例变量是类的成员变量。 B、在方法中定义的局部变量在该方法被执行时创建。 C、实例变量用关键字static声明。 D、局部变量在使用前必须被初始化。 解答: C 10、下列哪个类声明是正确的? ( ) A、abstract final classHI{} B、abstractprivatemove(){} C、protectedprivatenumber; D、publicabstractclass Car{} 解答: D 11、已知A类被打包在packageA,B类被打包在packageB,且B类被声明为public,且有一个成员变量x被声明为protected控制方式。 C类也位于packageA包,且继承了B类。 则以下说法正确的是: ( ) A、A类的实例不能访问到B类的实例 B、A类的实例能够访问到B类一个实例的x成员 C、C类的实例可以访问到B类一个实例的x成员 D、C类的实例不能访问到B类的实例 解答: C 12、下列命题为真的是: () A、所有类都必须定义一个构造函数。 B、构造函数必须有返回值。 C、构造函数可以访问类的非静态成员。 D、构造函数必须初始化类的所有数据成员。 解答: C 13、在Java中,关于final关键字的说法正确的是( ) A、如果修饰变量,则一旦赋了值,就等同一个常量。 B、如果修饰类,则该类只能被一个子类继承。 C、如果修饰方法,则该方法不能在子类中被覆盖。 D、如果修饰方法,则该方法所在的类不能被继承。 解答: A,C 14、在Java中,下面关于包的陈述中正确的是( ) A、包的声明必须是源文件的第一句代码。 B、包的声明必须紧跟在import语句的后面。 C、只有公共类才能放在包中。 D、可以将多个源文件中的类放在同一个包中。 解答: A,D 15、______方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 ______方法是不能被当前类的子类重新定义的方法。 16、什么叫方法的重载? 构造方法可以重载么? 17、简述实例变量和类变量的区别。 第4章继承、接口和内部类 4.5练习思考题 1、Java中用于定义接口的关键字是( ) A、importﻩB、package C、classﻩD、interface 解答: D 2、以下关于abstract的说法,正确的是( ) A、abstract只能修饰类 B、abstract只能修饰方法 C、abstract类中必须有abstract方法 D、abstarct方法所在的类必须用abstract修饰 解答: D 3、 下列哪种说法是正确的( ) A、私有方法不能被子类覆盖。 B、子类可以覆盖超类中的任何方法。 C、覆盖方法可以声明自己抛出的异常多于那个被覆盖的方法。 D、覆盖方法中的参数清单必须是被覆盖方法参数清单的子集。 解答: A 4、关于类继承的说法,正确的是() A、Java类允许多重继承 B、Java接口允许多继承 C、接口和类都允许多继承 D、接口和类都不允许多继承 解答: B 5、关于抽象类,正确的是______。 A.抽象类中不可以有非抽象方法 B.某个非抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法 C.不能用抽象类去创建对象 D. 接口和抽象类是同一个概念 解答: B 6、 下列哪个类是由编译器自动生成对象的特殊类,是用于类操作? () A、Class类 B、Thread类 C、System类 D、Object类 解答: A 7、下面关于继承的哪些叙述是正确的。 ( ) A、在java中只允许单一继承。 B、在java中一个类只能实现一个接口。 C、在java中一个类不能同时继承一个类和实现一个接口。 D、java的单一继承使代码更可靠。 解答: A,D 8、抽象类A和抽象类B的定义如下: abstractclassex4_5_10_A { abstractintgetinfo(); } publicclassex4_5_10 extends ex4_5_10_A{ privateinta= 0; ﻩpublicintgetinfo(){ ﻩreturna; ﻩ} ﻩpublicstaticvoid main(Stringargs[]) { ﻩex4_5_10 b=new ex4_5_10(); ﻩﻩSystem.out.println(b.getinfo()); ﻩ} } 关于上述代码说明正确的是( )。 A.输出结果为0 ﻩB.通过编译但没有输出任何结果 C. 第5行不能通过编译ﻩD. 程序第2行不能通过编译 解答: A 9、ﻩ下面程序的运行结果是______ classex4_5_11_A { protectedstatic intcount=0; ﻩpublicex4_5_11_A() { count++; ﻩ} } class ex4_5_11_Bextendsex4_5_11_A { ﻩpublicex4_5_11_B(){ ﻩﻩcount++; ﻩ} } classex4_5_11 { publicstaticvoidmain(Stringargs[]) { ﻩﻩex4_5_11_Bx= newex4_5_11_B(); System.out.println("count="+x.count); } } A.count=1ﻩﻩﻩB. count=2 C.count=3ﻩﻩﻩD.count=4 解答: B 10、设有下面两个类的定义: classPerson {ﻩlongid;//身份证号 Stringname;//姓名 } classStudent extendsPerson {ﻩintscore;//入学总分 intgetScore(){ return score; } } ﻩ问: 类Person和类Student的关系是( ) A、包含关系ﻩﻩB、继承关系 C、关联关系ﻩﻩD、无关系,上述类定义有语法错误 解答: B 10、对于接口的实现,不可以构造一个接口对象,但可以声明一个接口______。 11、在Java语言中所有的类都是直接或间接地继承______类而得到的。 12、在Java中一个父类可以有______个子类,一个类只能有______个直接父类。 13、什么是继承? 什么是多重继承和单继承? Java采用何种机制来实现多重继承? 14、什么是隐藏? 什么是重写? 二者有何区别? 15、子类会继承父类的所有方法和属性么? 16、设计一个Student类,以一维数组存储一个班级的学生信息。 要求: ﻩ1)将Student设计成一个接口 2)自定义一个包来管理所设计的类 17、定义一个接口,该接口中只有一个抽象方法getClassName()。 设计一个类Horse,该类实现接口ClassName中的方法getClassName(),功能是获取该类的类名。 基础开发篇 第5章 JavaAPI 5.9练习思考题 1、阅读下列代码后,正确的说法是( ) publicclassPerson{ ﻩstaticintarr[]=newint[10]; ﻩpublicstaticvoid main(Stringargs[]){ ﻩﻩSystem.out.println(arr[1]); ﻩ} } A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零ﻩﻩﻩD、输出空 解答: C 2、仔细分析下面程序,正确的输出结果是( ) publicclassTest1{ ﻩpublic staticvoid changeStr(Stringstr) { ﻩstr ="welcome"; } publicstaticvoidmain(String[]args){ ﻩStringstr= "1234"; ﻩﻩchangeStr(str); ﻩSystem.out.println(str); } } A、welcomeB、welcome1234 C、1234ﻩﻩD、1234welcome 解答: C 3、 Java语言中的一些常用的实用工具,如处理时间的Date类,处理变长数组的Vector类等,所在的包是( )。 A、java.lang包ﻩﻩﻩB、java.io包 C、java.awt包ﻩﻩﻩD、java.util包 解答: D 4、下面代码执行后,正确的输出结果是: () Strings1="Youarehired! "; System.out.println(s1.replace('h','f'));//用f把字串中的h替换了 System.out.println(s1); A.ﻩYou arefired! ﻩﻩB.Youarefired! Youare hired! ﻩﻩYou arefired! C.Youarehired! ﻩﻩD. ﻩYouare hired! Youarehired! ﻩ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言程序设计基础教程 Java 语言程序设计 基础教程 习题 解答