2024年10月自考04747java语言程序设计(一)押题及答案解析_第1页
2024年10月自考04747java语言程序设计(一)押题及答案解析_第2页
2024年10月自考04747java语言程序设计(一)押题及答案解析_第3页
2024年10月自考04747java语言程序设计(一)押题及答案解析_第4页
2024年10月自考04747java语言程序设计(一)押题及答案解析_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

第一章单选+填空+简答

1.【高频考点】编译Java应用程序源程序会产生字节码文件,字节码文件的扩展名为()。

A..javaB..htmlC..classD..exe

答案:C

解析:本题考查Java的命名规则。Java程序文件的扩展名为.java,编译后生成的字节码文件的扩展名

为.class。

2.【高频考点】HelloWorld程序经编译后得到类文件HelloWorld.class,则运行该程序的命令是()。

A.javaHelloWorld.classB.javaHelloWorldC.javacHelloWorld.classD.javac

HelloWorld

答案:B

解析:本题考查Java程序的运行机制。命令中不含有“.class”。“javac”命令负责编译,“java”命令

负责运行。

3.下面关于Java语言的说法中正确的是()。

A.Java是一个纯面向对象的语言B.Java语言中有指针、结构和类型定义的概念C.Java语言是

与平台有关的D.Java语言不支持多线程

答案:A

解析:本题考查Java语言的特点。(1)Java语言的特点包括语法简单、与平台无关、解释编译两种运行方

式、多线程和丰富的API及类库。(2)语言简单的特点中包括无指针、结构和类型定义等概念和面向对象的特

性。

4.在Java程序中,整个程序的运行入口的关键字是()。

A.publicB.mainC.staticD.String

答案:B

解析:本题考查Java程序的基本形式。Java程序由类构成,含有一个main()方法,整个程序的运行入口

是main()方法,方法执行完毕,整个程序结束。

5.在设置好环境变量后,在命令行窗口输入“____”,如果系统给出了帮助信息,说明设置正确。

答案:javac

解析:本题考查环境变量的安装与设置。测试环境变量设置是否正确,需要在命令行窗口输入“javac”进行

验证。

6.在编译过程中,编译器需要将Java程序编译成____才能被虚拟机识别。

答案:字节码

解析:本题考查字节码的概念。字节码是Java编译器将Java代码编译成虚拟机能够识别的二进制代码。

7.JDK文档中有许多____文档,这些文档可以帮助程序员开发自己的类和程序。

答案:API

解析:本题考查API文档的含义。JDK文档中有许多HTML文件,这些是JDK提供的应用程序编程接口文档,

是使用Java语言开发的类集合,从来帮助程序员开发自己的类和程序。

8.【高频考点】请简述由Java虚拟机支持的程序运行机制。

答案:(1)Java编译器先将Java程序编译成字节码;(2)JVM在执行字节码文件时,把字节码解释成具体

平台上的机器指令执行。

解析:本题考查由Java虚拟机支持的程序运行机制。

第二章单选+填空+简答

1.下列标识符正确的是()。

A.usernameB.classC.7User_nameD.%Sun

答案:A

解析:本题考查标识符的命名规则。在Java语言中,数字不能作为标识符的开头,关键字不能作为标识符,

且标识符中不能含有除了下划线(_)和美元符($)以外的其他符号。

列选项中,不是Java语言关键字是()。2.下

A.forB.thisC.mainD.while

答案:C

解析:本题考查Java语言中的关键字。for、this和while都是关键字,只有main不是关键字。

3.【高频考点】下列选项中,能作为Java语言注释的是()

A.从//开始到行尾B.从//到*/结束C.从/*到//结束D.从/**到行尾

答案:A

解析:本题考查Java语言的三种注释方式。Java语言中三种注释方式包括“//在一行内注释”、“/*一行

或多行注释*/”和“/**文档注释*/”。

4.下列选项中,可以作为Java变量名的是()。

A.byPercentB.finalC.HelloWorldD.default

答案:A

解析:本题考查程序编写格式要求。其中B和D选项属于Java语言关键字。再根据Java命名规则可知,C

选项是类名,A选项是Java变量名。

5.下列选项中,不属于Java语言基本数据类型的是()。

A.布尔型B.浮点型C.数组D.整型

答案:C

解析:本题考查Java语言中的数据类型。Java语言数据类型包括基本数据类型和复合数据类型,而基本数

据类型包括整型、浮点型、字符型和布尔型。

6.整数类型short的字节大小是()。

A.1B.2C.4D.8

答案:B

解析:本题考查各类型的表示范围。整数类型中byte的字节数是1,short的字节数是2,int的字节数是

4,long的字节数是8。

7.浮点数类型double的长度是()位。

A.16B.32C.64D.128

答案:C

解析:本题考查各数据类型的表示范围。浮点数类型中float的浮点数长度为32位,double的浮点数长度

位64位。

8.下列选项中不是转义字符的是()。

A.\nB.\141C.\u0061D.\0061

答案:D

解析:本题考查转义字符。A选项属于转义字符,它的含义是“换行符”。字符常量的转义字符中,(1)

“\???”可以表示一个具体的字符,“???”表示一个3位8进制数,(2)“\u????”也可以表示一个具体的字

符,(3)“????”表示一个4位的16进制数。所以B和C选项符合规则,D选项不符合规则。

9.运算-10%3的结果是()。

A.1B.-1C.3D.-3

答案:B

解析:本题考查运算符。“%”是取模的意思,取模操作用于负数时,结果符号与第一个操作数的符号相同。

通过运算后结果为“-1”。

10.【高频考点】以下类型转换中,必须进行强制装换的是()。

A.short→floatB.short→longC.long→byteD.byte→short

答案:C

解析:本题考查表达式的提升和装换。在C选项中,byte型的位数比long型的位数少,所以long型转换到

型需要强制转换。其他选项中箭头前类型b的yt位e数都比箭头后类型的位数少,可以自动转换,不需要强制转

换。

11.【高频考点】在Java语言中,常见的在行内注释的方式是____。

答案://

解析:本题考查Java语言的三种注释方式。Java语言中三种注释方式包括“//在一行内注释”、“/*一行

或多行注释*/”和“/**文档注释*/”。

12.在Java语言中,关键字char表示的基本数据类型是____。

答案:字符类型

解析:本题考查Java语言中的数据类型。(1)整数类型包括byte、short、int和long,(2)浮点数类型

包括float和double,(3)字符类型包括char,(4)布尔类型包括boolean。

13.在Java语言中表示退格键(Backspace)的转义字符是____。

答案:\b

解析:本题考查转义字符。在转义字中“\b”表示退格键(Backspace)。

14.【高频考点】算式-256>>4的十进制结果是____。

答案:-16

解析:本题考查运算符。(1)“>>”是右移运算符,256的二进制表示中,最低8位是20000000。

因为是负数,符号位为1。(2)右移4位后得到的二进制数的最低8位是00002000,(3)因为算数右移不改变

原数的符号,所以符号位仍为1,该数等于十进制数-16,所以答案是-16。

15.假设x的类型是byte,y的类型是int,则x+y的类型是____。

答案:int

解析:本题考查表达式的提升和转换。由于int型比byte型的位数多,所以二者运算后的类型为int。

16.【高频考点】请写出Java语言中的三种注释方式及其用法。

答案:(1)“//”在一行内注释;(2)“/*...*/”在一行或者多行中注释;(3)“/**...*/”在文档中

注释。

解析:本题考查Java语言的三种注释方式。Java语言中三种注释方式包括“//在一行内注释”、“/*一行

或多行注释*/”和“/**文档注释*/”。

17.【高频考点】请写出表示条件“x左移2位后小于6或者y是偶数”的Java表达式。

答案:x26||y%2==0

解析:本题考查运算符。“左移”符号为“”,“小于”符号为“”,“或者”符号为“||”,“y是偶数”

的表达式为“y%==0”。

第三章单选+填空+简答

1.下列选项中,不属于循环语句的是()。

A.if语句B.while语句C.do语句D.for语句

答案:A

解析:本题考查循环语句。循环语句包括for循环语句,while循环语句和do循环语句。if语句属于分支语

句。

2.【高频考点】关于if语句,下列说法不正确的是()。

A.if的个数可能多于else的个数B.else语句属于逻辑上离它最近的if语句C.if语句可以有

多重选择D.if语句最多只有两个分支

答案:C

解析:本题考查if语句。(1)if语句中可以没有else语句,所以A选项正确。(2)Java规定else子句

属于逻辑上离它最近的if语句,所以B选项正确。(3)if语句只有单重选择,最多只有两个分支,分别是if和

,所以D选项正确,C选项不正确。else

3.Java语言中对异常进行处理时,不论是否捕获到异常,对于final后面的语句()。

A.都要执行B.符合特定条件执行C.有时执行有时不执行D.一律不执行

答案:A

解析:本题考查异常处理机制。当程序运行时出现catch()中指定异常时,将执行catch后的复合语句,

否则不执行。但final后面的语句不论是否出现异常都会执行。

4.下列异常中属于受检时异常的是()。

A.IOExceptionB.NullPointExceptionC.RuntimeExceptionD.ClassCastException

答案:A

解析:本题考查异常分类。受检时异常包括ClassNotFoundException、FileNotFoundException、

IOException、NoSuchMethodException和WriteAbortedException。B选项和D选项属于运行时异常。C选项是运

行时异常类。

5.假设有定义Stringname=null,则下列选项中将引发异常的是()

A.if(name!=null&&name.length()==0)B.if(name==null||name.length()==0)C.inta=

name.length();D.inta=(name==null?0:name.length())

答案:C

解析:本题考查异常。(1)选项A中条件表达式为逻辑与表达式,左侧表达式name!=null的结果为

false,所以逻辑表达式短路,右侧表达式不会计算,不会引发异常。(2)B选项中条件表达式为逻辑或表达式,

左侧表达式值为true,所以整个逻辑表达式短路,右侧表达式name.length()==0不会执行,所以不会引发异常。

(3)C选项中name在没有初始化的情况下直接引用,会引发异常。(4)D选项是一个条件表达式,其中条件为

name==null,其值为true,所以三元表达式的值为0,name.length()不会执行,故不会引发异常。故选C

6.【高频考点】一个Java程序中同时含有package语句、import语句和public语句,在程序起始行的语句是

____。

答案:package语句

解析:本题考查Java程序结构。package语句是包语句,要放在文件最开始的地方。import语句是引入语

句,要放在类定义的前面。public语句是类定义语句。

7.一个源文件中,public类型的类____。

答案:只能有一个

解析:本题考查Java程序结构。在Java程序中,一个源文件中如果有多个类,则最多只能有一个public类

型的类,其他非public的类的个数不限。

8.如果想将自己编写的源代码组织称一个包时,可以用____语句来命名。

答案:package

解析:本题考查包的概念。Java程序中包用package语句来命名。包的使用目的就是将相关的源代码文件组

织在一起。

9.与顺序流相对应的Java语句是____语句。

答案:赋值

解析:本题考查Java主要语句的句义。Java主要语句有赋值语句、分支语句和循环语句,与其相对应的分

别是顺序流、分支流和循环流。

10.有如下Java程序段该程序最终的输出结果是____。

答案:正确

解析:本题考查if分支语句。程序最开始给i赋值为4,因为4大于等于(>=)3,所以执行else语

句,所以输出结果为“正确”。

11.空指针异常(NullPointerException)是Java中最难查找和调试的一种异常,它属于____异常。

答案:运行时

解析:本题考查异常分类。Java类库中下列类表示运行时异常ArithmeticException、

ArrayIndexOutOfBoundsException、ClassCastException、EmptyStackExcepton、IllegalArgumentException、

IllegalStateException、IndexOutOfBoundsException、NullPointerException和

UnsupportedOpeationException。

12.在方法体中,需要用关键字____实际抛出一个异常。

答案:throw

解析:本题考查异常抛出和捕获。在方法头中用Java保留字throws来声明这个方法可能抛出的异常,在方

法体中用保留字throw实际抛出一个异常。

13.请用switch语句写出与以下if语句等价的程序。

答案:

解析:本题考查switch语句。依据switch语句与if语句的相似性改编程序,条件相同,只需注意“case”

的用法。

14.请简述Java中是如何处理异常的。

答案:在Java中有两种处理异常的方法。一种是在方法体中用throw抛出异常,(2分)另一种是利用try-

catch语句捕获异常类,并进行相应的处理。(2分)

解析:本题考查异常抛出或捕获。

第三章程序填空+程序分析+程序设计

1.【高频考点】以下方法的功能是求100以内的奇数和。

答案:①i=100;

②i%2==1;③sum+=i。

解析:本题考查for循环。首先要了解for循环的基本形式,其次要对应题目条件写出对应的程序语句。

(1)因为题目要求“100以内”,所以第一空填“i=100”。(2)第二空是if条件语句,因为题目要求为奇数,

Java程序中奇数的表达方式是“i%2==1”,意为i除以2的余数为1。(3)第三空是迭代语句,使定义sum每次

加一继续循环。

2.【高频考点】阅读下列程序,请写出该程序的功能。

答案:该程序使用循环把26个小写英文字母按顺序存入一个一维数组,并将其逆序存放。最后再根据处理后的字

符数组创建一个字符串并输出。

解析:本题考查for循环、构造字符串和创建数组。(1)首先利用循环将小写字母存入字符数组中,通过

“a”依次相加,所得结果强制类型转换为char类型。(2)然后利用中间变量c将数组逆序。(3)最后利用

String类的构造方法构造字符串。

3.阅读下列程序,写出该程序的功能。答案:

该程序的功能是找出100~999中的水仙花数,就是各个数字的立方之和等于该数。

解析:本题考查流程控制语句for循环语句。

4.请编写程序,要求为:给定5个数字,分别是10、20、30、40和50,但是输出结果为10和20。

答案:解析:本题考查break语句。

5.方法intgetNum(intn)的功能是计算整数n的位数。请用do-while语句设计程序。

答案:解析:本题考查do-while语句。(1)首先设位数为x,且初始值

为0。do语句中可以让n除以10(n/=10相当于n=n/10),直到结果为0,同时让x自加,此时就可以直到n的位

数。(2)最后在while语句中添加判断语句do语句中值为假的条件,即当n为0时的相反值——n不为0时的条

件即可。

6.以下程序的功能是:输入3个整数,系统会将这3个数从大到小输出。

答案:

解析:本题考查流程控制语句if语句。可以把最

小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果

x>z则将x与z的值进行交换,这样能使x最小。然后利用if语句进行程序编码。

第四章单选

1.在Java程序中,类的关键字是()。

A.publicB.staticC.classD.true

答案:C

解析:本题考查类的声明。定义类的关键字是class,表明其后定义的是一个类。

2.Java中表示可以被同一包中及其子类访问的访问权限修饰符是()。

A.publicB.protectedC.privateD.class

答案:B

解析:本题考查类的声明。类中的访问修饰符有public、protected和private。(1)public修饰的成员表

示是公有的,可以被任何对象访问。(2)而private的成员只能被这个类本身访问。(3)被protected修饰的成

员可以被同一包中及其子类访问。

3.定义一个类时,如果没有为类定义构造方法,则()

A.系统什么也不做B.系统会提示一条错误信息C.系统会创建一个带参数的构造方法D.系

统会创建一个不带参数的构造方法

答案:D

解析:本题考查构造方法。(1)每个类都必须至少有一个构造方法,如果程序员没有为类定义构造方法,系

统就会自动为该类生成一个默认的构造方法。(2)默认构造方法的参数列表及方法体均为空,所以生成的对象的

性值也为零或空。各属

4.创建对象时用到的关键字是()。

A.publicB.classC.newD.static

答案:C

解析:本题考查创建对象。Java中用new来创建对象。

5.构造方法通常说明为()类型。

A.finalB.publicC.nativeD.abstract

答案:B

解析:本题考查构造方法。构造方法不能说明为native、abstract、synchronize或final类型,通常说明

为public类型的。

6.【高频考点】在对构造方法进行重载时,通常使用关键字()。

A.publicB.staticC.thisD.final

答案:C

解析:本题考查构造方法重载。构造方法重载时,由于构造方法中可能会有重复代码,为了简化代码的书

写,可以使用关键字this来指代本类中的其他构造方法。

7.下列叙述中,不正确的是()。

A.构造方法没有返回值B.构造方法可以有多个C.构造方法的参数列表可以不同D.构造方

法的调用与普通方法相同

答案:D

解析:本题考查构造方法。构造方法没有返回值,每个类至少有一个构造方法。普通方法可以从父类继承,

但是构造方法不能。所以D选项错误。

8.【高频考点】下列关于this的说法中正确的是()。

A.this特指对某个成员的引用B.this不能在静态函数中引用C.this是对某个类的引用D.

this可以用在构造函数中

答案:D

解析:本题考查this引用。在类定义的方法中,(1)Java自动用this关键字把所有的变量和方法引用结

合在一起,this是指对象本身,可指代所在的具体对象。(2)通过this可以引用所在对象的成员变量和方法,

也可以在其中一个构造方法中引用另一个构造方法。故选D。

9.()不是方法定义中的必需部分。

A.参数B.块(方法体)C.修饰符D.方法名

答案:A

解析:本题考查定义方法。根据定义方法的一般格式为:修饰符返回类型方法名(参数列表)块可以看出

修饰符、方法名和块都是必需的,对于构造函数可以将返回值省略,其他方法必须明确写出来,参数列表可以有也

可以没有。故选A

10.下列关于方法重载不正确的是()。

A.方法重载可以允许多个方法使用同一方法名。B.方法重载中方法的参数列表必须不完全相同。

C.方法重载中方法的返回值类型可以相同也可以不同。D.方法重载中方法签名可以相同。

答案:D

解析:本题考查方法重载。方法重载中,方法签名一定不能相同。其他说法正确。

11.下列关于静态成员的描述错误的是()。

A.静态方法可以引用一般的实例变量。B.静态成员需要用static修饰。C.静态成员分为静态

变量和静态方法。D.静态成员可以在不创建类的对象的情况下直接引用。

答案:A

解析:本题考查静态成员。(1)静态成员指用static修饰的类的成员,称为静态成员或类成员,包括静态

和静态方法。(2)静态变量在类定义时分变配量内存,此时还没有创建对象,所以静态变量可以在创建对象之前

引用。(3)由于静态方法可以在没有定义类的对象的情况下进行调用,所以静态方法只能使用内部定义的参数或

静态变量。故选A。

12.下列关于静态方法的描述正确的是()。

A.静态方法可以被重写。B.静态方法可以引用所在类的任意变量。C.静态方法不依赖于特定对

象。D.静态方法必须创建一个对象后方可使用。

答案:C

解析:本题考查静态方法。(1)静态方法也称类方法,在尚未创建一个对象实例的时候就可以引用,故静态

方法不依赖于特定对象。(2)由于静态方法可以在没有定义它所属类的对象时加以调用,所以静态方法只能使用

其内部定义的参数或静态变量,同时,静态方法不能被重写。故选C。

13.关于自动拆箱和自动装箱的操作正确的是()。

A.inti=10;这条语句执行自动装箱操作。B.Longx=1.2;这条语句执行自动装箱操作。C.

Integerk=10;这条语句既不执行自动装箱操作也不执行自动拆箱操作。D.Integerk=10;这条语句执行

自动拆箱操作。

答案:B

解析:本题考查自动拆箱装箱。(1)选项A是将基本类型int型常量赋值为基本类型int变量,故不会执行

自动拆箱和自动装箱操作。(2)选项B是将基本类型long的常量赋值为包装类型Long类的对象,所以会执行自

动装箱操作。(3)选项C和D是将基本类型int的常量赋值为包装类型Integer的对象,所以会执行自动装箱的

操作。故选B。

第四章填空+简答

1.访问权限修饰符中,类中限定为____的成员只能被这个类本身访问。

答案:private

解析:本题考查类的声明。类中的访问修饰符有public、protected和private。(1)被public修饰的成

员表示是公有的,可以被任何对象访问。(2)被private的成员只能被这个类本身访问。(3)被protected修饰

的成员可以被同一包中及其子类访问。

2.声明变量后,需要用______来申请相应的内存空间。

答案:new

解析:本题考查创建对象。一般用new为新创建的对象分配内存空间。

3.在对象初始化的过程中,构造方法没有为布尔类型变量赋初值,那么Java会自动给布尔类型赋初值为_____。

答案:false

解析:本题考查创建对象初始化。当通过new为一个对象分配内存时,如果构造方法中没有为成员变量提供

初值,则Java进行自动初始化,对于布尔变量,赋初值false。

4.构造方法在创建对象实例时通过______自动调用。

答案:new

解析:本题考查构造方法的调用机制。构造方法在创建对象实例时通过关键字new自动调用。

5.在方法定义中,若方法不返回任何值,则应该声明为______。

答案:void

解析:本题考查方法定义。关于定义方法,返回类型是方法返回值的类型。如果方法不返回任何值,则应该

声明为void。

6.同一类中多个方法有相同的名字及不同的参数列表,这种情况称为______。

答案:方法重载

解析:本题考查方法重载。允许多个方法使用同一个方法名,这就是方法的重载。

7.用static修饰的类成员称为_______。

答案:静态成员或类成员

解析:本题考查静态成员。在类的定义中还可以定义一种特殊的成员,用static修饰,称为静态成员或类成

员。

8.Character是char数据类型的_____。

答案:包装类

解析:本题考查各数据类型的包装类。char的包装类是character。

9.一般来说,基本数据类型与对象之间的赋值是不相容的,_______仅能用在基本数据类型与对应的包装类之间。

答案:自动装箱与自动拆箱

解析:本题考查自动拆箱和装箱。一般来说,基本数据类型与对象之间的赋值是不相容的,自动装箱与自动

拆箱仅能用在基本数据类型与对应的包装类之间。

10.类中含有两个元素,分别是数据成员变量和______。

答案:成员方法。

解析:本题考查类的声明。

11.请简述类和对象的概念。

答案:类是一个模板,它描述一类对象的行为和状态;对象是类的实例,有状态和行为。

解析:本题考查类和对象的概念。

12.【高频考点】简述Java中访问控制权限有哪些关键字?它们的意义是什么?

答案:Java中访问权限的关键字有public、protected和private。public修饰的成员表示是公有的,可以

被任何对象访问。而private的成员只能被这个类本身访问。被protected修饰的成员可以被同一包中及其子类访

问。

解析:本题考查类的声明。类的声明中包含类定义中的访问权限修饰符。

13.【高频考点】假设学生类“Student”有studentID、name和age三个成员变量,类型依次是字符串、字符

串、整型,且这三个成员变量私有的,请写出学生类的定义。

答案:解析:本题考查类的声明。

14.请简述重载方法的规则。

答案:(1)调用语句的实参列表必须足够判断要调用的是哪个方法;(2)方法的返回值类型可以相同也可

以不同。

解析:本题考查重载方法的两条规则。

第四章程序填空+程序分析+程序设计

1.以下程序的输出结果是:这是由美国苹果公司生产的平板电脑。

答案:

①Stringaddress="美国";②publicstaticvoidmain(String[]args){③Productm=newProduct();

解析:本题考查构造方法的编写。(1)由题目可知程序缺少“美国”这一成员变量,因此需要在①中进行添

加;(2)②中考查的是Java程序的入口main方法的编写;(3)③中表示在创建实例时,需要构造一个Product

方法。

2.阅读下列程序,请写出该程序的输出结果。

答案:姓名

为:王五,性别为:男

解析:本题考查构造方法重载。(1)第一个构造方法中带有参数,第二个构造方法中用this关键字对第一

个构造方法进行重载,(2)第三个构造方法再调用第二个构造方法中的成员变量并为其赋值为“王五”和

“男”。因此输出结果为“姓名为:王五,性别为:男”。

3.设定一个Dog类,它有名字和年龄。名字是“Tom”,年龄是2岁。编写方法并输出。

答案:4.请编写一个日

期类Date,类中有3个私有成员变量day、month和year,还有两个公共成员方法,功能分别为:设置成员变量的

值day,返回成员变量day的值。

答案:解析:本题考查类的声明。根据类的声明的基本格式,即可写出

本段代码。

第五章单选+填空+简答

1.下列关于数组的说法不正确的是()。

A.数组的初始化方法有两种B.数组是一个无序的数组集合C.数组可以先声明再创建D.数

组声明时不用说明容量

答案:B

解析:本题考查数组的声明及初始化。(1)数组的初始化分为静态初始化和动态初始化两种,故A选项正

确。(2)数组是相同类型的元素按一定顺序排列的集合,故B选项错误。(3)数组可以先声明再创建,也可以在

声明的同时进行初始化,故C选项正确。(4)声明数组时并不会为数组分配内存,故不需要指出数组的容量,所

以D选项正确。

2.【高频考点】下列正确定义了一个数组的是()。

A.inta[]B.intaC.inta[3]D.inta[k]

答案:A

解析:声明数组的正确格式为:类型数组名[]。Java中声明数组并不会为数组分配内存,因此方括号[]

中不需要指出数组元素的个数,即数组长度,故C、D错误。而B选项只是声明了一个整形变量。

3.【高频考点】下列选项中,对数组进行正确初始化的是()。

A.inta[]={}B.inta[]={1,2,3}C.inta[]=[1,2,3]D.inta[]=new

int[]

答案:B

解析:本题考查数组的声明。数组的初始化分为静态初始化和动态初始化,静态初始化使用一对大括号{}将

初值括起来,各个元素之间用逗号隔开。

4.【高频考点】程序运行时可以使用()进行数组边界检查。

A.lengthB.IndexC.valueD.append

答案:A

解析:本题考查访问数组元素。Java中,数组下标从0开始,数组中的元素个数length是数组类中唯一的

数据成员变量。程序运行时可以使用length进行数组边界检查。

5.【高频考点】设有Strings="ABCDEFG";则表达式s,subString(3)+s.subString(3,5)的值是()。

A.ABCDDEB.ABCDDEFC.DEFGDEFD.DEFGDE

答案:D

解析:本题考查字符串操作。substring(intbeginIndex,intendIndex)方法截取的字符串从beginIndex

开始,到字符串索引的endIndex-1结束。所以subString(3)截取的字符串为“DEFG”,“subString(3,5)”截

字符串是“DE”,故选D。取的

6.【高频考点】若有Strings="123abc";那么s.charAt(2)的值为()。

A.aB.1C.2D.3

答案:D

解析:本题考查字符串操作。String类的方法charAt(intindex)的作用是返回字符串中index位置的字

符,字符串中的索引数字从0开始,故D选择正确。

7.【高频考点】对于字符串变量s="aBcD",执行方法s.toUpperCase().subString(1)后得到的字符串是()。

A.ABCDB.bcdC.abcdD.BCD

答案:D

解析:本题考查字符串操作。toUpperCase()方法的作用是将当前字符串中所有字符装换为大写形式。使用

得到的字符串是“ABCD”,然后通过subString()方法后得到“BCD”。故选D。

8.下列哪一项不是String类的常用方法。

A.charAt(intindex)B.toLowerCase()C.length()D.append(Strings)

答案:D

解析:本题考查字符串操作。A、B和C选项均为String类中的常用方法,append(Strings)属于

StringBuffer类中的常用方法。

9.以下选项中,定义数组错误的是()。

A.inta[][]=newint[10][10];B.int[]a[]=newint[10][10];C.int[][]a=new

int[10][10];D.inta[][]=newint[10,10];

答案:D

解析:本题考查多维数组的定义及初始化。多维数组的定义分为三种,分别是(1)类型数组名[][];(2)

类型[][]数组名;(3)类型[]数组名[];多维数组初始化中直接分配的格式为:类型数组名[][]=new类型

[数组第一维大小][数组第二维大小]故D选项错误。

10.下列关于数组和Vector的描述正确的是()。

A.Vector的空间大小固定不变。B.Vector可以保存多种类型的数据。C.数组与Vector的作用

一样,可以互换。D.一个数组可以保存多种类型的数据。

答案:B

解析:本题考查Vector类。(1)Vector类可以认为是动态数组,其空间大小可以变化,故A选项错误。

(2)一个数组只能保存一种类型的数据,而Vector类的实例可以保存不同类型的数据,故B选项正确,D选项错

误。(3)数组和Vector类的属性、方法差别很大,不能互换,故C选项错误。

11.下列叙述中,关于Vector类的叙述错误的是()。

A.publicVector()方法的作用是构造一个空向量。B.在使用Vector类时,可以一边创建一边使用。

C.elementCount值不能大于容量值。D.Vector实例大小是可变的。

答案:B

解析:本题考查Vector类。

12.数组的下标是从____开始的。

答案:0

解析:本题考查数组的声明。数组中各元素类型相同,通过下标访问数组元素时,下标从0开始。

13.Java的标准包java.lang中封装了String类和StringBuffer类,其中StringBuffer处理______。

答案:可变字符串

解析:Java的标准包java.lang中封装了String类和StringBuffer类,可以方便地处理字符串。String类

处理不变字符串,StringBuffer处理可变字符串。

14.String类中可以将当前字符串中所有字符装换为大写形式的方法是______。

答案:toUpperCase

解析:本题考查字符串操作。toUpperCase是String类中的常用方法,它的作用是将当前字符串中所有字符

装换为大写形式。

15.类Vector实际保存的元素个数由______记录,这个值不能大于其容量。

答案:elementCount

解析:本题考查Vector类。系统内部会记录Vector类实例的容量capacity,实际保存的元素个数由

elementCount来记录,这个值不能大于容量值。

16.请简述“==”和“equals”两者的区别。

答案:(1)“==”判定两个String对象是否为同一实例,或者说它们在内存中的储存空间是否相同。(2)

“equals”判定两个String对象的内容是否相等,或者说它们对应的字符是否相同。

解析:本题考查“==”和“equals”的区别。

17.请说出Vector类的其中两个特点。

答案:(1)Vector类是变长数组,Vector实例的大小可以根据需要来改变。(2)Vector类保存的元素的

类型可以不一样,可以看作是把不同类型的元素按照动态数组进行处理。(3)Vector类的对象不但可以保存顺序

的一列数据,而且还提供许多有用的方法来操作和处理这些数据。

解析:本题考查Vector的特点。

第五章程序填空+程序分析+程序设计

1.【高频考点】以下函数的功能是:返回一个数组,新数组的长度与方法的参数数组长度相同,而新数组元素的

值和参数数组各元素的值首尾颠倒。

答案:①newint[a.length];②ia.length③x[i]=a[a.length-1-i];

解析:本题考查数组的声明。

2.【高频考点】方法voidmoveNum(inta[])的功能是将数组中的所有奇数移到所有偶数之前。

答案:①ia.length②a[i]%2==1

③a[j]=t

解析:本题考查for循环和访问数组元素。

3.【高频考点】完成以下程序段,实现数组arr中的数据由大到小排序。

答案:①k=6②arr[i]arr[k]③arr[i]=arr[k]

解析:本题考查for循环和访问数组元素。

4.阅读以下程序,写出程序的输出结果。

答案:解析:本题考查for循环、if语句和多维数组。

5.阅读以下程序,回答以下问题。(1)该程序的输出结果是什么?有什么含义?(2)标“√”的代码有什么作

用?答案:(1)输出结果是:842(2)该行

代码的作用是获取每个字符串。

解析:本题考查字符串操作。方法charAt(intindex)的功能是返回字符串中index位置的字符。count1

是8,表示小写英文字符的个数,count2是4,表示数字的个数,count3是2,表示其他字符的个数。

6.阅读下列程序,写出该程序的运行结果。

答案:falsefalse

falsefalsefalsefalsefalsefalsefalsefalse

解析:本题考查for循环和多维数组的创建。

7.阅读下列程序,写出程序运行结果。

答案:2,3,5a,

babcxyz,123(4.1)(4.2)

解析:本题考查数组和字符串操作。(1)对于二维数组来说有两种长度,一种是二维数组的长度

(a.length),另一种是二维数组元素的长度(a[0].length),数组的下标都是从0开始的。(2)方法func()

中的交换只是交换了x和y的值,并没有使s[0]和s[1]发生交换。(3)方法concat(Stringstr)多用是将str

连接在当前字符串的尾部。s2.concat("xyz")连接得到的新字符串并没有赋值,它和s2=s2.concat("xyz")是不同

的。

8.阅读以下程序,回答下列问题。(1)程序第6、8行的输出结果是什么?(2)如果要求输出的两行信息都为

“10”,且不增加新的语句,应该如何修改程序?1importjava.util.Vector;2publicclassTest{3

publicstaticvoidmain(String[]args){4Vectorv=newVector(1,3);5

v.add("字符串");6System.out.println(v.capacity());7v.add(1);8

System.out.println(v.capacity());9}10}

答案:(1)程序第6、8行的输出结果分别为1、4。(2)应将第4行代码修改为:Vectorv=new

Vector(10);

解析:本题考查Vector类的方法。(1)第4行代码创建Vector的实例v时指定了v的初始容量为1,等空

间耗尽后每次递增3个元素空间。(2)第5行代码执行后v中有一个字符串元素,此时容量够用,所以不用增加

空间,所以第6行代码输出为V的容量为1。(3)当执行第7行代码时,发现v的容量已用尽,需要分配新的空

间,根据第4行代码可知,每次增加3个元素空间,所以第7行执行后,v的容量会增加3后变为4,所以第8行

输出为4。(4)根据上述步骤可知,要使v的两次输出容量均为10,只需将第4行代码改为“Vectorv=new

Vector(10);”。

9.编写方法intsearchMaxNumIndex(int[]a),寻找已知数组中最大数的下标并返回。

答案:解析:本题

温馨提示

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

评论

0/150

提交评论