《Java第2版第16章语言程序设计 课后练习答案由会员分享,可在线阅读,更多相关信息《Java第2版第16章语言程序设计 课后练习答案(62页珍藏版)请在人文库网上搜索。
1、第1章 Java语言概述选择题1-1 在下列概念中,Java语言只保留(B)A. 运算符重载B. 方法重载C. 指针D. 结构和联合1-2 下列关于Java在语言特征的描述中,错误的是(D)A. 支持多线程操作B. Java程序与平台无关C. Java可直接访问程序Internet上的对象D. 支持单继承和多继承1-3 下列关于Java Application在结构特征中,错误的是(C)A. Java程序由一个或多个类组成B. 组成Java程序的几个类别可以放在一个文件或多个文件中C. Java程序的文件名应该与某个类名相同D. 组成Java程序的多个 类中,有而且只。
2.主类1-4 Java编译后生成程序 文件的后缀是(C)A. .objB. .exeC. .classD. .java1-5 下列关于运行字节码文件的命令行参数的描述中,正确的是(A)A. 存储在第一个命令行参数(紧跟命令字的参数)中args0中B. 第一个命令行参数存储在args1中C. 命令行的命令字存储在args0中D.数组args判断题的大小与命令行参数的数量无关 JavaC 以前出现的语言。(错)1-2 Java语言安全性好,可移植性好,与平台无关。(错)1-2 Java语言安全性好,可移植性好,与平台无关。(对)1-3 Java联合概念在语言中被取消,结构概念被保留。(错)1-4 Java数据类型占语言的内部。
3.字节数与平台无关。(对)1-5 Java数组元素可以通过下标和指针来表示。(错)1-6 Java语言源程序不是编译,而是编译解释。(对)1-7 过程和线程在操作系统中没有区别。(错)1-8 Java语言既面向对象又面向网络。(对)1-9 Java程序分为两类:一类是Application程序,另一种是Applet程序。前者又称Java后者又称应用程序Java小应用程序。(对)1-10 Java Application该程序由多个文件组成,可以有或没有主文件。(错)1-11 组成Java Application在几个类别中,只有一个。
4.主类只包含主方法main()。(对)1-12 Java Application在程序中,必须有一个主方法main(),该方法是否有参数。(对)1-13 Java大小写字母在程序中没有区别。(错)1-14 以下两个命令:javac和java编译时使用前者,操作时使用后者。(对)1-15 Java编译后生成字节码文件,后缀是.exe。(错)1-16 机器不能直接识别字节码文件,它必须通过解释器进行解释。(对)1-17 在Java使用程序import语句引入类是在解释器中实现的。(对)1-18 在操作字节码文件时使用java一定要给出字节码文件的扩展名。
5、.class。(错)1-19 Java编译后只生成一个字节码文件,其名称与主类名相同。(错)1-20 Java输出方法出现在程序中println()和print()完全一致。(错)输出结果题1-1分析程序 程序Exerl_1.javaimport java.io.*;public class Exerl_1public static void main (String args )System.out.print(This is a );System.out.println(strint.)该程序的输出结果如下:This is a string.1-2 程序Exerl_2.j。
6、avaImport java.io.*;Public class Exerl_2Public static void mian(String args )Char ch= ;System.out.println(Input a character:);Trych=(char)System.in.read();Catch(IOException e)System.out.println(The character is ch ); 该程序的输出结果如下Input a character:kThe character is k1-3 程序Exerl_3.javaimport java.io.*;。
7、public class Exerl_3Public static void main(String args )String str= System.out.println(Input a string:);TryBufferedReader in =new BufferedReader(new InputStreamReader(System.in);str=in.readLine();Catch(IOException e )System.out.println(The string is str );1-4 程序Exerl_4.javaimport java.io.*public 。
8、class Exerl_4public static void main(String args )A a=new A;a.i=8;a.d=1.25;a.meth(程序输出结果如下);System.out.println(ti= a.i ,d= a.d);class Aint i;double d;void meth(string str)System.out.println(str);该程序输出结果如下所示i=8,d=1.25编程题1-1编写Java Application使程序在运行后输出字符串Hello!How are you.。How are you.。参考程序如下import java.i。
9、o.*;public class prol_1public static void main(String args )System.out.println(Hello!How are you.);1-2 编写一个Java Application程序输出显示以下结果:Var1=10,var2=19.5Ok!参考内容如下:import java.io.*;public class prol_2public static void main(String args )int var1=10;double var2=19.5;System.out.println(var1= var1 。
10、,var2= var2);System.out.println(ok!);第2章Java语言语法基础选择题2-11 Java语言中使用的字符集中字符是 B 位。A. 8B. 16C. 32D. 642-2 在以下关于标识符的描述中,正确的是 A 。A. 下划线和美元符可用于标识符中B. 连接符和井号符可用于标识符中C. 标识符中大小写字母没有区别D. 关键字2-3 Java在语言和各种分离符中,是非法的 D 。A. 空白符B. 分号C. 逗号D. 问号2-4 下列是Java语言中可用的注释是错误的 C 。A. /B. /*/C. /*/D. /*/2-5 Java语言中的字符型数。
11.根据长度 B 位。A. 8B. 16C. 32D. 642-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 。。
12、A. Java有五种语言B. 浮点型数12.456是单精度的C. 布尔型常量只有两个可选值:true和falseD. 字符串的常量包含结束符0 2-10 以下描述定义符号常量是错误的 A,C 。A. 定义符号常量使用关键字constB. 定义符号常量时,应赋予初始值C. 符号常量可以定义为类成员,也可以在方法中定义D. 定义符号常量时,必须给出数据类型2-11 以下对变量默认值的描述是错误的 B,C 。A. 当定义变量而不初始化时,变量具有默认值B. 字符变量的默认值是换行符C. 布尔型变量的默认值是trueD. 变量的默认值是可以被改变的2-12 关于变量定义的以下描述。
13.正确的描述是正确的 A,C 。A. 在定义变量时,应至少指出变量名和类型B. 定义变量时未给出初始值的变量可能是无意义的C. 当定义变量时,逗号可以分隔同一类型的多个变量D. 定义变量时,变量必须初始化2-13 以下关于变量作用域的描述是错误的 D 。A. 在某个作用域定义的变量仅在该作用域内可见,但在该作用域外不可见 见的B. 可用于类中定义的变量作用域C. 定义方法 该方法体内只有变量的作用域D. 在方法中作用域可嵌套,在嵌套的作用域中可以定义同名变量2-14 下列关于增1( )在减1(-)1运算符的描述中,正确的是 A,B 。A. 增1 所有运算符均为单目运。
14、算符B. 增1 减1运算符有前缀运算和后缀运算C. 增1 减1运算符不会改变变量值D. 增1 减1运算符前缀运算和后缀运算后表达值相同 对运算符优先级的描述是错误的 D 。A. 在表达式中,先计算优先级高的运算符B. 赋值运算符优先级最高C. 单目运算符的优先级高于双目运算符和三目运算符D. 逻辑运算符优先于逻辑运算符2-16 在下关于表达式的描述是正确的 A,C 。A. 任何表达式都有确定的值和类型B. 算数表达式的类型由第一个操作数的类型决定C. 逻辑表达式的操作数是逻辑的D. 赋值表达式的类型取决于右值表达式的类型2-17 在下列表达式中,非法是 B,C。
15、 。int a=5,b=6;double c=1.1,d=2.2A. a c dB. (a c)- -C. c和都是右移运算符,区别在于是放弃还是保留右移位置。(错)2-26 在由赋值运算符组成的赋值表达式中,通常在赋值前将右表达式的类型转换为左变量的类型。(对)2-27 在三目运算符的三个操作数中,第一个操作数的类型必须是逻辑(对)2-28 强制类型转换运算符的功能是将表达式类型转换为指定类型。(对)2-29 对象运算符instanceof是单目运算符,其表达值的对象。(错)2-30 内存分配运算符new内存空间可以为创建的数组分配,但不能为创建的变量分配。
16、配空间。2-31 运算符的优级中,最低的是三目运算符。(错)2-32 运算符的结合性中,除了三目运算符是自右向左外,其余都是自左向右。(错)2-33 关系表达式和逻辑表达式的值都是布尔型的。(对)2-34 赋值表达式的值不能是逻辑型的。(错)2-35 条件表达式的类型总是“?”和“:”之间的操作数的类型。(错)2-36 块语句可能嵌套,外层块语句定义的变量在内层块语句中是可见的(对)2-37 条件自勉中的表达式可以是任何表达式。(错)2-38 在条件语句的嵌套结构中,一个if子句最多有一个else子句与它配对,而且一定是距离它最近的。(对)2-39 开关语句中,case子句后面的可以是块语句。
17、。(对)、2-40 循环语句中,表达式必须是逻辑型表达式。(对)2-41 在Java语言中,break语句不能作用在的左边。(错)2-42 Java语言中,数组在静态和动态赋值时都判越界。(对)2-43 说明或声明数组时不分配内存大小,创建数组时分配内存大小。(对)2-44 基本数据类型的数组在创建时系统将指定默认值。(对)2-45 数组在定义时可以进行初始化,使用初始值表。(对)2-46 Java语言中数组元素只有下标表示,没有指针表示。(对)2-47 创建数组时,系统自动将数组元素个数存放在length变量中,可供用户对数组操作时使用。(对)2-48 字符串可分为字符串常量和字符串变量两种。
18、,它们都是对象。(对)2-49 Java语言中不使用字符数组存放字符串(对)2-50 下列创建字符串s的方法是错误的。(对)char ch=m,m,n,n;char s=new char(ch);计算表达式的值,上机验证其结果题2-1 已知:int a=3,b=5;求下列表达式的值:(1) (a+b)%b(2) ba(3) -ba(4) A&b(5) +a-b+答案:(1)3(2)0(3)53670911(4)1(5)-12-1 已知:double x=1.5,y=2.8;求下列表达式的值:(1) x+y(2) x+4/5(3) 2*x=y(4) y/6*6(5) y+=x-=1答案(1)fa。
19、lse(2)1.5(3)false(4)2.8(5)3.32-3 已知:Boolean b1=true, b2=false; int a=6;求值:(1) b1&b2(2) !b1&b2|b2(3) b2&b1|!b2(4) b1!=b2(5) !(a6)&a6|b2=true)答案:(1)false(2)false(3)true(4)false(5)true2-4 已知:int a=3,5,7,9;求值:(1) a0+a1(2) a3=6(3) a2*a34*a3(4) (a0+=a1)+ +a2(5) for(int i=1;i2)System.out.println(AB);elseSy。
20、stem.out.println(BA);if(i=5)break;System.out.println(i=+i);输出结果如下:BABAABABABi=52-7 Exer2_7.java程序public class Exer2_7public static void main(String args)long j1=1,j2=1;for(int i=5;i=1;i-)j1*=i;for(int i=4;i=1;i-)j2*=i;System.out.println(5!+4!+(j1+j2);输出结果如下:5!4!=1442-8 Exer2_8.java程序public class Exe。
21、r2_8public static void main(String args)String s1=123456;char ch=4,5,6,7,8;double d;d=new double5;d0=1.2f;d1=2.3f;d2=3.4f;d3=4.5f;d4=5.6f;String s2=ab,cd,ef;inta=1,2,3,4,5,6,7,8,9;System.out.println(s1=+s1);for(ing i=0;ib时,c值为a,否则c值为b。int a,b,c;if(ab)c=a;elsec=b;(9) 用for循环语句实现下述循环:循环变量m为100,每次m循环减10。
22、;当m等于50时退出循环,循环体为空语句。for(int m=100;m=50;m-=10)(10) 使用带标号名的break语句,在双重for循环自勉结构中,一次从内层循环跳出外层循环。该功能程序段如下:F:for(ing i=)for(ing j=)break F;2-12 编程求出一个一维int型数组的元素最大值、最小值、平均值和所有元素之和。程序内容如下:import java.io.*;public class pro2_1public static void main(String args)int a=23,76,45,21,63,90,46,83;int max,min,sum。
23、;max=min=a0;for(int i=1;iai)min=ai;for(int i=1;i)(=);3-4 成员变量的非访问控制修饰符有(static),(final),(volatile)。3-5 在成员方法的定义中可省略的部分有(修饰符),(参数表),(异常类名列表)。3-6 Java 语言中,重载方法的选择是在(编译)时进行的,系统根据(参数个数),(参数类型),(参数顺序)寻找匹配方法。3-7 没有子类的类称为(最终类),不能被子类重载的方法称为(最终方法),不能被改变值的量称为常量,又称为(最终变量)。3-8 创建一个对象时,通常要包含3项内容:(说明对象),给对象分配空间,(。
24、对象初始化)。3-9 系统规定int型变量默认值为(0),浮点型变量的默认值为(0.0),布尔型变量的默认值为(false)。3-10 Java语言中,定义子类时,使用关键字(extends)来给出父类名。如果没有指出父类,则该类的默认父类为(object类)。3-11 系统规定:表示当前类的构造方法用(this(),表示直接父类的构造方法用(super()。3-12 接口中默认的成员变量的修饰符为(final),默认的成员方法的修饰符是(abstract)。3-13 实现接口中的抽象方法时,必须使用(完全相同)方法头,并且还要用(public)修饰符。3-14 包名与子包名之间用(.)分隔。。
25、加载包的关键字是(import)。3-15 字符串类又包含两大类,它们是(String)和(StringBuffer).分析程序的输出结果题3-1 Exer3_1.javaclass Aint x,y,z,sum;A(int i,int j,int k)x=i;y=j;z=k;sum=x+y+z;boolean sameA(A al)if(al.x=x)&(al.y=y)&(al.z=z)return true;elsereturn false;boolean sameS(A al)if(al.sum=sum)return true;elsereturn false;class Exer3_1。
26、public static void main(String args)A a=new A(2,5,8);A b=new A(2,5,8);A c=new A(5,8,2);System.out.println(a,sameA(b);System.out.println(a,sameA(c);System.out.println(a,sameA(b);System.out.println(a,sameA(c);输出结果如下:truefalsetruetrue3-2 Exer3_2.javaclass Bvoid meth(int i)System.out.println(Int:+i);void meth(double i)System.out.println(Double:+i);class Exer3_2public static void main(String args)int i=8;double d=6.8;short s。