自学考试java程序设计一教材 课后习题答案.docx
- 文档编号:24544693
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:48
- 大小:46.59KB
自学考试java程序设计一教材 课后习题答案.docx
《自学考试java程序设计一教材 课后习题答案.docx》由会员分享,可在线阅读,更多相关《自学考试java程序设计一教材 课后习题答案.docx(48页珍藏版)》请在冰豆网上搜索。
自学考试java程序设计一教材课后习题答案
一、Java语言概述
1.Java语言有哪些特点?
2.什么叫做类?
什么叫做对象?
3.简述Java的运行机制。
4.简述Java应用程序的开发流程。
5.当初Sun公司发展Java的原因是:
来源:
(a)要发展航空仿真软件
(b)要发展人工智能软件
(c)要发展消费性电子产品
6.Java是从哪种语言改进并重新设计?
(a)Ade来源:
(b)C++
(c)Pascal
7.Java因为什么快速发展而走红?
(a)个人计算机与网络
(b)游戏软件
(c)系统软件
8.Java程序的种类有:
(a)内嵌于Web文件中,由浏览器来观看的__________
(b)可独立运行的__________考试大论坛
(c)服务器端的_________
9.Java是面向对象语言,对象是客观事物的,对象与之是一一对应的,它是很具体的概念。
10.判断:
用Javac编译Java源文件后得到代码叫字节码。
()
参考答案
1.答:
面向对象、简单、平台无关性、安全性、内存管理、分布式应用、多线程、动态、解释运行,高效能
2.答:
在面向对象编程中,具体的客观实体称为对象,对象就是数据加方法。
对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类。
类是对具有相同属性和方法的一组相似对象的抽象,或者说类是对象的模板。
来源:
考试大
3.答:
Java程序的运行必须经过编写、编译、运行三个步骤。
编写是指在Java开发环境中进行程序代码的输入过程,最终形成后缀名为.java源文件。
编译是指使用Java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。
运行是指使用Java解释器将字节码文件翻译成机器代码,在cpu上运行并显示结果的过程。
这一过程如图所示。
考试大-全国最大教育类网站(www.Examda。
com)
4.Java应用程序的运行经过编写、编译、运行三个步骤。
第1步,编写程序。
使用记事本或其他软件编写程序的源代码,将源代码保存为文件filename.java文件。
第2步,编译程序。
在MS-DOS命令窗口,将当前目录转换到Java源程序所在的保存目录;输入“javame.java”形式的命令进行程序编译。
第3步,执行程序。
在同样的命令窗口中输入“javame”形式的命令执行程序。
来源:
考试大
完成了程序的开发,查看相应t目录,其中应该具有两个文件,分别是XXXX.java和XXXX.class。
考试大收集整理
5.c
6.b来源:
考试大
7.a
8.AppletApplicationServlets
9.软件模型
10.true二、数据类型和流程控制
1.现有语句:
Strings="Example";则下面哪些语句是合法语句?
A.s>>>=3;B.s[3]="x";
C.inti=s.length();D.Stringt="For"+s;
E.s=s+10;
2.下面哪些是保留字?
来源:
考试大
A.runB.defaultC.implementD.import
3.下面声明float变量的语句合法的有:
A.floatfoo=-1;B.floatfoo=1.0;
C.floatfoo=42e1;D.floatfoo=2.02f;
E.floatfoo=3.03d;F.floatfoo=0x0123;
4.下面方法中的“返回类型无效”应该是什么?
publicclassReturnIt{来源:
考试大
return无效methodA(bytex,doubley){
return(short)x/y*2;
}
}
5.以下哪两个表达式是等价的:
A.3/2B.3<2C.3*4
D.3<<2E.3*2^2F.3<<<2
6.指出正确的表达式
A、byte=128;来源:
考试大
B、Boolean=null;
C、longl=0xfffL;
D、double=0.9239d;
7.分析下列程序的执行结果:
(1)publicclassTest{
publicstaticvoidmain(Stringargs[]){
inti=oxFFFFFFF1;
intj=~i;
System.out.println("j="+j);
}
}
(2)publicclassTest{
publicstaticvoidmain(String[]args){来源:
考试大
System.out.println(6^3);
}
}
(3)publicclassFooBar{
publicstaticvoidmain(String[]args){
inti=0,j=5;
tp:
for(;;i++){
for(;;--j)
if(i>j)
breaktp;
}
System.out.println("i="+i+",j="+j);来源:
考试大
}
}
(4)publicclassTest{
publicstaticvoidmain(){
inti=1,j=10;
do{
if(i++>--j)
continue;
}while(i<5);
System.out.println("i="+i+"j="+j);
}
}
(5)classValue{
publicinti=15;
}考试大论坛
publicclassTest{
publicstaticvoidmain(Stringargv[]){
Testt=newTest();
t.first();
}
publicvoidfirst(){
inti=5;
Valuev=newValue();
v.i=25;
second(v,i);
System.out.println(v.i);
}
publicvoidsecond(Valuev,inti){
i=0;
v.i=20;
Valueval=newValue();来源:
考试大的美女编辑们
v=val;
System.out.println(v.i+""+i);
}
}
8.选出合理的标识符
A、_sys1_lll
B、2mail
C、$change
D、class来源:
考试大的美女编辑们
9.判断:
一个方法最多能有一个return语句()
10.Java语言中一个Char类型的数据占用2个字节大小的内存空间()
参考答案
1.cde
2.b,d
3.a,d,f
4.double来源:
5.c,d
6.d
7.
(1)c
(2)5(3)i=0,j=-1
(4)i=5j=6(5)15020
8.ac
9.true
10.ture三、类与对象
1.什么叫引用类型,对象是引用类型吗?
2.什么是类成员,什么是实例成员?
他们之间有什么区别?
3.判断:
数组、类和接口都是引用数据类型()
4.判断:
类A和类B位于同一个包中,则除了私有成员,类A可以访问类B的所有其他成员()
5.下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的()
A、publicB、privateC、staticD、final采集者退散
6.下面关于java中类的说法哪个是不正确的()
A、类体中只能有变量定义和成员方法的定义,不能有其他语句。
B、构造函数是类中的特殊方法。
C、类一定要声明为public的,才可以执行。
采集者退散
D、一个java文件中可以有多个class定义。
7.下列哪个类声明是正确的()
AabstractfinalclassH1{…}
Babstractprivatemove(){…}
Cprotectedprivatenumber;
DpublicabstractclassCar{…}
8.下述哪些说法是正确的?
(多选)
A、实例变量是类的成员变量来源:
考试大的美女编辑们
B、实例变量是用static关键字声明的
C、方法变量在方法执行时创建
D、方法变量在使用之前必须初始化
9.设计一个动物类,它包含动物的基本属性。
例如名称、大小、重量等,并设计相应的动作,例如跑、跳、走等。
10.设计一个长方形类,成员变量包括长和宽。
类中有计算面积和周长的方法,并有相应的set方法和get方法设置和获得长和宽。
编写测试类测试是否达到预定功能。
要求使用自定义的包。
参考答案
1.答:
引用类型是指该类型的标识符表示的是一片内存连续地址的首地址。
对象是引用类型。
来源:
考试大
2.答:
Java中使用static修饰的变量和方法称为类变量(或称静态变量)和类方法(或称静态方法),没用static修饰符的变量和方法称为实例变量和实例方法。
类成员是指该成员属于这个类,由这个类所创建的所有对象共同拥有,该成员仅在类的存储单元中存在,这个类所创建的所有对象中仅存储一个指向该成员的引用。
任何一个该类的对象改变了类成员,其他对象同样会发生改变。
对于类成员既可以使用对象访问,也可以使用类名直接进行访问,并且在类方法中只能访问类变量,而不能访问实例变量。
考试大-全国最大教育类网站(www.Examda。
com)
实例成员是指该成员由每一个对象个体独有,对象的存储空间中的确有一块空间用来存储该成员,不同对象的实例成员不同,任何一个对象改变了实例成员,只会影响这个对象本身,其他对象中的实例成员不会发生改变。
对于实例成员只能通过对象来访问,不能通过类名进行访问,在实例方法中既可以访问实例变量,也可以访问类变量。
考试大收集整理
3.true
4.true
5.C
6.C
7.D来源:
考试大
8.ACD
9.答:
publicclassAnimal{
privateStringname;
privatedoubleweight;
privateintlength;
privateStringsex;
publicvoidrun(){
System.out.println("theanimalisrunning!
");来源:
考试大
}
publicvoidjump(){
System.out.println("theanimalisjumping!
");
}
publicvoidwalk(){
System.out.println("theanimaliswalking!
");
}
}
10.答:
packagemypackage.math;
classRectangle{来源:
privateintlength;
privateintwidth;
publicRectangle(intlength,intwidth){
this.length=length;
this.width=width;
}
publicvoidset(intlength,intwidth){
this.length=length;
this.width=width;
}
publicvoidget(){
System.out.println("此长方形的长为"+length+"宽为"+width);采集者退散
}
publicintgetLength(){
returnlength;
}
publicintgetWidth(){
returnwidth;
}
publicintcalculatePerimeter(){考试大论坛
return2*(length+width);
}
publicintcalculateArea(){
return(length*width);
}
publicvoidprint(){
System.out.println("此长方形的周长为"+calculatePerimeter()+"面积为"+calculateArea());
}
}
classTest{
publicstaticvoidmain(String[]args){
Rectanglemyrectangle=newRectangle(15,10);
myrectangle.get();
myrectangle.print();
myrectangle.set(20,15);
System.out.println("长方形的长是"+myrectangle.getLength()+"宽是"+myrectangle.getWidth());
myrectangle.print();
}
}四、方法与构造函数
1.Java的访问限定修饰符有几种,各自的访问权限是什么?
2.如何创建自己的包,如何引入包?
3.下面哪一个是类Myclass的构造函数?
classMyclass{www.Examda.CoM考试就到考试大
publicvoidMyclass(){}
publicstaticMyclass(){}
publicMyclass(){}
publicstaticvoidMyclass(){}
}来源:
4.判断:
类体中private修饰的变量在本类中能访问,类生成的对象也能访问。
()
5.判断:
一个类中,只能拥有一个构造器方法。
()
6.Java中类成员的限定词有以下几种:
private,public,________,________。
其中,________的限定的范围最大。
7、被关键字__________修饰的方法是不能被当前类的子类重新定义的方法来源:
8.设计Point类用来定义平面上的一个点,用构造函数传递坐标位置。
编写测试类,在该类中实现Point类的对象。
9.编写程序说明静态成员和实例成员的区别。
10.设计雇员Employee类,记录雇员的情况,包括姓名、年薪、受雇时间,要求定义MyDate类作为受雇时间,其中包括工作的年、月、日,并用相应的方法对Employee类进行设置。
编写测试类测试Employee类。
要求使用自己的包。
参考答案
1.答:
Java的访问限定修饰符有4种,分别使public、protected、private和默认修饰符。
用public修饰的类或成员拥有公共作用域,表明此类或类的成员可以被任何Java中的类所访问,是最广泛的作用范围。
用protected修饰的变量或方法拥有受保护作用域,可以被同一个包中所有的类及其他包中该类的子类所访问。
用private修饰的变量或方法拥有私有作用域,只能在此类中访问,在其他类中,包括该类的子类也是不允许访问的,private是最保守的作用范围。
没有任何修饰符拥有默认访问权限(友好访问权限),表明此类或类的成员可以被同一个包中的其它类访问本文来源:
考试大网
2.答:
创建自己的包只要将package语句作为Java源文件的第一句就可以了。
例
packagemyPackage;声明创建了一个名为myPackage的包。
采集者退散
Java使用import语句来引入包及其中的类。
例如importmyPackage.*;就引入了myPackage包中所有的类。
3.答:
publicMyclass(){}是类Myclass的构造函数。
考试大收集整理
4.false
5.false
6.friendly、protected、public
7.Private
8.答:
classPoint
{intx,y;
Point(inta,intb)
{x=a;
y=b;
}
}
publicclassA
{publicstaticvoidmain(String[]args)
{Pointp1,p2;
p1=newPoint(10,10);
p2=newPoint(23,35);
}
}
9.答:
classStaticTest{
inti=5;
staticintj=5;
voidprint(){
System.out.println("i="+i);
System.out.println("j="+j);
}
staticvoidclassprint(){
//System.out.println("i="+i);
System.out.println("j="+j);
}
}
classTest{
publicstaticvoidmain(String[]args){
//System.out.println(StaticTest.i);
System.out.println(StaticTest.j);
//StaticTest.print();
StaticTest.classprint();
StaticTestst=newStaticTest();
System.out.println(st.j);
System.out.println(st.j);
st.print();
st.classprint();
}
}
10.答:
packagemypackage.employee;
classMyDate{
privateintyear;
privateintmonth;
privateintday;
publicMyDate(intyear,intmonth,intday){
this.year=year;
this.month=month;
this.day=day;
}
publicintgetYear(){
returnyear;
}
}
publicclassEmployee{
privateStringname;
privatedoublesalary;
privateMyDatehireDay;
publicEmployee(Stringname,doublesalary,MyDateday){
this.name=name;
this.salary=salary;
hireDay=day;
}
publicvoidprint(){
System.out.println(name+""+salary+""+hireYear());
}
publicinthireYear(){
returnhireDay.getYear();
}
}
classTestEmployee{
publicstaticvoidmain(String[]args){
Employeea=newEmployee("李明",20000,newMyDate(2000,10,1));
Employeeb=newEmployee("王强",24000,newMyDate(1995,8,12));
a.print();
b.print();
}
} 五、类的继承
l.什么是继承?
什么是父类?
什么是子类?
继承的特性可给面向对象编程带来什么好处?
什么是单重继承?
什么是多重继承?
2.观察下面的程序片断,指出其中的父类和子类,以及父类和子类的各个域和方法。
classSuperClass采集者退散
{
intdata;
voidsetData(intnewData)
{
data=newData~
}
intgetData()
{
returndata~
}
}
classSubClassextendsSuperClass
{
intsuhData;
voidsetSubData(intnewData)
{
suhData=newData;
}
intgetData()
{
returnsubData;本文来源:
考试大网
}
}
3.“子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否正确?
为什么?
4.在Java程序中,通过类的定义只能实现单重继承()
5.下列哪些说法是正确的?
A、Java语言只允许单一继承本文来源:
考试大网
B、Java语言只允许实现一个接口
C、Java语言不允许同时继承一个类并实现一个接口
D、Java语言的单一继承使得代码更加可靠
6.Java中所有类都是类________的子类。
7. 请写出下面程序的运行结果。
publicclassTestextendsTT{考试大-全国最大教育类网站(www.Examda。
com)
publicvoidmain(Stringargs[]){
Testt=newTest("Tom");
}
publicTest(Strings){
su
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自学考试java程序设计一教材 课后习题答案 自学考试 java 程序设计 教材 课后 习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)