java程序设计基础含参考答案.docx
《java程序设计基础含参考答案.docx》由会员分享,可在线阅读,更多相关《java程序设计基础含参考答案.docx(30页珍藏版)》请在冰点文库上搜索。
![java程序设计基础含参考答案.docx](https://file1.bingdoc.com/fileroot1/2023-7/4/241a4217-810e-4299-911c-bf17754d75ed/241a4217-810e-4299-911c-bf17754d75ed1.gif)
java程序设计基础含参考答案
“Java程序设计基础”课程习题
一、填空
1.Java程序分两类___Applet___与application,JavaApplication类型的程序,程序从___main方法___开始执行。
2.定义一个Java类时,通过关键字__extends____指明该类的父类。
一个类可以有___1___个父类。
3.用public修饰的类称为_公有类或公用类__。
用public修饰的类成员称为公有成员。
被说明为public的内容可以被__所有其她类___使用。
如果public类文件与使用它的类文件不在同一目录中,需要通过__import____语句引入。
4.用___private___修饰的类成员称为私有成员。
私有成员只能在__本类__中使用。
5.如果子类定义的成员变量与父类的成员变量同名,称为___方法覆盖___,要表明使用子类的成员变量,可以在成员变量前加上关键字__super___。
6.____Object__类就是Java类库中所有类的父类。
7.Java字符使用__16位的字符集,该字符集成为__Unicode____。
8.当子类中定义的方法与父类方法同名时,称子类方法___覆盖___父类方法,子类默认使用自己的方法。
使用父类的同名方法,必须用关键字__super__说明。
9.Java源程序文件名的后缀就是___、java___,Java字节码文件名的后缀就是_、class_____。
10.Java类名的第一个字母通常要求___大写___。
11.Java程序由____类__组成,每个程序有一个主类,Java程序文件名应与____主__类的名称相同。
12.Java__Application_类型的程序需要main()方法,程序从__main____开始执行。
13.布尔型数据类型的关键字就是_boolean__,占用位数就是___1位___,有__true__与_false_两种值。
整型数可以采用_十_、__八_与__十六_三种进制表示。
14.八进制整数以数字__0_开头。
十六进制整数以_0x或0X_开头。
15.int整型数占用__32位内存。
long整型数占用__64位内存。
16.127L表示__长整型____常量。
17.根据占用内存长度将浮点常量分为_double_____与__float____两种。
18.单精度浮点常量占用__32_位内存,双精度浮点常量占用__64位内存。
19.在Java语言中,字符串“ABC\tD\b\n”中包括__7个字符。
20.数学关系44&&x<9____。
数学关系x>3且x<=10对应的Java表达式就是_x>3&&x<=10。
数学关系x>3或x<-10对应的Java表达式就是_x>3||x<-10_。
21.逻辑表达式true&&false&&true的结果就是_false_。
22.__new__运算符的作用就是根据对象的类型分配内存空间。
当对象拥有内存空间时,会自动调用类中的构造方法为对象_初始化_。
23.省略访问修饰符的类只能被同_一包_中的类使用,称之具有包访问特性。
24.用public修饰的类称为_公共类_。
用public修饰的类成员称为公共成员。
被说明为public的内容可以被_所有类_使用。
如果public类文件与使用它的类文件不在同一目录中,需要通过_import_语句引入。
25.用_private_修饰的类成员称为私有成员。
私有成员只能在_本类使用。
26.在类中可以定义多个具有相同名称、但参数不同的方法,这种做法称为__方法重载_。
27.如果子类定义的成员变量与父类的成员变量同名,要表明使用子类的成员变量,可以在成员变量前加上关键字__this__。
28.在java.1ang包中提供了两个字符串类,分别就是_String与_StringBuffer_。
字符串类提供的求字符串长度的方法就是_length()。
29.数学类Math属于_java、lang_包。
数学类提供的常量与函数都就是_static_类型,无需建立数学类对象,可以直接通过类名引用数学类的常量与函数。
例如,引用圆周率π的方法就是Math、PI_。
二、判断
1.++i执行后,i值不变,表达式的值也不变。
(X)
2.浮点型数据的默认类型为float类型。
(X)-----------double
3.设计一般类与主类时,可以有多个一般类,但只能有一个主类。
(√)
4.类必须通过创建对象来引用。
(√)
5.private声明的变量,不能被其它类引用。
(√)
6.StringBuffer类与String类没有区别。
(X)
7.println()与print()没有区别。
(X)
8.JavaApplication与JavaApplet没有区别。
(X)
9.Java程序由类组成。
(√)
10.Java程序由函数组成。
(X)
11.字符$不能作Java标识符的第一个字符。
(X)---------首位不能就是数字
12.一个数组中能够存储不同类型的数据。
(X)
13.二维数组需要用两个下标才能确定数组元素。
(√)
14.在Java语言中,定义数组后就可以使用。
(X)
15.Java提供了许多系统定义类,用户可以直接使用。
(X)
16.final类可以有子类。
(X)
17.没有分配内存空间的对象不能使用。
(√)
18.final类型的变量就是符号常量,其值不能改变。
(√)
19.不可以为类定义多个构造方法。
(X)
20.一个类不能既就是子类又就是父类。
(X)
21.子类可以继承父类的所有成员。
(X)
22.子类只能继承父类成员,不能修改父类成员。
(X)
23.Java语言只支持类的单继承,不支持类的多继承。
(√)
24.在类中定义同名方法时,可以依靠返回值区别同名方法。
(√)
25.Boolean与boolean没有区别。
(X)
三、选择题
1.为AB类的一个无形式参数、无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。
A)staticvoidmethod()B)publicvoidmethod()
C)finalvoidmethod()D)abstractvoidmethod()
3.不能用new运算符创建对象的类就是(B)。
A.静态类B.抽象类c、最终类D.公有类
答:
A:
一般与其她关键字一起用,不能单独使用;
B:
抽象类不能实例化,只能由子类实现
C,D:
可以进行实例化
4.在子类中重新编写父类方法的做法称为(B)。
A.方法重载B.方法覆盖C.方法继承D.方法重用
5.对于构造方法,下列叙述正确的就是(C)。
A.构造方法就是类的一种特殊方法,它的方法名可以任意取
B.构造方法的返回类型只能就是void型
C.如果类中定义了构造方法,系统就不再提供默认构造方法
D.类中必须定义构造方法
答:
A:
方法名只能与当前的类名相同
B:
没有void关键字,可以使用不带返回值的return关键字
C:
类中如果自定义了构造方法,系统就不再提供默认构造方法
D:
类中可以不要构造函数,由系统提供默认的不带任何形参的构造函数
6.为类定义多个名称相同,但参数不同的方法的做法称为(A)。
A.方法重载B.方法覆盖C.方法继承D.方法重用
7.对于构造方法,下列叙述正确的就是(B)。
A)构造函数不允许重载
B)用户不能直接调用构造方法,只能由new运算符调用它
C)父类对象不可以用子类构造方法实例化
D)构造方法就是实现对象初始化的唯一方法
答:
A项:
构造函数可以重载
B项:
不能直接调用,只能在创建实例化时候会自动加载
C项:
子类可以继承父类的非似有属性值,方法,包含构造方法
D项:
构造还有静态语法块
8.类的两种基本成分就是(A)与成员方法。
A)成员变量B)包C)对象D)接口
9.定义接口的关键字就是(C)。
A.extendsB.classC.interfaceD.Public
答:
A就是继承关键字B为类的关键字
C就是定义接口的关键字D就是公共修饰符
10.“/*thelastone*/”就是下列(D)语句。
A)表达式语句B)条件语句C)循环语句D)注释语句
答:
就是注释语句
//单行注释
/*tyhrt*/单行变量常量注释
/**
*多行文本注释
*/
11.当用户退出浏览器时,Applet程序调用的方法就是(A)。
A.stop()B.init()C.start()D.destroy()
12.paint()方法有一个固定的参数,该参数的类型就是(D)。
A.appletB.AppletC.graphicsD.Graphics
13.在编写JavaApplication程序时,若需要使用到标准输入输出语句,必须在程序的开头写上(C)语句。
A、importjava、awt、*;B、importjava、applet、Applet;
C、importjava、io、*;D、importjava、awt、Graphics;
14、对象之间的交互就是通过传递(D)来实现的。
A)对象B)方法C)类D)消息
15、JavaApplet中,用来向Applet窗口输出字符或图形的常用方法为(A)。
A)paintB)initC)drawD)play
16、推出Java语言的公司就是(D)。
A.IBMB.AppletC.MicrosoftD.Sun
17、与Java语言相近的语言就是(B)。
A.BASICB.C++C.FORTRAND.PASCAL
18、System.out.print(12+3)的输出结果就是(A)。
A.15B.123C.“123”D.“15”
19、System.out.print(“12”+3)的输出结果就是(B)。
A.15B.123C.“123”D.“15”
20、在Java语言中,字节数据类型的关键字与默认值就是(A)。
A.byte与0B.byte与1C.boolean与trueD.boolean与false
21、一个字符类型数据占用的二进制位数就是(B)。
A.8B.16C.32D.64
一个字符就是双字节的,2*8=16
22、表示单精度与双精度浮点常量的字母分别就是(B)。
.
A.C与DB.F与DC.B与DD.L与D
23、指出下面哪些就是合法的标识符(B)。
A.3persons
B.TwoUsers
C.*point
D.this
24、指出下面哪些就是将一个十六进制值赋值给一个1ong型变量(D)。
A.1ongnumber=3451。
B.1ongnumber=0345
C.1ongnumber=0345L
D.1ongnumber=0x345L
25、下面的哪些声明就是合法的(D)。
A.1ong1=4990、5D;
B.inti=4L;
C.floatf=1.1;
D.doubled=34.4;
26、1.23E2表示的数据就是(C)。
A1.23×2B.1.23×10-2
C.1.23×102D.0.123×102
27、在Java语言中,只有整型数据才能进行的运算就是(C)。
A.*B./C.%D.+
28、执行下面语句后,a,b与c的值分别就是(C)。
inta=2;
intb=(a++)*3;
intc=(++a)*3;
A.266B.499
C.4612D.399
29、根据下面的代码:
if(x>0){System.out.println(“第一”);}
elseif(x>-3){System.out.println(“第二”);}
else{System.out.println(“第三”);}
判断x的取值在什么范围内时将打印字符串“第二”(D)?
A.x>0
B.x>-3
C.x<=一3
D.x<=0&x>一3
30、用于修饰类的访问修饰符就是(A)。
A.publicB.privateC。
protectedD.statk
31、用abstract修饰的类称为(B)。
A,静态类B.抽象类C.最终类D.公有类
32、用final修饰的类称为(C)。
A.静态类B.抽象类c、最终类D.公有类
33、不能用new运算符创建对象的类就是(B)。
A.静态类B.抽象类c、最终类D.公有类
34、如果希望方法不能在子类中更改,定义方法时要使用的修饰符就是(B)。
A.staticB.finalC.abstractD.native
35、如果希望直接通过类名访问方法,在定义方法时要使用的修饰符就是(A)。
A.staticB.finalC.abstractD.native
36、为类定义多个名称相同,但参数不同的方法的做法称为(A)。
A.方法重载B.方法覆盖C.方法继承D.方法重用
37、在子类中重新编写父类方法的做法称为(B)。
A.方法重载B.方法覆盖C.方法继承D.方法重用
38、定义接口的关键字就是(C)。
A.extendsB.classC.interfaceD.public
39、要引入applet包中的所有类,应使用的语句就是(D)。
A.importjava、applet、AppletB.importjava、applet、Applet;
C.importjava、applet、*D.importjava、applet、*;
40、当启动Applet程序时,首先调用的方法就是(B)。
A.stop()B.init()C.start()D.destroy()
41、当用户退出浏览器时,Applet程序调用的方法就是(A)。
A.stop()B.init()C.start()D.destroy()
42、在Applet程序占用的屏幕上显示文字、图形等信息,应使用的方法就是(A)。
A.paint()B.init()C.start()D.destroy()
43、paint()方法有一个固定的参数,该参数的类型就是(D)。
A.appletB.AppletC.graphicsD.Graphics
44、执行下面的程序段后,向量v的序列就是(C)。
Vectorv=newVector(10);
v.addElement(”C++”);
v.addElement(”Java”);
V.addElement(”Basic”);
V.SetElementAt(“SQL—SeVer”,2);
v.removeElementAt(0);
A.”C++””Java””SQL-Sever”B.”C+十””Java””Basic”
C.”Java”“SQL-Sever”D.”Java””Basic””SQL-Sever”
其中addElement()方法:
将指定的组件添加到此向量的末尾,将其大小增加1。
如果向量的大小比容量大,则增大其容量。
SetElementAt()方法:
将此向量指定index处的组件设置为指定的对象。
丢弃该位置以前的组件。
索引必须为一个大于等于0且小于向量当前大小的值。
删除指定索引处的组件。
此向量中的每个索引大于等于指定index的组件都将下移,使其索引值removeElementAt()方法:
变成比以前小1的值。
此向量的大小将减1。
索引必须为一个大于等于0且小于向量当前大小的值。
45、提供println()方法与print()方法的类就是(B)。
A.PrintStreamB.System
C.InputStreamD.DataOutputStream
四、简答题
1.写出java异常处理的格式,并简要说明。
答:
try{您要抓的有可能发生异常的代码}catch(您要抓的异常代码会出现的类型在这加个变量名代表这种类型){一旦异常出现,这代码块里面的代码会被执行}finally{这里的代码就是即使出现异常或者没有出现异常,这段代码都会被执行}
2.比较两个字符串的方法有哪些?
每个方法的返回值各就是什么数据类型?
答:
①比较两个字符串的字符
equals(Object);
equalsIgnoreCase(StringanotherString);
这两个方法用来比较两个字符串中对应的每个字符就是否相同。
前一个方法认为大小写字符就是有区别的,后一个方法则忽略大小写,比如,认为A与a就是一样的。
如果比较结果相同,则返回值为true,反之,则为false
②比较两个字符串大小
compareTo(Stringstr);
这个方法可以将当前字符串与另一个给定字符串比较,判断哪个更长。
如当前字符串较短,则返回值为-1;如两个字符串长度相等,则返回值为0;如当前字符串较长,刚返回值为1。
③比较两个子字符串的字符
regionMatches(booleanignoreCase,inttoffset,Stringother,intooffset,intlen);
regionMatches(inttoffset,Stringother,intooffset,intlen);
上述两个方法用来比较两个字符串中指定区域的子串。
入口参数中,用toffset与ooff-
set分别指出当前字符串中的子串起始位置与要与之比较的字符串中的子串起始地址;len指出比较长度。
前一种方法可区分大写字母与小写字母,如果在booleanignoreCase处写true,表示将不区分大小写,写false则表示将区分大小写。
而后一个方法认为大小写字母有区别。
由此可见,实际上前一个方法隐含了后一个方法的功能。
④比较两个字符串的前几个字符或者最后几个字符
startsWith(StringPrefix);
startsWith(Stringprefix,inttoffset);
endsWith(Stringsuffix);
第1个方法用来比较给定字符串与当前字符串最初几个字符就是否相同;第2个方法将
当前字符串的一个子串与给定字符串比较瞧就是否相同;而第3个方法比较两个字符串最后几个字符就是否相同。
3.在HTML文件中如何向嵌入的Applet程序传递参数,Applet程序又如何获得这些参数?
答:
由HTML文件嵌入的Applet程序传递参数使用参数param。
Applet小应用程序的实现主要依靠java、applet包中的Applet类。
与一般的应用程序不同,Applet应用程序必须嵌入在HTML页面中,才能得到解释执行;同时Applet可以从Web页面中获得参数,并与Web页面进行交互。
4.Java对标识符有什么规定?
下列标识符中哪些就是Java合法的标识符?
答:
在Java语言中,标识符可以含任意多个字母、数字、下划线或美元符号,但第一个字符必须为字母、下划线或美元符号,Java关键字不能当作Java标识符。
(name、_name、myphone)
2Myclassnewname%xy3—name_name
myphone$s~avy
5.Java字符采用的国际标准编码就是什么?
有何特点?
答:
采用国际化的Unicode字符集。
在这种字符集中,每个字符用二个字节即16位表示。
这样,整个字符集中共包含65535个字符。
其中,前面256个表示ASCII码,使其对ASCII码具有兼容性;后面21000个字符用来表示汉字、日文片假名、平假名与朝鲜文等。
但就是Uni-code只用在Java平台内部,当涉及打印、屏幕显示、键盘输入等外部操作时,仍由具体计算机的操作系统决定表示方法。
比如,用英文操作系统时,则采用8位二进制表示的ASCII码。
6.类与对象的关系就是什么?
如何创建与使用对象?
答:
将具有相同属性及相同行为的一组对象称为类。
对象就是类的具体实例化。
对象的声明:
类名对象名=new类名();
对象的调用:
访问属性:
对象名、属性名;
访问方法:
对象名、方法名();
7.static方法如何调用?
非static方法如何调用?
答:
static方法:
静态方法可以直接通过类名调用,任何的实例也都可以调用,因此静态方法中不能用this与super关键字,不能直接访问所属类的实例变量与实例方法(就就是不带static的成员变量与成员成员方法),只能访问所属类的静态成员变量与成员方法。
因为static方法独立于任何实例,因此static方法必须被实现,而不能就是抽象的abstract。
(在main方法中可以直接调用)
而非static方法要在main方法中新建一个(other1Ot=newother1),然后再用
Ot、show()来调用非static方法要显示的内容。
8.在已有类的基础上派生新类有什么好处?
答:
新类可以从一个或多个已有类中继承成员函数或数据成员,而且新类还可以重新定义或加进新的数据与函数。
9.什么就是类成员方法的重载?
重载的作用就是什么?
答:
方法重载:
就是指存在于同一类中的方法指的就是多个方法拥有同一个名字,每个方法都有一套唯一的不同于其她同名方法的参数列表。
即方法名相同,参数列表不同。
作用:
只写一个方法,根据所传参数不同去调用相对的功能。
10.什么就是成员方法的覆盖?
覆盖的作用就是什么?
答:
若子类中的方法与父类中的某一方法具有相同的方法名、返回类型与参数表,则新方法将覆盖原有的方法。
方法重写又称方法覆盖。
作用:
子类可继承父类中的方法,而不需要重新编写相同的方法。
但有时子类并不想原封不动地继承父类的方法,而就是想作一定的修改,这就需要采用方法的重写。
11.什么就是多态?
实现多态的方法有哪些?
多态就是指一个程序中有多个同名的不同方法,在Java中有两种多态,一种就是使用方法的重载实现多态,另一种就是使用方法的覆盖实现多态。
方法:
"重载"与“重写”
12.接口有哪些特征?
如何定义与实现接口?
特征:
(1)一个Java接口就是一些方法特征的集合,这些方法特征当然来自于具体方法,但一般都就是来自于一些在系统中不断出现的方法。
(2)一个接口只有方法的特征,而没有方法的实现。
因此这些方法在不同的地方被实现时,可以具有完全不同的行为。
(3)Java接口