Java语言程序设计第版第章课后习题答案.pdf
《Java语言程序设计第版第章课后习题答案.pdf》由会员分享,可在线阅读,更多相关《Java语言程序设计第版第章课后习题答案.pdf(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第1章 Java 语 言 概 述选择题1-1在下列概念中,Java语言只保留了(B)A.运算符重载 B.方法重载C.指针 D.结构和联合1-2下列关于Java语言特性的描述中,错误的是(D)A.支持多线程操作BJava程序与平台无关C.Java和程序可以直接访问Internet上的对象D.支持单继承和多继承1-3下列关于JavaApplicalion程序在结构上的特点的中,错误的是(C)A.Java程序是由一个或多个类组成的B.组成Java程序的若干个类可以放在一个文件中,也可以放在多个文件中C.Java程序的文件名要与某个类名相同D.组成Java程序的多个类中,有且仅有一个主类l-4Java
2、程序经过编译后生成的文件的后缀是(C)A.obj B.exe C.class D.java1-5下列关于运行字节码文件的命令行参数的描述中,正确的是(A)A.第一个命令行参数(紧跟命令字的参数)被存放在args0中B.第一个命令行参数被存放在argsl中C.命令行的命令字被存放在args0中D.数组args口的大小与命令行参数的个数无关判断题1-1 JavaC+的语言之前问世的。(错)1-2 Java语言具有较好的安全性和可移植性及与平台无关等特性。(对)1-3 Java语言中取消了联合的概念,保留了结构概念。(错)1-4 Java语言中数据类型占内在字节数与平台无关。(对)1-5 Java语
3、言中可用下标和指针两种方式表示数组元素。(错)1-6 Java语言的源程序不是编译型的,而是编译解释型的。(对)1-7操作系统中进程和线程两个概念是没有区别的。(错)1-8 Java语言既是面向对象的又是面向网络的高级语言。(对)1-9 Java程序分为两大类:一类是Application程序,另一类是Applet程序。前者又称Java应用程序,后者又称为Java小应用程序。(对)1-lOJavaApplication程序是由多个文件组成的,其中可以有也可以没有主文件。(错)1-11组成JavaApplication的若干类中,有且仅有一个主类,只有主类中含有主方法main。(对)l-12Ja
4、vaApplication程序中,必有一个主方法main(),该方法有没有参数都可以。(对)1-13 Java程序中是不区分大小写字母的。(错)1-14下述两个命令:javac和java是不同的,编译时用前者,运行时用后者。(对)1-15 Java程序编译后生成的是字节码文件,其后缀是.exe。(错)1-16字节码文件机器是不能直接识别的,它要经过解释器,边解释边执行。(对)1-17在 Java程序中,使用import语句引入类是在解释器中实现的。(对)1-18在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。(错)1-19Java程序中有多个类,编译后只生成一个
5、字节码文件,其名字同主类名。(错)1-20 Java程序中出现的输出方法println。和 print。是完全一致的。(错)分析程序的输出结果题1-1 程序 Exerl_l.javaimportjava.io.*;publicclassExerl_ 1(publicstaticvoidmain(Stringargs)(isan);)该程序的输出结果如下:Thisisastring.1-2 程序 Exerl_2.javaImportjava.io.*;PublicclassExerl_2(Publicstaticvoidmian(Stringargs)(Charch=,H;acharacter:
6、1);Try()Catch(IOExceptione)characteris,n+ch+,M,);)该程序的输出结果如下InputacharacterkZThecharacterisk51-3 程序 Exerl_3.javaimporljava.io.*;publicclassExerl_3(Publicstaticvoidmain(Stringargs)(Stringstr二”astring:1);Try(BufferedReaderin=newBufferedReader(newInputStreamReader(System.in);str=in.readLine();)Catch(IO
7、Exceptione)(stringis,n+str+,H,);1-4 程序 Exerl_4.javaimportjava.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.*;
8、publicclassprol_l(publicstaticvoidmain(Stringargs)(areyou.);)1-2编写一个JavaApplication程序,使该程序输出显示如下结果:Vari=10,var2=19.5Ok!参考程序内容如下:importjava.io.*;publicclassprol_2(publicstaticvoidmain(Stringargs)intvarl=10;doublevar2=19.5;第 2 章Java语言语法基础选择题2-1 Java语言所用的字符集中字符是2 位。A.8B.16C.32D.642-2 下列关于标识符的描述中,正确的是A。
9、A.标识符中可以使用下划线和美元符B.标识符中可以使用连接符和井号符C.标识符中大小写字母是无区别的D.标识符可选用关键字2-3 Java语言和各种分隔符中,非法的是D。A.空白符B.分号C.逗号D.问号2-4 下列是Java语言中可用的注释,其中错误的是C。A./B./*.*/Q /*/D./*.*/2-5 Java语言中字符型数据的长度是2 位。A.8B.16C.32D.642-6 下列描述的两种数据类型的长度不相等的是A。A.字符型和布尔型B.字节型和布尔型C.短整型和字符型D.整型和单精度浮点型2-7 下列是Java语言中的复合数据类型,其中错误的是C。A.数组B.接口C.枚举D.类2
10、-8 下面是关于Java语言中数据类型的强制转换的描述,其中错误的是Q D。A.当数据类型从高转换为低时需强制转换B.强制转换时使用强制转换去处符,形 如(类型)C.浮点型数据强制转换为整型时,小数部分四舍五入D.赋值操作中都要采用强制类型转换2-9 下列关于常量的描述中,错误的是旦A.Java语言的常量有5 种B.浮点型数12.456是单精度的C.布尔型常量只有两个可选值:true和 falseD.字符串常量含有结束符02-10下列关于定义符号常量的描述中,错误的是A.定义符号常量使用关键字constB.定义符号常量时要赋初值C.符号常量既可以定义为类成员,又可在方法中定义D.定义符号常量时
11、必须给出数据类型2-11下列关于变量的默认值的描述,其中错误的是BA.定义变量而没有进行初始化时,该变量具有默认值B.字符型变量的默认值为换行符C.布尔型变量的默认值是trueD.变量的默认值是可以被改变的2-12下列关于变量定义的描述中,正确的是A 。A.定义变量时至少应指出变量名字和类型B.定义变量时没有给出初值该变量可能是无意义值C.定义变量时,同一个类型多个变量间可用逗号分隔D.定义变量时必须要给变量初始化2-13下列关于变量作用域的描述,错误的是D。A.在某个作用域定义的变量,仅在该作用域内是可见的,而在该作用域外是不可见的B.在类中定义的变量的作用域在该类中的方法内可以使用C.在方
12、法中定义的变量的作用域仅在该方法体内D.在方法中作用域可嵌套,在嵌套的作用域中可以定义同名变量2-14下列关于增1 (+)减 1 ()1运算符的描述中,正确的是A国。A.增 1减 1运算符都是单目运算符B.增 1减 1运算符都具有前缀运算和后缀运算C.增 1减 1运算符不会改变变量的值D.增 1减 1运算符前缀运算和后缀运算后表达式值是相同的2-15关于运算符优先级的描述中,错误的是D。A.在表达式中,优先级高的运算符先进行计算B.赋值运算符优先级最高C.单目运算符优先级高于双目和三目运算符D.逻辑运算符优先级高于逻辑位运算符2-16下列关于表达式的描述中,正确的是A 。A.任何表达式都有确定
13、的值和类型B.算数表达式的类型由第一个操作数的类型决定C.逻辑表达式的操作数是逻辑型的D.赋值表达式的类型取决于右值表达式的类型2-17下列表达式中,非法的是星C。inta=5,b=6;doublec=l.l,d=2.2A.a+c+dB.(a+c)C.c bD.a!=b?c:d2-18下列关于条件语句的描述中,错误的是A C。A.If语句可以有多个else子句和elseif子句B.If语句中可以没有else子句和elseif子句C.If语 句 中 的 条件)可以使用任何表达式D.If语句的if体、else体内可以有循环语句2-19下列关于开关语句的描述中,错误的是B,C,D。A.开关语句中,d
14、efault子句可以省略B.开关语句中,case子 句 的 语句序列中一定含有break语句C.开关语句中,case子句和default子句都可以有多个D.退出开关语句的唯一条件是执行break语句2-20下列关于循环语句的描述中,错误的是2 D。A.任何一种循环体内都可以包含一种循环语句B.循环体可以是空语句,也可以是空C.循环体内可以出现多个break语句D.循环语句中,循环体至少被执行一次2-21下列循环语句的循环次数是Dointi=5;doi-;(while(i!=0);A.0B.1C.5D.无限2-22下列循环语句中,循环体被执行的次数为D。for(inti=0,j=0;(j!=18
15、)|(i ”和 ”都是右移运算符,其区别在于对向右移出的位是舍弃还是保留。(错)2-26赋值运算符组成的赋值表达式中,通常将右边表达式的类型转换为左边变量的类型后再赋值。(对)2-27三目运算符的3 个操作数中,第一个操作数的类型必须是逻辑型的(对)2-28强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。(对)2-29对象运算符instanceof是一个单目运算符,其表达式的值的类的对象。(错)2-3 0 内存分配运算符new可以为创建的数组分配内存空间,但不能为创建的变量分配空间。2-31运算符的优先级中,最低的是三目运算符。(错)2-32运算符的结合性中,除了三目运算符是自
16、右向左外,其余都是自左向右。(错)2-33关系表达式和逻辑表达式的值都是布尔型的。(对)2-34赋值表达式的值不能是逻辑型的。(错)2-35条件表达式的类型总是“?”和“:”之间的操作数的类型。(错)2-36块语句可能嵌套,外层块语句定义的变量在内层块语句中是可见的(对)2-37条件自勉中的 条件 表达式可以是任何表达式。(错)2-38在条件语句的嵌套结构中,一个if子句最多有一个else子句与它配对,而且一定是距离它最近的。(对)2-39开关语句中,case子句后面的 语句序列 可以是块语句。(对)、2-40循环语句中,表达式必须是逻辑型表达式。(对)2-41在 Java语言中,break语
17、句不能作用在 标号名 的左边。(错)2-42 Java语言中,数组在静态和动态赋值时都判越界。(对)2-43说明或声明数组时不分配内存大小,创建数组时分配内存大小。(对)2-44基本数据类型的数组在创建时系统将指定默认值。(对)2-45数组在定义时可以进行初始化,使用初始值表。(对)2-46 Java语言中数组元素只有下标表示,没有指针表示。(对)2-47创建数组时,系统自动将数组元素个数存放在length变量中,可供用户对数组操作时使用。(对)2-48字符串可分为字符串常量和字符串变量两种,它们都是对象。(对)2-49 Java语言中不使用字符数组存放字符串(对)2-50下列创建字符串s 的
18、方法是错误的。(对)charch 口 二;chars=newchar(ch);计算表达式的值,上机验证其结果题2-1 已知:inta=3,b=5;求下列表达式的值:(1)(a+b)%b(2)b a(3)-ba(4)A&b(5)+a-b+2-1 已知:doublex=1.5,y=2.8;求下列表达式的值:(1)x+y(2)x+4/5(3)2*x=y(4)y/6*6(5)y+=x-=l答 案(1)false(2)1.5(3)false(4)2.8(5)3.32-3 已知:Booleanb 1 =true,b2=false;inta=6;求值:(1)bl&b2(2)!bl&b2|b2(3)b2&bi
19、|!b2(4)bl!=b2(5)!(a6)&a6|b2=true)答案:(1)false(2)false(3)true(4)false(5)true2-4 已知:inta=3,5,7,9;求值:(1)a0+al(2)a3=6(3)a2*a34*a3(4)(a0+=al)+a2(5)for(inti=l;i4;i+)答案:a0+=ai;(1)8(2)6(3)true(4)16(5)24分析程序输出结果题2-1 Exer2_l.java 程序publicclassExer2_ 1publicstaticvoidmain(Stringargs)inti=3;chare=p;floatf=3.5f;d
20、oubled=32.56;shorts=25;booleab=true;stringst=,new,;)输出结果如下:i+s=28d+f=36.06st+nyearH=newyearc+2=r!b|b=trueb?i:d=3.02-2 Exer2_2.java 程序publicclassExer2_2(publicstaticvoidmain(Stringargs)(intsuma=O,sumb=O;for(inta=0,b=0;a5;a+4-,b+)(suma+=a;sumb十=b;)输出结果如下:suma=10,sumb=602-3 Exer2_3.java 程序publicclassEx
21、er2_3(publicstaticvoidmain(Stringargs)(inti,j;First_Loop:for(i=l;i50;i+)for(j=2;ji;j+)if(i%j)=OcontinueFirst_Loop;)输出结果如下:1235711131719232931374143472-4 Exer2_4.java 程序publicclassExer2_4(publicstaticvoidmain(Stringargs)(charch=,B;switch(ch)输出结果如下:42-5 Exer2_5.java 程序publicclassExer2_5(publicstaticvo
22、idmain(Stringargs)(inta=3,b=5;if(a=3)if(b=l)a+;elseb+;intx=l,y=4;if(x=2)(if(y=4)x+;)elsey+;)输出结果如下:3,51,52-6 Exer2_6.java 程序publicclassExer2_6(publicstaticvoidmain(Stringargs)(inti;for(i=l;i2)elseif(i=5)break;)输出结果如下:BABAABABABi=52-7 Exer2_7.java 程序publicclassExer2_7(publicstaticvoidmain(Stringargs)
23、(longjl=l,j2=l;for(inti=5;i=l;i-)jl*=i;for(inti=4;i=l;i-)j2*=i;)输出结果如下:5!4!=1442-8 Exer2_8.java 程序publicclassExer2_8publicstaticvoidmain(Stringargs)|Stringsl=n123456u;charch=t4V56,778,);doubledf;d=newdouble5;d0=1.2f;dl=2.3f;d2=3.4f;d3=4.5f;d4=5.6f;Strings2=MabV,cd;,ef,;inta=l,2,3,4,5,6,7,8,9);for(in
24、gi=0;i5;i+)for(i=0;i5;i+)d0+=di;for(i=0;i3;i+)(for(intj=0;j3;j+)输出结果如下:si=1234564,5,6.7.8ab;cd;ef1234567892-9 Exer2_9.java程序运行时命令行带有参数。运行格式如下:C:Exer2_9 51 100/程序Exer2_9.java内容如下:publicclassExer2_8(publicstaticvoidmain(Stringargs)(intsum=0;ingi=Integer.parse!nt(argsO);intn=lnteger.parselnt(args 1 );f
25、or(;i=n;i+)sum=+二 i;)输出结果如下:sum=37752-10 Exer2_10.java 程序publicclassExer2_8publicstaticvoidmain(Stringargs)A:for(inti=0;i5;i+)for(ingj=0;j8;j+)(continueA;)输出结果如下:编程题2-11按下列要求写出Java语言的语句。(1)定义一个double型变量d,并赋初值为2.5。该语句如下:Doubled=2.5;(2)在屏幕上输出显示(1)中所定义的变量d 的值。该语句如下:(3)定义一个字符型一维数组ch它的大小为10。该语句如下:charch=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 语言程序设计 第版第章 课后 习题 答案
限制150内