Java语言程序设计(第2版)第1-6章 课后习题答案_第1页
Java语言程序设计(第2版)第1-6章 课后习题答案_第2页
Java语言程序设计(第2版)第1-6章 课后习题答案_第3页
Java语言程序设计(第2版)第1-6章 课后习题答案_第4页
Java语言程序设计(第2版)第1-6章 课后习题答案_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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的大小与命令行参数的个数无关判断题1-1 javac+的语言之前问世的。(错)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

6、 a string.1-2 程序exerl_2.javaimport 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+"'");

7、该程序的输出结果如下input a character:kthe character is k1-3 程序exerl_3.javaimport java.io.*;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.readlin

8、e();catch(ioexception e )system.out.println("the string is '"+str+ " " ");1-4 程序exerl_4.javaimport java.io.*public 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=&

9、quot;+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."。参考程序内容如下import java.io.*;public class prol_1public static void main(string args )system.out.println("hello!how are you."

10、;);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+",var2="+var2);system.out.println("ok!");第2章java语言语法基础选择题2-1 jav

11、a语言所用的字符集中字符是 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语言中字符型数据的长度是 b 位。a. 8b. 16c. 32d. 642-6 下列描述的两种数据类型的长度不相等的是 a 。a. 字

12、符型和布尔型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. 布尔型常量只有两个可选值:t

13、rue和falsed. 字符串常量含有结束符'0 '2-10 下列关于定义符号常量的描述中,错误的是 a,c 。a. 定义符号常量使用关键字constb. 定义符号常量时要赋初值c. 符号常量既可以定义为类成员,又可在方法中定义d. 定义符号常量时必须给出数据类型2-11 下列关于变量的默认值的描述,其中错误的是 b,c 。a. 定义变量而没有进行初始化时,该变量具有默认值b. 字符型变量的默认值为换行符c. 布尔型变量的默认值是trued. 变量的默认值是可以被改变的2-12 下列关于变量定义的描述中,正确的是 a,c 。a. 定义变量时至少应指出变量名字和类型b. 定义变量

14、时没有给出初值该变量可能是无意义值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运算符不会改变

15、变量的值d. 增1 减1运算符前缀运算和后缀运算后表达式值是相同的2-15 关于运算符优先级的描述中,错误的是 d 。a. 在表达式中,优先级高的运算符先进行计算b. 赋值运算符优先级最高c. 单目运算符优先级高于双目和三目运算符d. 逻辑运算符优先级高于逻辑位运算符2-16 下列关于表达式的描述中,正确的是 a,c 。a. 任何表达式都有确定的值和类型b. 算数表达式的类型由第一个操作数的类型决定c. 逻辑表达式的操作数是逻辑型的d. 赋值表达式的类型取决于右值表达式的类型2-17 下列表达式中,非法的是 b,c 。int a=5,b=6;double c=1.1,d=2.2a. a+c+d

16、b. (a+c)- -c. c<<bd. a!=b?c:d2-18 下列关于条件语句的描述中,错误的是 a,c 。a. if语句可以有多个else子句和else if子句b. if语句中可以没有else子句和else if子句c. if语句中的条件可以使用任何表达式d. if语句的if体、else体内可以有循环语句2-19 下列关于开关语句的描述中,错误的是 b,c,d 。a. 开关语句中,default子句可以省略b. 开关语句中,case子句的语句序列中一定含有break语句c. 开关语句中,case 子句和default子句都可以有多个d. 退出开关语句的唯一条件是执行bre

17、ak语句2-20 下列关于循环语句的描述中,错误的是 b,d 。a. 任何一种循环体内都可以包含一种循环语句b. 循环体可以是空语句,也可以是空c. 循环体内可以出现多个break语句d. 循环语句中,循环体至少被执行一次2-21 下列循环语句的循环次数是 d 。int i=5;dosystem.out.println(i-);i-;while(i!=0);a. 0b. 1c. 5d. 无限2-22 下列循环语句中,循环体被执行的次数为 d 。for (int i=0,j=0;(j!=18)|(i<4);i+)a. 3b. 4c. 不确定d. 无限2-23 下列关于java语言的数组描述

18、中,错误的是 d 。a. 数组的长度通常用length来表示b. 数组下标从0开始c. 数组元素是按顺序存放在内在的d. 数组在赋初值和赋值时都不判界2-24 下列关于数组的定义形式,错误的是 a,c,d 。a. inta;a=new int;b. char b;b=new char80c. intc=new char10d. intd3=new int22-25 下列关于字符串的描述中,错误的是 b 。a. java语言中,字符串分为字符串常量和字符串变量两种b. 两种不同的字符串都string类的对象c. java语言中不再使用字符数组存放字符串d. java application程序的

19、main()和参数args是一个string类的对象数组,用它可存放若干个命令行参数判断题2-1 java语言标识符中可以使用美元符。(对)2-2 java语言标识符中大小写字母是没有区别的。(错)2-3 分号(;)、逗号(,)和冒号(:)都可作为java语言中的分隔符。(对)2-4 文档注释符/*/是java语言特有的注释符。(对)2-5 java语言的基础数据类型有4种:整型、浮点型、字符型和布尔型。(对)2-6 java语言的复合数据类型有3种:数组、类和包。(错)2-7 java语言中,字节型与字符型是一样的。(错)2-8 java语言是一种强类型语言,数据类型转换有两种:隐含转换和强

20、制转换(对)2-9 数据由高类型转换到低类型时,采用强制转换,数据精度要受到损失。(对)2-10 布尔型常量可以自动转换为短整型常量 。(错)2-11 java语言使用的是unicode字符集,每个字符在内在中占8位。(错)2-12 java语言的字符串中不隐含结束符。(对)2-13 java语言中定义符号常量使用final关键字。(对)2-14 java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。(对)2-15 java语言中只有无符号的字符型。(对)2-16 字符型变量中只存放一个字符。(对)2-17 定义变量时必须进行初始化,否则变量具有无意义的值。(错)2-18 若定义变

21、量时不进行初始化,则该变量一定具有默认值。(错)2-19 java语言中,变量出现的位置只有一种,即为类体内定义的成员变量。(错)2-20 java语言规定在的程序块中不允许定义同名变量。(对)2-21 求余运算符%可用于整数和浮点数。(错)2-22 关系运算符组成的表达式是逻辑表达式。(错)2-23 逻辑运算符&和&&是没有区别的,都具有逻辑与的功能。(错)2-24 运算符& 是逻辑与运算符还是按位与运算符取决于操作数的类型。(对)2-25 运算符“>>”和“>>>”都是右移运算符,其区别在于对向右移出的位是舍弃还是保留。(错)2

22、-26 赋值运算符组成的赋值表达式中,通常将右边表达式的类型转换为左边变量的类型后再赋值。(对)2-27 三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的(对)2-28 强制类型转换运算符的功能是将一个表达式的类型转换为所指定的类型。(对)2-29 对象运算符instanceof是一个单目运算符,其表达式的值的类的对象。(错)2-30 内存分配运算符new可以为创建的数组分配内存空间,但不能为创建的变量分配空间。2-31 运算符的优先级中,最低的是三目运算符。(错)2-32 运算符的结合性中,除了三目运算符是自右向左外,其余都是自左向右。(错)2-33 关系表达式和逻辑表达式的值都是

23、布尔型的。(对)2-34 赋值表达式的值不能是逻辑型的。(错)2-35 条件表达式的类型总是“?”和“:”之间的操作数的类型。(错)2-36 块语句可能嵌套,外层块语句定义的变量在内层块语句中是可见的(对)2-37 条件自勉中的<条件>表达式可以是任何表达式。(错)2-38 在条件语句的嵌套结构中,一个if子句最多有一个else子句与它配对,而且一定是距离它最近的。(对)2-39 开关语句中,case子句后面的<语句序列>可以是块语句。(对)、2-40 循环语句中,<条件>表达式必须是逻辑型表达式。(对)2-41 在java语言中,break语句不能作用在&

24、lt;标号名>的左边。(错)2-42 java语言中,数组在静态和动态赋值时都判越界。(对)2-43 说明或声明数组时不分配内存大小,创建数组时分配内存大小。(对)2-44 基本数据类型的数组在创建时系统将指定默认值。(对)2-45 数组在定义时可以进行初始化,使用初始值表。(对)2-46 java语言中数组元素只有下标表示,没有指针表示。(对)2-47 创建数组时,系统自动将数组元素个数存放在length变量中,可供用户对数组操作时使用。(对)2-48 字符串可分为字符串常量和字符串变量两种,它们都是对象。(对)2-49 java语言中不使用字符数组存放字符串(对)2-50 下列创建字

25、符串s的方法是错误的。(对)char ch='m',m','n','n'char s=new char(ch);计算表达式的值,上机验证其结果题2-1 已知:int a=3,b=5;求下列表达式的值:(1) (a+b)%b(2) b>>a(3) -b>>>a(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)

26、y+=x-=1答案(1)false(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) !(a>6)&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*a3>4*a3(4) (a0+=a1)+ +a2(5) f

27、or(int i=1;i<4;i+)a0+=ai;答案:(1)8(2)6(3)true(4)16(5)24分析程序输出结果题2-1 exer2_1.java程序public class exer2_1public static void main(string args)int i=3;char c='p'float f=3.5f;double d=32.56;short s=25;booleab=true;string st="new"system.out.println("i+s="+(i+s);system.out.print

28、ln("d+f="=(d+f);system.out.println("st+"year"="+st+"year");system.out.println("!b|b="+(!b|b);system.out.println("b?i:d="+(b?i:d);输出结果如下:i+s=28d+f=36.06st+"year"=new yearc+2=r!b|b=trueb?i:d=3.02-2 exer2_2.java程序public class exer2_2

29、public static void main(string args)int suma=0,sumb=0;for(int a=0,b=0;a<5;a+,b+)suma+=a;sumb+=b;system.out.println("suma="+suma+",sumb="+sumb)输出结果如下:suma=10,sumb=602-3 exer2_3.java程序public class exer2_3public static void main(string args)int i,j;first_loop:for(i=1;i<50;i+)f

30、or(j=2;j<i;j+)if(i%j)=0continue first_loop;system.out.println(i);输出结果如下:1235711131719232931374143472-4 exer2_4.java程序public class exer2_4public static void main(string args)char ch='b'switch(ch)case'a':system.out.println("5"):break;case'b':system.out.println(&quo

31、t;4"):break;case'c':system.out.println("3"):break;default:system.out.println("0");输出结果如下:42-5 exer2_5.java程序public class exer2_5public static void main(string args)int a=3,b=5;if(a=3)if(b=1)a+;elseb+;system.out.println(a+","+b);int x=1,y=4;if(x=2)if(y=4)x+;

32、elsey+;system.out.println(x+","+y);输出结果如下:3,51,52-6 exer2_6.java程序public class exer2_6public static void main(string args)int i;for(i=1;i<10;i+)if(i>2)system.out.println("ab");elsesystem.out.println("ba");if(i=5)break;system.out.println("i="+i);输出结果如下:ba

33、baabababi=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 exer2_8public static void main(string args)string s

34、1="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;i<5;i+)system.out.p

35、rint(chi+",");system.out.println();for(i=0;i<5;i+)d0+=di;system.out.println("d0="+d0);system.out.println(s20+""+s21+""+s22);for(i=0;i<3;i+)system.out.println();for(int j=0;j<3;j+)system.out.print(aij)+" "输出结果如下:s1=1234564,5,6.7.8d0=18.200000

36、047683716ab;cd;ef1 2 34 5 67 8 92-9 exer2_9.java程序运行时命令行带有参数。运行格式如下:c:exer2_951100程序exer2_9.java内容如下:public class exer2_8public static void main(string args)int sum=0;ing i=integer.parseint(args0);int n=integer.parseint(args1);for(;i<=n;i+)sum=+=i;system.out.println("sum="+sum);输出结果如下:s

37、um=37752-10 exer2_10.java程序public class exer2_8public static void main(string args)a:for(int i=0;i<5;i+)for(ing j=0;j<8;j+)system.out.print("*");system.out.println();continue a;输出结果如下:*编程题2-11 按下列要求写出java语言的语句。(1) 定义一个double型变量d,并赋初值为2.5。该语句如下:double d=2.5;(2) 在屏幕上输出显示(1)中所定义的变量d的值。该

38、语句如下:system.out.println("d="+d);(3) 定义一个字符型一维数组ch它的大小为10。该语句如下:char ch=new char10;(4) 定义一个字符串常量s1,其字符串为“abc”string s1="abc"(5) 定义一个boolean型变量b,赋初值为true。boolean b=true(6) 在屏幕上输出显示26个大写字母。实现该功能的程序段如下:for(char ch='a'ch<='z'ch+)system.out.print(ch)system.out.printl

39、n();(7) 将代数式s=a2+2ab+b2写成一个赋值表达式语句。该语句如下:s=a*a+2*a*b+b*b(8) a,b和c是3个int型变量,用条件表达式写出a>b时,c值为a,否则c值为 a,b,c;if(a>b)c=a;elsec=b;(9) 用for循环语句实现下述循环:循环变量m为100,每次m循环减10;当m等于50时退出循环,循环体为空语句。for(int m=100;m=50;m-=10)(10) 使用带标号名的break语句,在双重for循环自勉结构中,一次从内层循环跳出外层循环。该功能程序段如下:f:for(ing i=)for(ing j=)b

40、reak 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;max=min=a0;for(int i=1;i<8;i+)if(max<ai)max=ai;for(int i=1;i<8;i+)if(min>ai)min=ai;for(int i=1;i<8;i+)sum+=ai;sy

41、stem.out.println("max="+max+",min="+min+",ave="+sum/8+",sum="+sum);运行该程序后,输出结果如下:max=90,min=21,ave=53,sum=4242-3 编程将一个浮点型数的整数部分和小数分别输出显示。import java.io.*;public class pro2_2public static void main(string args)double d=23.56dl;d1=d;int n=0;while(true)d-;if(d<

42、;0)break;n+system.out.println("integer="+n+",decimal="+(d1-n);运行该程序后,输出结果请读者自己分析2-4 编程生成fibonacci数列,该数列定义为:f1=f2=1,fn=fn-1+fn-2(n3)程序内容如下:import java.io.*;public class pro2_3public static void main(string args)int f1,f2;f1=f2=1for(int i=1;i<=5;i+)system.out.print(f1+" &qu

43、ot;+f2+" ");f1+=f2;f2+=f1;system.out.println()这里假定生成fiblnacci数列的前20项,可根据需要生成若干项。运行该程序后的输出结果如下:112358132134552-5 编程求出自然数101205中的所有素数。程序内容如下import java.io.*;public class pro2_4public static void main(string args)int n=0;boolean prime=false;for(int i=101;i<=205;i+=2)prime=true;for(int j=2;

44、j<i;j+)if(j%j=0)prime=false;break;if(prime)system.out.print(i+" ");n+;if(n%8=0)system.out.println();2-6 使用switch语句根据考试成绩等级输出百分制的分数段。规定如下:a. 85100b. 7084c. 6069d. <60假定85100分为a,7084为b,6069分为c,<60分为d。程序内容如下:import java.io.*;public class pro2_5public static void main(string args)int

45、a=interger.valueof(value();int n=a/5;if(a<60)n=11;switch(n)case 20:case 19:case 18:case 17:system.out.println("a");break;case 16:case 15:case 14:system.out.println("b");break;case 13:case 12:system.out.println("c");break;case 11:system.out.println("d&qu

46、ot;);输入的分数是通过命令行参数来实现的。假定命令参数为73时,运行该程序输出结果如下:b2-7 百鸡百钱问题。公鸡每只3无,母鸡每只5无,小鸡3只一元,用100元买100只鸡,公鸡、母鸡、小鸡应各买多少?程序内容如下:import java.io.*;public class pro2_6public static void main(string args)for(int a=1;a<34;a+)for(int b=1;b<21;b+)if(3*a+5*b+(100-a-b)/3=100 && (100-a-b)%3=0)system.out.println

47、("公鸡="+a+",母鸡="+b+",小鸡="+(100-a-b);运行该程序后输出结果如下:公鸡=4,母鸡=12,小鸡=84公鸡=11,母鸡=8,小鸡=81公鸡=18,母鸡=4,小鸡=782-8 编程输出如图所示的图形*程序内容如下:import java.io.*;public class pro2_7public static void main(string args)for(int i=1;i<i+9;i+)for(int j=1;j<i+9;j+)if(j<=9-i)system.out.print(&

48、quot; ")elsesystem.out.print("*");system.out.println();第3章 java语言面向对象的特征选择题3-1 下列对封装性的描述中,错误的是( b ).a.封装体包含了属性和行为b.封装体中的属性和行为的访问权限是相同的c.被封装的某些信息在封装体外是不可见的d.封装使得抽象的数据类型提高了可重用性3-2 下列关于继承性的描述中,错误的是(c)a.一个类可以同时生成多个子类b.子类继承了父类的所有成员c. java语言支持单重继承和多重继承d. java语言通过接口可使子类使用多个父类的成员3-3 下列对多态性的描述

49、中,错误的是(a)a. java语言允许运算符重载b. java语言允许方法重载c. java语言允许变量覆盖d.多态性提高了程序的抽象性和简洁性3-4 在类的修饰符中,规定只能被同一包类所使用的修饰符是(b)a. public b.默认 c. final d. abstract3-5 在成员变量的修饰符中,规定只允许该类自身访问的修饰符是(a)a. private b. public c.默认 d. protected3-6 在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是(d)a. public b. private c.默认 d. prot

50、ected3-7 下列关于构造方法的特点的描述中,错误的是(a)a.不可重载 b.方法名同类名 c.无返回类型 d.系统自动调用3-8 下列关于静态方法的特点的描述中,错误的是(d)a.在类体内说明静态方法使用关键字 staticb.静态方法只能处理静态变量或调用静态方法c.静态方法不占用对象的内存空间,非静态方法占用对象的内存空间d.静态方法只能用类名调用3-9 下列对静态初始化器的描述中,错误的是(d)a.静态初始化器是用来对类进行初始化的,而不是对某个对象初始化b.静态初始化器是由关键字 static 和一对花括号组成的语句组c.静态初始化器不同于构造方法,它不是方法d.静态初始化器在产

51、生新对象时,是由系统自动调用的3-10 下列关于抽象类的描述中,错误的是(c)a.抽象类是用修饰符 abstract 说明的b.抽象类是不可以定义对象的c.抽象类是不可以有构造方法的d.抽象类通常要有它的子类3-11 下列关于类的继承性的描述中,错误的是(d)a.继承是在已有类的基础上生成新类的一种方法b.子类继承父类的所有成员c. java 语言要求一个子类只有一个父类d.父类中成员的访问权限在子类中将被改变3-12 下列关于子类继承父类的成员的描述中,错误的是(a)a.子类中继承父类中的所有成员都可以直接访问b.子类中定义有与父类同名变量时,子类继承父类的操作中,使用继承父类的变量;子 类

52、执行自己的操作中,使用自己定义的变量c.当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成 员方法d.方法重载是编译时处理的,而方法覆盖是在运行时处理的3-13 下列关于接口的描述中,错误的是(b)a.接口实际上是由变量和抽象方法构成的特殊类b.一个类只允许继承一个接口c.定义接口使用的关键字是 interface d.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现3-14 下列关于包的描述中,错误的是(a)a.包是一种特殊的类 b.包是若干个类的集合c.包是使用 package 语句创建的 d.包有有包名包和无名包两种3-15 下列常用包中,存放用户图形界面

53、类库的包是(a)a. java.awt b. java.lang c. java.util d.java.io3-16 下列是系统提供的常用的类,所有类的父类的类是(b)a. math b. object c. system d. string判断题3-1 类是一种类型,也是对象的模板。(对)3-2 java语言只支持单重继承,不支持多重继承。(对)3-3 类中说明的方法可以定义在类体外。(错)3-4 class 不是定义类的唯一关键字。(错)3-5 某类的对象可以作为另一个类的成员。(对)3-6 在类体内说明成员变量时不允许赋初值。(错)3-7 最终变量就是java 语言中的符号常量。(对)

54、3-8 静态变量的引用只能使用对象。(错)3-9 静态方法只能处理静态变量。(对)3-10 抽象方法是一种只有说明而无具体实现的方法。(对)3-11 最终方法是不能被当前子类重新定义的方法。(对)3-12 java语言中,方法调用一律都是传址的引用调用。(错)3-13 非静态方法中不能引用静态变量。(错)3-14 静态初始化器是在构造方法被自动调用之前运行的。(对)3-15 抽象方法仅有方法头,而无方法体。(对)3-16 抽象方法一定出现在抽象类中。(对)3-17 最终类,最终方法和最终变量的修饰符都用final 。(对)3-18 创建对象时系统将调用适当的构造方法给对象初始化。(对)3-19 使用运算符new 创建对象时,赋给对象的值实际上是一个地址值。(对)3-20 使用构造方法只能给非静态成员变量赋初值。(对)3-21 创建对象时,该对象占用的内存空间除了非静态的成员变量外,还有非静态的成员方法。(对)3-22 java 语言中,对象成员的表示只使用运算符 “.”。(对)3-23 java 语言中,对象赋值实际上是同一个对象具有两个不同的名字,因为他们都有同一个地址值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论