Java程序设计课后练习答案.docx
- 文档编号:26350770
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:57
- 大小:42.39KB
Java程序设计课后练习答案.docx
《Java程序设计课后练习答案.docx》由会员分享,可在线阅读,更多相关《Java程序设计课后练习答案.docx(57页珍藏版)》请在冰豆网上搜索。
Java程序设计课后练习答案
-----
《Java程序设计》课后练习答案
第一章Java概述一、选择题
(A)是在Dos命令提示符下编译Java程序的命令,(B)是运行Java程序的命令。
1.
A.javacjava
B.C.javadocD.javaw
(D)不是Java程序中有效的注释符号。
2.
A.//
/*B.*/
*/C./**
*/*/D.
(B)不是Java语言的特点。
3.
A.面向对象B.自动检查语法错误
C.跨平台D.解释执行Java编译器会将Java程序转换为(C)4.
A.可执行代码目标代码B.C.字节码D.机器代码Java源文件的扩展名是(D)5.A..classB..jarC.
.javD..java
二、简答题
Java的跨平台的含义是什么?
为什么Java可以跨平台?
、1
它是指用Java编写的应用程序编译Java语言的一个非常重要的特点就是平台无关性。
后不用修改就可在不同的操作系统平台上运行。
JavaJava之所以能平台无关,主要是依靠
虚拟机(JVM)来实现的。
JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一
套虚机器指令,并有自己的栈、寄存器组等。
Java编程人员在编写完Java程序后,Java编译器将Java源代码文件编译后生成字节
。
字节码文件通过Java虚拟机(JVM)里的类码文件(一种与操作系统无关的二进制文件)
加载器加载后,经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码
并最终运行。
以下图展示了Java程序从编译到最后运行的完整过程。
语言的特点简述Java、2
Java具有以下特点:
简单性、1)
Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还
舍弃了C语言中复杂的数据类型(如:
指针和结构体),因此很容易入门和掌握。
可靠性和安全性、2)
1
----
Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只
进行一次编译检查的编程语言具有更高的可靠性和安全性。
面向对象3)、
Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承
和多态三大特点。
平台无关和解释执行、4)
Java语言的一个非常重要的特点就是平台无关性。
它是指用Java编写的应用程序编译
Java后不用修改就可在不同的操作系统平台上运行。
Java之所以能平台无关,主要是依靠
虚拟机(JVM)来实现的。
Java编译器将Java源代码文件编译后生成字节码文件(一种与
操作系统无关的二进制文件)。
字节码文件通过Java虚拟机(JVM)里的类加载器加载后,
经过字节码校验,由解释器解释成当前电脑的操作系统能够识别的目标代码并最终运行。
下
图展示了Java程序从编译到最后运行的完整过程。
分布式、5)
分布式包括数据分布和操作分布,而Java支持WWW客户机/服务器计算模式,因此也支持这两种分布式。
多线程6)、
Java在两方面支持多线程。
一方面,Java环境本身就是多线程的。
若干个系统线程运
行负责必要的无用单元回收,系统维护等系统级操作;另一方面,Java语言内置多线程控
Java的多线程制,可以大大简化多线程应用程序开发。
如果操作系统本身不支持多线程,
特性可能就表现不出来。
三、综合编程题
请编写一个简单的Java程序能够输出“这是我的第一个Java程序”。
(注意为程序添加、1合适的注释和文档注释)。
/**
*第一个java程序*/
publicclassDemo{
/**
*main方法,程序的起点*/
publicstaticvoidmain(String[]args){
//向控制台输出
System.out.println(这是我的第一个Java程序);
}
}
第二章Java语法基础
2
-----
一、选择题
1.下面哪个单词是Java语言的关键字(B)?
A.DoubleB.thisC.stringD.bool
2.下面属于Java关键字的是(D)。
D.A.NULLIFC.DoB.goto
3.在启动Java应用程序时可以通过main()方法一次性地传递多个参数。
如果传递的参数
B)有多个,可以用空格将这些参数分割;如果某一个参数本身包含空格,可以使用(
把整个参数引起来。
双引号A2@!
l&h&I:
Q$a'H4o4S单引号B.A.
Java语言中正确的标识符(下面哪个是)。
4.BD
C.abc@A.5xD.comB.$x
Java语言中,下列标识符错误的是(D)。
5.
D.A.5abc_abcB.abcC.ABC
6.在Java中,整型常量不可以是(A)。
A.doubleB.LongC.int
D.byte
7.在Java中,不属于整数常量的是(D)。
C.0x100A
100B.100LD.A.6.0f
8.下面哪个语句能定义一个字符变量)。
(BchrA.B.charchr=?
abcd?
;charchr=?
?
?
;
;””abcdD.C.charchr=charchr=?
;
9.下面哪个是对字符串s1的不正确定义(CD)。
”abcdA.Strings1=”;B.Strings1;D.Strings1=C.Strings1=,abcd0?
;””;abcd
10.下面哪个范围是char型的取值范围(C)。
A.-256~255B.-(2^15)~(2^15)-1C.u0000?
~,uffff?
D.0~3276711.下面哪条语句不能定义一个float型的变量f1(ABD)。
D.floatf1=3.1415FC.f1=3.14FA.floatf1=3.1415E10B.floatf1=3.14
12.下列运算结果为float的是(C)。
100-10B.A.100/10100*10D.C.100.0+10
13.数组中可以包含什么类型的元素()。
D
D.数组A.int型C.B.string型以上都可以
14.Java中定义数组名为xyz,下面哪项可以得到数组元素的个数()。
BA.xyz.length()B.xyz.lengthC.len(xyz)
D.ubound(xyz)
15.下面哪条语句定义了3个元素的数组(A)。
A.C.int[3]array;int[]a={20,30,40};B.inta[]=newint(3);D.int[]arr;
二、简答题
。
Java有哪些基本的数据类型?
写出这些基本数据类型所占用的最大空间(用字节描述)1、
,具体又分为:
(number)1)数字型(
,整型又包括:
(integers)整型a.
(byte,8bits)①字节整数
②短整数(short,16bits)
(int,32bits)③整数
(long,64bits)④长整数
3
----
b.实型(realnumbers),具体又分为:
①单精度(float,32bits)
②双精度(double,64bits)
(2)字符型(char,16-bitUnicode字符)
(3)布尔型(boolean)。
2、说明Java字符编码的类型与特点。
Java字符编码的类型为Unicode,具有以下特点:
(1)Unicode是16比特的字符编码,其支持当前世界上绝大多数的语言;
Unicode给每个字符提供了一个唯一的编码表示,不论是什么平台、程序或语言;
(2)
;LDAP等已支持Unicode版本)、Java、XML、(3)Windows系统(Windows2000
实现了ISO/IEC10646标准;(4)Unicode
3、写出Java中六个常用的转义字符。
\b退格
\t制表符
\n换行(Newline)
\r回车(Carriagereturn)
\'单引号
4、下面的几个标示符哪些是正确的,哪些是错误的,如果是错误的,请说明原因。
MyClass,_isHis,3JavaProgram,_$asdf,Java-Visual-Machine
MyClass:
正确,符合标识符的组成规则。
_isHis:
正确,符合标识符的组成规则。
3JavaProgram:
错误,因为第1个符号不能为数字。
_$asdf:
正确,符合标识符的组成规则。
Java-Visual-Machine:
错误,标识符不能为保留字。
5、说出常量与变量的定义并举例说明。
常量是指程序执行过程中,值保持不变的量,类型划分如下:
整型常量
实型常量
布尔型常量
字符型常量
字符串常量
如整型常量:
最大整数(正)最大长整数(正)举例起始
十进制23,+567,21474836470,1~99223372036854775807L
-12,0,1234
八进制00177777777770777777777777777777777L034,0175,
-0777L
十六进制0x0x7FFFFFFF0x7FFFFFFFFFFFFFFFL0xFF,0x45L
变量是指在程序执行过程中,值可以改变的量,类型划分为:
整型变量、实型变量、字符型变量、字
符串变量、布尔变量等。
如:
intx=2,就定义了一个整型变量x并且赋值为2。
6、什么是强制类型转换?
并说明其运用场合。
显型类型转换是强制类型转换,它是一种窄化转换(narrowingconversion),如:
doublea=1.5;
floatb=a;
4
-----
System.out.println(=+b);
编译:
灜獯楳汢?
潬獳漠?
牰捥獩潩屮
数据精度丢失,数据丢失。
强制类型转换一般运用在
二元运算符的二个操作数类型不同
表达式值的类型与变量的类型不同
7、描述Java程序的构成。
如何判断Java程序的主类?
下面的程序有哪些错误并改正,该程序的源代码
应当保存为什么名字的文件?
PublicclassMyClass{
Publicstaticvoidmain(){
);“mynameis?
”System.out.printIn(
}
);“theend!
”System.out.printIn(}
,而其它类中没有;该程序的源代码应当保存为程序的主类中包含main()Java。
另外该MyClass.java
程序中包含以下的错误:
(Public的第一个字符应当小写;1)
;“”应当改为\
(2)定界符
应该为println\(3)printIn
);(4)System.out.printIn(“theend!
”代码应放在方法中
8、结构化程序设计有哪三种基本流程?
分别对应Java中的那些语句?
结构化程序设计有下面三种基本流程:
顺序结构语句,条件选择语句,循环控制语句,跳转/转向语句。
条件选择语句对应Java中的if,if-else,嵌套的if-else,条件运算符,switch-case。
循环控制语句对应Java中的for,while,do-while语句。
跳转/转向语句对应Java中的contonue,break,return语句。
9、在一个循环中使用break,continue,return的差别。
break:
跳出(中止)循环
continue:
结束本次循环
return:
方法返回
10、数组的定义,特点与分类。
如何进行数组的初始化?
数组的定义:
数组是一组同类型的变量或对象的集合。
数组的特点:
数组的类型可以是基本类型,或类和接口;数组中每个元素的类型相同;引用数组元素
通过数组名[下标];数组下标(数组的索引)从0开始。
数组是一种特殊的对象(Object),可以定义类型(声明);创建数组(分配内存空间);释放(Java虚拟机完成)。
数组分类:
一维数组、多维数组。
5
----
第三章面向对象的实现
一、选择题
在Java中,用package说明一个包时,该包的层次结构必须是(1.B)。
B.与文件的结构相同A.与文件的目录层次相同
D.与文件的类型相同C.与文件大小相同
下列构造方法的调用方式中,正确的是(2.)。
C
A.按照一般方法调用B.由用户直接调用
D.自动调用可通过newC.被系统调用
int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是3.(D)。
A.publicintMAX_LENGTH=100B.finalintMAX_LENGTH=100
D.publicconstintMAX_LENGTH=100publicfinalintMAX_LENGTH=100C.
在Java中,以下叙述不正确的是(B)4.
A.构造方法名与类名相同。
B.构造方法不是用来完成初始化的。
C.构造方法由new操作调用,而不能被用户直接调用。
D.构造方法没有返回类型。
在Java中,下面的叙述哪个是不正确的?
(D)5.
类的静态方法可以在该类的对象被创建前调用A.类的静态方法不能访问该类的非静态方法B.C.abstract修饰符可以出现在类或方法的前面,但不能出现在变量之前D.final修饰符可以出现在类或变量之前,但不能出现在方法之前在Java里,下列选项(D)不是实现面向对象思想的机制。
6.A.封装B.继承D.C.多态数据类型转换
类Worker是类Person的子类,Worker构造方法中有一句super();,该语句是什么意7.
)思?
(C
super()方法WorkerA.调用类中定义的方法调用类B.Person中定义的super()C.调用类Person的构造函数D.语法错误
给定Java程序,如下:
编译运行Test.java,结果是(C)。
8.
publicclassTest{
privatestaticfinalintcounter=10;
publicstaticvoidmain(String[]args){
System.out.println(counter++);
}}
A.10B.11
编译错误D.C.运行时出现异常
给定如下Java代码,编译时会在(D)出现错误。
(只选择一项)9.classParent{}
classChildextendsParent{
6
-----
publicstaticvoidmain(String[]args){
Parentp1=newChild();//第一行
Parentp2=newParent();//第二行
第三行Childc1=newChild();//
第四行//Childc2=newParent();}
}B.A.第一行第二行
C.D.第三行第四行
在Java中,某类方法使用下列(BC)访问修饰符修饰后,可以被其的子类访问。
10.B.A.privateprotected
D.C.publicfriendly
在Java语言中,如果你有下面的类定义:
11.abstractclassShape{abstractvoiddraw();
}
classSquareextendsShape{
}
以下描述正确的是(B)
A.一切成功编译不能编译可以编译,SquareB.Shape不能编译Square可以编译,ShapeC.Square,Shape都不能编译D.:
Java代码分析下列12.classA{
publicstaticvoidmain(String[]args){
method();
}
staticvoidmethod(){
System.out.println(Hello);
System.exit(0);
System.out.println(good-bye);
}
}
编译运行后,输出结果是(A)。
B.?
汥潬A.杜潯?
祢履
D.后面是尠潧摯戭敹C.Hello代码不能编译
下表是final修饰符与变量、方法、类等一起作用的结果的对应表,但是对应关系存在13.)(C错误,请选择正确的对应关系。
概念作用
A不能再产生子类变量1
B一旦赋值,就不能更改方法2
C不能在子类中覆盖类3
7
----
3-C1-A2-BA.
3-B2-AB.1-C
3-A2-CC.1-B
3-A2-BD.1-C有以下程序:
14.publicclassConstOver{
publicConstOver(intx,inty,intz){}
}
)下面哪个方法重载了上面的ConstOver构造方法?
(B
protectedintConstOver(){}
A.privateConstOver(intz,inty,bytex){}B.publicobjectConstOver(intx,inty,intz){}C.publicvoidConstOver(bytex,bytey,bytez){}
D.
有以下程序:
15.classBaseClass{
privatefloatx=1.0f;
publicfloatgetVar()(returnx;)
}classSubclassextendsBaseClass{
privatefloatx=2.0f;
//insertcodehere
}
(B//insertcodehere下面哪个方法加到程序中的“位置”是有效的重定义父类的方法。
)
protectedfloatgetVar(){returnx;}A.publicfloatgetVar(){returnx;}
B.protectedfloatdoublegetVar(){returnx;}C.publicfloatgetVar(floatf){returnf;}
D.
)指出下列程序运行的结果(B16.publicclassExample{Stringstr=newString(good);
char[]ch={'a','b','c'};
publicstaticvoidmain(String[]args){
Exampleex=newExample();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+and);
System.out.print(ex.ch);
}publicvoidchange(Stringstr,charch[]){
str=estok;
ch[0]='g';
}
}
goodandgbcgoodandabcA.B.
testokandgbctestokandabcC.D.
8
-----
下列哪些语句关于内存回收的说明是正确的?
(B)17.
A.程序员必须创建一个线程来释放内存;B.内存回收程序负责释放无用内存;C.内存回收程序允许程序员直接释放内存;D.内存回收程序可以在指定的时间释放内存对象。
创建一个名为“MyClass.java的文”件,该文件中只有一个可被整个工程中的所有类访18.问的类,那么该类的正确声明应为:
(C)
A.privateclassMyClassextendsObjectB.classTestClassextendsObject
D.publicclassMyClassC.publicclassTestClass
(A)下列叙述中,错误的是19.
A.内部类的名称与定义它的类的名称可以相同B.内部类可用abstract修饰C.内部类可作为其他类的成员D.内部类可访问它所在类的成员用于在子类中调用被重写的父类方法的关键字是(B)20.
thisA.superB.ThisC.Super
D.
)下面程序输出结果是(A21.publicclassDelta{staticbooleanfoo(charc)
{System.out.print(c);
returntrue;}
publicstaticvoidmain(String[]argv
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 课后 练习 答案