Java语言程序设计第版第章课后习题答案.docx
《Java语言程序设计第版第章课后习题答案.docx》由会员分享,可在线阅读,更多相关《Java语言程序设计第版第章课后习题答案.docx(77页珍藏版)》请在冰豆网上搜索。
Java语言程序设计第版第章课后习题答案
第1章 Java语言概述
选择题
1-1在下列概念中,Java语言只保留了(B)
A.运算符重载B.方法重载
C.指针D.结构和联合
1-2下列关于Java语言特性的描述中,错误的是(D)
A.支持多线程操作
B.Java程序与平台无关
C.Java和程序可以直接访问Internet上的对象
D.支持单继承和多继承
1-3下列关于JavaApplication程序在结构上的特点的中,错误的是(C)
A.Java程序是由一个或多个类组成的
B.组成Java程序的若干个类可以放在一个文件中,也可以放在多个文件中
C.Java程序的文件名要与某个类名相同
D.组成Java程序的多个类中,有且仅有一个主类
1-4Java程序经过编译后生成的文件的后缀是(C)
A..objB..exeC..classD..java
1-5下列关于运行字节码文件的命令行参数的描述中,正确的是(A)
A.第一个命令行参数(紧跟命令字的参数)被存放在args[0]中
B.第一个命令行参数被存放在args[1]中
C.命令行的命令字被存放在args[0]中
D.数组args[]的大小与命令行参数的个数无关
判断题
1-1JavaC++的语言之前问世的。
(错)
1-2Java语言具有较好的安全性和可移植性及与平台无关等特性。
(对)
1-3Java语言中取消了联合的概念,保留了结构概念。
(错)
1-4Java语言中数据类型占内在字节数与平台无关。
(对)
1-5Java语言中可用下标和指针两种方式表示数组元素。
(错)
1-6Java语言的源程序不是编译型的,而是编译解释型的。
(对)
1-7操作系统中进程和线程两个概念是没有区别的。
(错)
1-8Java语言既是面向对象的又是面向网络的高级语言。
(对)
1-9Java程序分为两大类:
一类是Application程序,另一类是Applet程序。
前者又称Java应用程序,后者又称为Java小应用程序。
(对)
1-10JavaApplication程序是由多个文件组成的,其中可以有也可以没有主文件。
(错)
1-11组成JavaApplication的若干类中,有且仅有一个主类,只有主类中含有主方法main()。
(对)
1-12JavaApplication程序中,必有一个主方法main(),该方法有没有参数都可以。
(对)
1-13Java程序中是不区分大小写字母的。
(错)
1-14下述两个命令:
javac和java是不同的,编译时用前者,运行时用后者。
(对)
1-15Java程序编译后生成的是字节码文件,其后缀是.exe。
(错)
1-16字节码文件机器是不能直接识别的,它要经过解释器,边解释边执行。
(对)
1-17在Java程序中,使用import语句引入类是在解释器中实现的。
(对)
1-18在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。
(错)
1-19Java程序中有多个类,编译后只生成一个字节码文件,其名字同主类名。
(错)
1-20Java程序中出现的输出方法println()和print()是完全一致的。
(错)
分析程序的输出结果题
1-1程序Exerl_1.java
importjava.io.*;
publicclassExerl_1
{
publicstaticvoidmain(Stringargs[])
{
}
}
该程序的输出结果如下:
Thisisastring.
1-2程序Exerl_2.java
Importjava.io.*;
PublicclassExerl_2
{
Publicstaticvoidmian(Stringargs[])
{
Charch="";
Try{
}
Catch(IOExceptione)
{}
}
}
该程序的输出结果如下
Inputacharacter:
k↙
Thecharacteris‘k’
1-3程序Exerl_3.java
importjava.io.*;
publicclassExerl_3
{
Publicstaticvoidmain(Stringargs[])
{
Stringstr=""
Try{
BufferedReaderin=newBufferedReader(newInputStreamReader(System.in));
str=in.readLine();
}
Catch(IOExceptione)
{}
}
}
1-4程序Exerl_4.java
importjava.io.*
publicclassExerl_4
{
publicstaticvoidmain(Stringargs[])
{
Aa=newA;
a.i=8;
a.d=1.25;
a.meth("该程序输出结果如下所示");
}
}
classA
{
inti;
doubled;
voidmeth(stringstr)
{
}
}
该程序输出结果如下所示
i=8,d=1.25
编程题
1-1编写一个JavaApplication程序,使该程序运行后输出字符串"Hello!
Howareyou."。
参考程序内容如下
importjava.io.*;
publicclassprol_1
{
publicstaticvoidmain(Stringargs[])
{
}
}
1-2编写一个JavaApplication程序,使该程序输出显示如下结果:
Var1=10,var2=19.5
Ok!
参考程序内容如下:
importjava.io.*;
publicclassprol_2
{
publicstaticvoidmain(Stringargs[])
{
intvar1=10;
doublevar2=19.5;
}
}
第2章 Java语言语法基础
选择题
2-1Java语言所用的字符集中字符是B位。
A.8
B.16
C.32
D.64
2-2下列关于标识符的描述中,正确的是A。
A.标识符中可以使用下划线和美元符
B.标识符中可以使用连接符和井号符
C.标识符中大小写字母是无区别的
D.标识符可选用关键字
2-3Java语言和各种分隔符中,非法的是D。
A.空白符
B.分号
C.逗号
D.问号
2-4下列是Java语言中可用的注释,其中错误的是C。
A.//
B./*…*/
C./**…**/
D./**…*/
2-5Java语言中字符型数据的长度是B位。
A.8
B.16
C.32
D.64
2-6下列描述的两种数据类型的长度不相等的是A。
A.字符型和布尔型
B.字节型和布尔型
C.短整型和字符型
D.整型和单精度浮点型
2-7下列是Java语言中的复合数据类型,其中错误的是C。
A.数组
B.接口
C.枚举
D.类
2-8下面是关于Java语言中数据类型的强制转换的描述,其中错误的是C,D。
A.当数据类型从高转换为低时需强制转换
B.强制转换时使用强制转换去处符,形如(<类型>)
C.浮点型数据强制转换为整型时,小数部分四舍五入
D.赋值操作中都要采用强制类型转换
2-9下列关于常量的描述中,错误的是B,D。
A.Java语言的常量有5种
B.浮点型数12.456是单精度的
C.布尔型常量只有两个可选值:
true和false
D.字符串常量含有结束符'\0'
2-10下列关于定义符号常量的描述中,错误的是A,C。
A.定义符号常量使用关键字const
B.定义符号常量时要赋初值
C.符号常量既可以定义为类成员,又可在方法中定义
D.定义符号常量时必须给出数据类型
2-11下列关于变量的默认值的描述,其中错误的是B,C。
A.定义变量而没有进行初始化时,该变量具有默认值
B.字符型变量的默认值为换行符
C.布尔型变量的默认值是true
D.变量的默认值是可以被改变的
2-12下列关于变量定义的描述中,正确的是A,C。
A.定义变量时至少应指出变量名字和类型
B.定义变量时没有给出初值该变量可能是无意义值
C.定义变量时,同一个类型多个变量间可用逗号分隔
D.定义变量时必须要给变量初始化
2-13下列关于变量作用域的描述,错误的是D。
A.在某个作用域定义的变量,仅在该作用域内是可见的,而在该作用域外是不可见的
B.在类中定义的变量的作用域在该类中的方法内可以使用
C.在方法中定义的变量的作用域仅在该方法体内
D.在方法中作用域可嵌套,在嵌套的作用域中可以定义同名变量
2-14下列关于增1(++)减1(--)1运算符的描述中,正确的是A,B。
A.增1减1运算符都是单目运算符
B.增1减1运算符都具有前缀运算和后缀运算
C.增1减1运算符不会改变变量的值
D.增1减1运算符前缀运算和后缀运算后表达式值是相同的
2-15关于运算符优先级的描述中,错误的是D。
A.在表达式中,优先级高的运算符先进行计算
B.赋值运算符优先级最高
C.单目运算符优先级高于双目和三目运算符
D.逻辑运算符优先级高于逻辑位运算符
2-16下列关于表达式的描述中,正确的是A,C。
A.任何表达式都有确定的值和类型
B.算数表达式的类型由第一个操作数的类型决定
C.逻辑表达式的操作数是逻辑型的
D.赋值表达式的类型取决于右值表达式的类型
2-17下列表达式中,非法的是B,C。
inta=5,b=6;doublec=1.1,d=2.2
A.a+c+++d
B.(a+c)--
C.c<
D.a!
=b?
c:
d
2-18下列关于条件语句的描述中,错误的是A,C。
A.If语句可以有多个else子句和elseif子句
B.If语句中可以没有else子句和elseif子句
C.If语句中的〈条件〉可以使用任何表达式
D.If语句的if体、else体内可以有循环语句
2-19下列关于开关语句的描述中,错误的是B,C,D。
A.开关语句中,default子句可以省略
B.开关语句中,case子句的〈语句序列〉中一定含有break语句
C.开关语句中,case子句和default子句都可以有多个
D.退出开关语句的唯一条件是执行break语句
2-20下列关于循环语句的描述中,错误的是B,D。
A.任何一种循环体内都可以包含一种循环语句
B.循环体可以是空语句,也可以是空
C.循环体内可以出现多个break语句
D.循环语句中,循环体至少被执行一次
2-21下列循环语句的循环次数是D。
inti=5;
do{
i--;
}while(i!
=0);
A.0
B.1
C.5
D.无限
2-22下列循环语句中,循环体被执行的次数为D。
for(inti=0,j=0;(j!
=18)||(i<4);i++)
A.3
B.4
C.不确定
D.无限
2-23下列关于J