Java程序设计课后练习答案Word文档格式.docx
- 文档编号:21313787
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:43
- 大小:51.62KB
Java程序设计课后练习答案Word文档格式.docx
《Java程序设计课后练习答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java程序设计课后练习答案Word文档格式.docx(43页珍藏版)》请在冰豆网上搜索。
Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)。
下图展示了Java程序从编译到最后运行的完整过程。
5)、分布式
分布式包括数据分布和操作分布,而Java支持WWW客户机/服务器计算模式,因此也支持这两种分布式。
6)、多线程
Java在两方面支持多线程。
一方面,Java环境本身就是多线程的。
若干个系统线程运行负责必要的无用单元回收,系统维护等系统级操作;
另一方面,Java语言内置多线程控制,可以大大简化多线程应用程序开发。
如果操作系统本身不支持多线程,Java的多线程特性可能就表现不出来。
三、综合编程题
1、请编写一个简单的Java程序能够输出“这是我的第一个Java程序”。
(注意为程序添加合适的注释和文档注释)。
/**
*第一个java程序
*/
publicclassDemo{
/**
*main方法,程序的起点
publicstaticvoidmain(String[]args){
//向控制台输出
System.out.println("
这是我的第一个Java程序"
);
}
}
第二章Java语法基础
1.下面哪个单词是Java语言的关键字(B)?
A.c2cX.}#f%W3O9@$@7cDoubleB.thisC.stringD.bool
2.下面属于Java关键字的是(D)。
A.NULLB.IFC.DoD.goto
3.在启动Java应用程序时可以通过main()方法一次性地传递多个参数。
如果传递的参数有多个,可以用空格将这些参数分割;
如果某一个参数本身包含空格,可以使用(B)把整个参数引起来。
A.单引号B.双引号
4.下面哪个是Java语言中正确的标识符(BD)。
A.5xB.$xC.abc@D.com
5.Java语言中,下列标识符错误的是(D)。
A._*A,\/A"
|%labcB.abcC.ABCD.5abc
6.在Java中,整型常量不可以是(A)。
A.!
r;
\*z&
V'
D0T0`)_doubleB.LongC.intD.byte
7.在Java中,不属于整数常量的是(D)。
A.:
n"
h:
R-C+D100B.100LC.0x100AD.6.0f
8.下面哪个语句能定义一个字符变量chr(B)。
A.charchr=’abcd’;
B.charchr=’\uabcd’;
C.charchr=”abcd”;
D.charchr=\uabcd;
9.下面哪个是对字符串s1的不正确定义(CD)。
A.Strings1=”abcd”;
B.Strings1;
C.2V2X2U0F4\*x)Strings1=‘abcd\0’;
D.Strings1=”\abcd”;
10.下面哪个范围是char型的取值范围(C)。
A.-256~255B.-(2^15)~(2^15)-1C.\u0000’~‘\uffff’D.0~32767
11.下面哪条语句不能定义一个float型的变量f1(ABD)。
A.-y"
c!
B&
Q$@)m'
W-pfloatf1=3.1415E10B.floatf1=3.14C.floatf1=3.1415FD.f1=3.14F
12.下列运算结果为float的是(C)。
A.100/10B.100*10C.100.0+10D.100-10
13.数组中可以包含什么类型的元素(D)。
A.int型B.string型C.数组D.以上都可以
14.Java中定义数组名为xyz,下面哪项可以得到数组元素的个数(B)。
A.xyz.length()B.xyz.lengthC.len(xyz)D.ubound(xyz)
15.下面哪条语句定义了3个元素的数组(A)。
A.int[]a={20,30,40};
B.inta[]=newint(3);
C.int[3]array;
D.int[]arr;
1、Java有哪些基本的数据类型?
写出这些基本数据类型所占用的最大空间(用字节描述)。
(1)数字型(number),具体又分为:
a.整型(integers),整型又包括:
字节整数(byte,8bits)
短整数(short,16bits)
整数(int,32bits)
长整数(long,64bits)
b.实型(realnumbers),具体又分为:
单精度(float,32bits)
双精度(double,64bits)
(2)字符型(char,16-bitUnicode字符)
(3)布尔型(boolean)。
2、说明Java字符编码的类型与特点。
Java字符编码的类型为Unicode,具有以下特点:
(1)Unicode是16比特的字符编码,其支持当前世界上绝大多数的语言;
(2)Unicode给每个字符提供了一个唯一的编码表示,不论是什么平台、程序或语言;
(3)Windows系统(Windows2000版本)、Java、XML、LDAP等已支持Unicode;
(4)Unicode实现了ISO/IEC10646标准;
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、说出常量与变量的定义并举例说明。
常量是指程序执行过程中,值保持不变的量,类型划分如下:
ø
整型常量
实型常量
布尔型常量
字符型常量
字符串常量
如整型常量:
起始
最大整数(正)
最大长整数(正)
举例
十进制
0,1~9
2147483647
9223372036854775807L
23,+567,
-12,0,1234
八进制
017777777777
0777777777777777777777L
034,0175,
-0777L
十六进制
0x
0x7FFFFFFF
0x7FFFFFFFFFFFFFFFL
0xFF,0x45L
变量是指在程序执行过程中,值可以改变的量,类型划分为:
整型变量、实型变量、字符型变量、字符串变量、布尔变量等。
如:
intx=2,就定义了一个整型变量x并且赋值为2。
6、什么是强制类型转换?
并说明其运用场合。
显型类型转换是强制类型转换,它是一种窄化转换(narrowingconversion),如:
doublea=1.5;
floatb=a;
System.out.println("
b="
+b);
编译:
"
possiblelossofprecision"
数据精度丢失,数据丢失。
强制类型转换一般运用在
二元运算符的二个操作数类型不同
表达式值的类型与变量的类型不同
7、描述Java程序的构成。
如何判断Java程序的主类?
下面的程序有哪些错误并改正,该程序的源代码应当保存为什么名字的文件?
PublicclassMyClass{
Publicstaticvoidmain(){
System.out.printIn(“mynameis…”);
System.out.printIn(“theend!
”);
Java程序的主类中包含main(),而其它类中没有;
该程序的源代码应当保存为MyClass.java。
另外该程序中包含以下的错误:
(1)Public的第一个字符应当小写;
(2)定界符“”应当改为"
"
;
(3)printIn应该为println\
(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虚拟机完成)。
数组分类:
一维数组、多维数组。
第三章面向对象的实现
1.在Java中,用package说明一个包时,该包的层次结构必须是(B)。
A.与文件的结构相同B.与文件的目录层次相同
C.与文件的类型相同D.与文件大小相同
2.下列构造方法的调用方式中,正确的是(C)。
A.按照一般方法调用B.由用户直接调用
C.可通过new自动调用D.被系统调用
3.int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是(D)。
A.publicintMAX_LENGTH=100B.finalintMAX_LENGTH=100
C.publicconstintMAX_LENGTH=100D.publicfinalintMAX_LENGTH=100
4.在Java中,以下叙述不正确的是(B)
A.构造方法名与类名相同。
B.构造方法不是用来完成初始化的。
C.构造方法由new操作调用,而不能被用户直接调用。
D.构造方法没有返回类型。
5.在Java中,下面的叙述哪个是不正确的?
(D)
A.类的静态方法可以在该类的对象被创建前调用
B.类的静态方法不能访问该类的非静态方法
C.abstract修饰符可以出现在类或方法的前面,但不能出现在变量之前
D.final修饰符可以出现在类或变量之前,但不能出现在方法之前
6.在Java里,下列选项(D)不是实现面向对象思想的机制。
A.封装B.继承
C.多态D.数据类型转换
7.类Worker是类Person的子类,Worker构造方法中有一句"
super();
,该语句是什么意思?
(C)
A.调用类Worker中定义的super()方法
B.调用类Person中定义的super()方法
C.调用类Person的构造函数
D.语法错误
8.给定Java程序,如下:
编译运行Test.java,结果是(C)。
publicclassTest{
privatestaticfinalintcounter=10;
publicstaticvoidmain(String[]args){
System.out.println(counter++);
A.10B.11
C.编译错误D.运行时出现异常
9.给定如下Java代码,编译时会在(D)出现错误。
(只选择一项)
classParent{
}
classChildextendsParent{
Parentp1=newChild();
//第一行
Parentp2=newParent();
//第二行
Childc1=newChild();
//第三行
Childc2=newParent();
//第四行
A.第一行B.第二行
C.第三行D.第四行
10.在Java中,某类方法使用下列(BC)访问修饰符修饰后,可以被其的子类访问。
A.privateB.protected
C.publicD.friendly
11.在Java语言中,如果你有下面的类定义:
abstractclassShape{
abstractvoiddraw();
classSquareextendsShape{
以下描述正确的是(B)
A.一切成功编译
B.Shape可以编译,Square不能编译
C.Square可以编译,Shape不能编译
D.Square,Shape都不能编译
12.分析下列Java代码:
classA{
method();
staticvoidmethod(){
Hello"
System.exit(0);
good-bye"
编译运行后,输出结果是(A)。
A."
B."
C."
后面是"
D.代码不能编译
13.下表是final修饰符与变量、方法、类等一起作用的结果的对应表,但是对应关系存在错误,请选择正确的对应关系。
概念作用
1变量A不能再产生子类
2方法B一旦赋值,就不能更改
3类C不能在子类中覆盖
A.1-A2-B3-C
B.1-C2-A3-B
C.1-B2-C3-A
D.1-C2-B3-A
14.有以下程序:
publicclassConstOver{
publicConstOver(intx,inty,intz){}
下面哪个方法重载了上面的ConstOver构造方法?
(B)
A.protectedintConstOver(){}
B.privateConstOver(intz,inty,bytex){}
C.publicobjectConstOver(intx,inty,intz){}
D.publicvoidConstOver(bytex,bytey,bytez){}
15.有以下程序:
classBaseClass{
privatefloatx=1.0f;
publicfloatgetVar()(returnx;
)
classSubclassextendsBaseClass{
privatefloatx=2.0f;
//insertcodehere
下面哪个方法加到程序中的“//insertcodehere”位置是有效的重定义父类的方法。
(B)
A.protectedfloatgetVar(){returnx;
B.publicfloatgetVar(){returnx;
C.protectedfloatdoublegetVar(){returnx;
D.publicfloatgetVar(floatf){returnf;
16.指出下列程序运行的结果(B)
publicclassExample{
Stringstr=newString("
good"
char[]ch={'
a'
'
b'
c'
};
Exampleex=newExample();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+"
and"
System.out.print(ex.ch);
publicvoidchange(Stringstr,charch[]){
str="
testok"
;
ch[0]='
g'
A.goodandabcB.goodandgbc
C.testokandabcD.testokandgbc
17.下列哪些语句关于内存回收的说明是正确的?
(B)
A.程序员必须创建一个线程来释放内存;
B.内存回收程序负责释放无用内存;
C.内存回收程序允许程序员直接释放内存;
D.内存回收程序可以在指定的时间释放内存对象。
18.创建一个名为“MyClass.java”的文件,该文件中只有一个可被整个工程中的所有类访问的类,那么该类的正确声明应为:
A.privateclassMyClassextendsObjectB.classTestClassextendsObject
C.publicclassMyClassD.publicclassTestClass
19.下列叙述中,错误的是(A)
A.内部类的名称与定义它的类的名称可以相同
B.内部类可用abstract修饰
C.内部类可作为其他类的成员
D.内部类可访问它所在类的成员
20.用于在子类中调用被重写的父类方法的关键字是(B)
A.this
B.super
C.This
D.Super
21.下面程序输出结果是(A)
publicclassDelta{
staticbooleanfoo(charc){
System.out.print(c);
returntrue;
publicstaticvoidmain(String[]argv){
inti=0;
for(foo('
A'
foo('
B'
)&
&
(i<
2);
C'
)){
i++;
foo('
D'
A.ABDCBDCB
B.ABCDABCD
C.编译错误
D.运行时异常
22.下列(B)修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问。
A.privateB.无修饰符
C.publicD.protected
23.给出下列代码,如何使成员变量m被方法fun()直接访问?
classTest{
privateintm;
publicstaticvoidfun(){
...
}
A.将privateintm改为protectedintm
B.将privateintm改为publicintm
C.将privateintm改为staticintm
D.将privateintm改为intm
24.已知有下列类的说明,则下列哪个语句是正确的?
(A)
privatefloatf=1.0f;
intm=12;
staticintn=1;
Testt=newTest();
A.t.f;
B.this.n;
C.Test.m;
D.Test.f;
25.下列代码的执行结果是(A)
publicvoidaMethod(){
staticinti=0;
i++;
System.out.println(i);
publicstat
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 课后 练习 答案