Java高级语言程序设计期末复习资料1.docx
《Java高级语言程序设计期末复习资料1.docx》由会员分享,可在线阅读,更多相关《Java高级语言程序设计期末复习资料1.docx(34页珍藏版)》请在冰豆网上搜索。
Java高级语言程序设计期末复习资料1
第1章、Java语言简介
第2知识点、Java程序的开发过程
【单项选择】1、下列关于classpath环境变量的说法中,哪一个是正确的(难度系数:
易)
A、classpath配置一次后可永久使用
B、没有classpath环境变量就不能运行Java程序
C、classpath环境变量可以让虚拟机找到class文件的目录
D、查看当前classpath配置的命令是:
classpath
参考答案:
C
答案解析:
classpath环境变量可以让虚拟机找到class文件目录,没有配置classpath环境变量时,java虚拟机会自动将其设置为“.”。
查看当前classpath的命令是setclasspath;
【单项选择】2、在下列说法中,选出最正确的一项是()。
(难度系数:
易)
A、Java语言是以类为程序的基本单位的
B、Java语言是不区分大小写的
C、多行注释语句必须以//开始
D、在Java语言中,类的源文件名和该类名可以不相同
参考答案:
A
【单项选择】3、Java属于以下哪种语言?
(难度系数:
易)
A、机器语言
B、汇编语言
C、高级语言
D、以上都不对
参考答案:
C
答案解析:
Java是一门高级编程语言
【单项选择】4、下列选项中不属于Java虚拟机的执行特点的一项是()。
(难度系数:
易)
A、异常处理
B、多线程
C、动态链接
D、简单易学
参考答案:
D
【单项选择】5、下列命令中,可以将文档注释提取出来生成帮助文档的是()(难度系数:
易)
A、javac
B、java
C、javadoc
D、jar
参考答案:
C
答案解析:
可以使用javadoc命令将文档注释提取出来生成帮助文档
【单项选择】6、下列关于Java特点的描述中,错误的是?
(难度系数:
易)
A、Java语言不支持指针
B、Java具有自动垃圾回收的机制
C、Java只能运行在Window和Linux平台
D、Java允许多个线程同时执行
参考答案:
C
答案解析:
JAVA是一门面向对象的语言,它没有指针的概念,并提供了自动垃圾回收的机制,具有跨平台,多线程等特点。
【单项选择】7、下列关于JDK、JRE和JVM关系的描述中,正确的是(难度系数:
易)
A、JDK中包含了JRE,JVM中包含了JRE。
B、JRE中包含了JDK,JDK中包含了JVM。
C、JRE中包含了JDK,JVM中包含了JRE。
D、JDK中包含了JRE,JRE中包含了JVM。
参考答案:
D
答案解析:
JVM是Java虚拟机,JRE是Java程序的运行时环境,JDK是Java程序的编译环境,包含范围递增。
所以从小到大一次是JVM—JRE—JDK。
【单项选择】8、下列选项中,属丁JVM执行过程中的特点的一项是()。
(难度系数:
难)
A、编译执行
B、多进程
C、异常处理
D、静态链接
参考答案:
C
【单项选择】9、在Java语言中,那一个是最基本的元素?
()(难度系数:
易)
A、方法
B、包
C、对象
D、接口
参考答案:
C
【单项选择】10、于Java语言的内存回收机制,下列选项中最正确的一项是()。
(难度系数:
易)
A、Java程序要求用户必须手工创建一个线程来释放内存
B、Java程序允许用户使用指针来释放内存
C、内存回收线程负责释放无用内存
D、内存回收线程不能释放内存对象
参考答案:
C
【单项选择】11、下列属于Java语言的特点的一项是()。
(难度系数:
易)
A、运算符重载(C++可以有)
B、类间多重继承
C、指针操作
D、垃圾回收(java独有)
参考答案:
D
【单项选择】12、下列选项中,不属于java核心包的一项是()。
(难度系数:
易)
A、javax.swing
B、java.io
C、java.util
D、java.1ang
参考答案:
A
【单项选择】13、下列描述中,不正确的是()。
(难度系数:
易)
A、Java不支持多线程
B、一个Java源程序中不允许有多个公共类
C、Java程序可以划分为两大类:
Application和Applet
D、Java通过接口支持多重继承
参考答案:
A
【单项选择】14、下列哪个不是面向对象程序设计方法的特点?
()(难度系数:
易)
A、抽象
B、继承
C、多态
D、结构化
参考答案:
D
【单项选择】15、下列选项中,可以正确配置classpath的命令是()A.setclasspath=C:
\ProgramFiles\Java\jdk1.7.0_15\binB.C.D.(难度系数:
易)
A、setclasspath=C:
\ProgramFiles\Java\jdk1.7.0_15\bin
B、setclasspath:
C:
\ProgramFiles\Java\jdk1.7.0_15\bin
C、classpathset=C:
\ProgramFiles\Java\jdk1.7.0_15\bin
D、classpathset:
C:
\ProgramFiles\Java\jdk1.7.0_15\bin
参考答案:
A
答案解析:
配置classpath的命令是setclasspath=xxx,并且等于号两边不要有空格。
【单项选择】16、下列关于JDK安装的说法中,错误的是?
A.B.C.D.(难度系数:
易)
A、Oracle公司提供了多种操作系统的JDK
B、开发工具中已经包含了一个JRE,因此可以选择不再安装公共的JRE环境
C、在安装JDK过程中,源代码指的是Java公共的API类
D、开发工具是JDK中的核心功能模块,因此无论是否进行Java程序开发都必须安装
参考答案:
D
答案解析:
只有开发Java程序时,才需要安装开发工具,如果只是运行Java程序,安装JRE即可。
【单项选择】17、下面关于classpath的说法中,错误的是()。
(难度系数:
易)
A、classpath和path环境变量的查看与配置的方式完全相同。
B、为了让Java虚拟机能找到所需的class文件,就需要对classpath环境变量进行设置。
C、从JDK5.0开始,如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。
D、在命令行窗口中配置了classpath后,重新打开新命令行窗口依然生效
参考答案:
D
答案解析:
在命令行窗口设置的classpath只对当前窗口有效
【单项选择】18、.在JDK安装目录下,用于存放可执行程序的文件夹是?
(难度系数:
易)
A、bin
B、jre
C、lib
D、db
参考答案:
A
答案解析:
bin目录用于存放一些可执行程序,如javac.exe(Java编译器)、java.exe(Java运行工具)、jar.exe(打包工具)和javadoc.exe(文档生成工具)等。
【单项选择】19、下面关于javac命令作用的描述中,正确的是(难度系数:
易)
A、可以执行java程序
B、可以将编写好的Java文件编译成.class文件
C、可以把文件压缩
D、可以把数据打包
参考答案:
B
答案解析:
javac命令将java文件编译成java字节码文件。
【单项选择】20、下列描述中不属于Java异常处理机制优点的一项是(D)。
(难度系数:
易)
A、把错误处理代码从正常代码中分离出来
B、按错误类型和差别分组
C、对无法预测的错误的捕获和处理
D、能够处理任何类型的错误
参考答案:
D
第2章、基本类型、数组和枚举类型
第1知识点、基本数据类型
【单项选择】1、下列选项中,按照箭头方向,不可以进行自动类型转换的是(难度系数:
易)
A、byte→int
B、int→long
C、double→long
D、short→int
参考答案:
C
答案解析:
类型转换过程中,只能范围小的自动转成范围大的。
double范围大于long
【单项选择】2、下列选项中关于二维数组的定义,格式错误的是()(难度系数:
易)
A、int[][]arr=newint[3][4]
B、int[][]arr=newint[3][]
C、int[][]arr=newint[][4]
D、int[][]arr={{1,2},{3,4,5},{6}}
参考答案:
C
答案解析:
选项3错误,因为该选项没有给出二维数组的长度
【单项选择】3、下面选项中,哪一个是合法的标识符(难度系数:
易)
A、helloworld
B、1Demo
C、_3_
D、class
参考答案:
C
答案解析:
标识符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java中的关键字
【单项选择】4、下面选项中,哪一个不是Java中的关键字(难度系数:
易)
A、sizeof
B、const
C、public
D、goto
参考答案:
A
答案解析:
sizeof不属于Java语言中的关键字
【单项选择】5、请阅读下面的代码片段publicstaticintadd(inta,intb){returna+b;}下列选项中,可以在main()方法中成功调用add()方法的是(难度系数:
易)
A、intnum=add(1.0,2.0);
B、intnum=add('a','b');
C、intnum=add(true,flase);
D、intnum=add('1','2');
参考答案:
B
答案解析:
调用add方法传入’a’和’b’会自动类型提升为int类型,查找对应的ascii码表值
【单项选择】6、下列整型的最终静态属性i的定义中,正确的是(C)。
(难度系数:
易)
A、finali;
B、staticinti;
C、staticfinalintI=234:
D、finallfloati=3.14f;
参考答案:
C
【单项选择】7、下列选项中,哪一个是十进制数6的二进制值()(难度系数:
易)
A、111
B、101
C、110
D、011
参考答案:
C
答案解析:
十进制转换成二进制就是一个除以2取余数的过程。
把要转换的数,除以2,得到商和余数,将商继续除以2,直到商为0。
最后将所有余数倒序排列,得到数就是转换结果
【单项选择】8、下列选项中,不属于Java中关键字的是(难度系数:
易)
A、const
B、false
C、Final
D、null
参考答案:
C
答案解析:
Java中的关键字都是小写的
【单项选择】9、下列语句中,正确的给出初始值为222.111的单精度浮点数f的定义的一个是()。
(难度系数:
易)
A、floatf=222.111f:
B、floatf=222.111;
C、floatf=222.111d:
D、floatf=‘222.111’;
参考答案:
A
【单项选择】10、下列转义字符中,不合法的是()(难度系数:
易)
A、'\n'
B、'\x'
C、'\r'
D、'\t'
参考答案:
B
答案解析:
Java中的转义字符有\n、\r、\t、\b、\'、\\'、\\等
【单项选择】11、下列关于数据类型的类包装的说法中,不正确的一个是()。
(难度系数:
易)
A、char类型被包装在Character类中
B、int类型被包装在Integer类中
C、包装类有己的常用方法和常数
D、包装类可以被其他的类继承
参考答案:
D
【单项选择】12、下列关于数据类型的说法中,错误的是(难度系数:
易)
A、Java中的数据类型分为基本数据类型和引用数据类型
B、int类型数据占4个字节
C、浮点数类型变量不能赋予一个整数数值
D、布尔类型的变量只有true和false这两个值
参考答案:
C
答案解析:
浮点数类型变量可以赋予一个整数数值
【单项选择】13、下列字符串常量中,哪一个是错误的()(难度系数:
易)
A、“abc”
B、“12’12”
C、“12”12”
D、“”
参考答案:
C
答案解析:
字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号(”“)引起来,一个字符串可以包含一个字符或多个字符,也可以不包含任何字符,但不能包含特殊字符,例如在字符串中表示引号(”),需要用转义字符(\)。
【单项选择】14、下列关于浮点型数据的说法中,不正确的一个是()。
(难度系数:
易)
A、浮点型数据属于实犁数据
B、浮点型数据由数据和小数组成
C、浮点型数据小数位数越少越精确
D、浮点数据包括实型常量和实变量
参考答案:
C
【单项选择】15、下列选项中,不可以被final修饰的是?
()(难度系数:
易)
A、接口
B、类
C、方法
D、变量
参考答案:
A
答案解析:
final关键字可用于修饰类、变量和方法
【单项选择】16、关于变量类型转换的描述中,正确的是(难度系数:
易)
A、只有数据类型相同的数据才能进行运算
B、byte类型和short类型的数据是不能一起运算的
C、两个byte类型数据一起运算时会把先自动提升到int类型再运算
D、两个整型在一起运算时,结果一定是int
参考答案:
C
答案解析:
byte类型和short类型的数据一起运算时会把先自动提升到int类型,再运算
【单项选择】17、现有一个双精度浮点变量声明为doubledValue;下列赋值语句不正确的一个是()。
(难度系数:
易)
A、dValue=Float.POSITIVE_INFINITY;
B、dValue=Float.NaN;
C、dValue=Double.POSITIVE_INFINITY;
D、dValue=(double)|true;
参考答案:
D
【单项选择】18、在Java语言中,String类型的成员变量的默认初始值是()。
(难度系数:
易)
A、false
B、''
C、0
D、null
参考答案:
D
答案解析:
String类型属于引用类型,引用类型的默认初始值为null
【单项选择】19、请阅读下列示例代码,选择程序的输出结果inta=1;intb=a++;intc=++a;intd=a+++++a;System.out.print(a+\",\"+b+\",\"+c+\",\"+d);(难度系数:
易)
A、5,1,3,9
B、5,2,3,9
C、5,1,2,9
D、5,1,3,8
参考答案:
D
答案解析:
++在前表示先运行自加运算,++在后表示后运行自加运算
【单项选择】20、现有2个byte类型的变量bb=126、bb2=5,当执行bbl=(byte)(bb+bb2);语句之后,bb的值应该是()。
(难度系数:
易)
A、-128
B、131
C、-125
D、语句在编泽中出错
参考答案:
C
第3章、运算符、表达式和语句
第1知识点、运算符与表达式
【单项选择】1、关于变量类型转换的描述中,正确的是(难度系数:
易)
A、只有数据类型相同的数据才能进行运算
B、byte类型和short类型的数据是不能一起运算的
C、两个byte类型数据一起运算时会把先自动提升到int类型再运算
D、两个整型在一起运算时,结果一定是int
参考答案:
C
答案解析:
byte类型和short类型的数据一起运算时会把先自动提升到int类型,再运算
【单项选择】2、请阅读下面的代码booleana=false;booleanb=true;booleanc=(a&&b)&&(!
b);intresult=(c==false)?
1:
2;当语句执行完,变量c与result的值为()(难度系数:
易)
A、false和1
B、true和2
C、true和1
D、false和2
参考答案:
A
答案解析:
三元运算符条件表达式为真就返回第一个表达式的值,条件表达式为假就返回第二个表达式的值。
&&运算符的特点是,当且仅当运算符两边的操作数都为true时,其结果才为true,否则结果为false,因此c=false,三元运算符的表达式c==false就为true,因此返回结果为1
【单项选择】3、下面选项中,可以从数组int[]arr={10,1,2,3,4,5,6,7,8,9,10}中求出元素10所对应角标值的是()(难度系数:
易)
A、for(intx=0;x
B、for(intx=1;x
C、for(intx=0;x
D、for(intx=1;x
参考答案:
A
答案解析:
数组的最大角标值比数组的长度小1,并且数组的角标值从0开始。
所以前提条件是x=0且判断条件是x
【单项选择】4、下列选项中,不属于位运算符的是(难度系数:
易)
A、&
B、!
C、^
D、|
参考答案:
B
答案解析:
“!
”是逻辑运算符,表示逻辑非
【单项选择】5、表达式3510/1000的运算结果为(难度系数:
易)
A、3
B、3.51
C、3.510
D、4
参考答案:
A
答案解析:
整数之间相除,会忽略小数部分
【单项选择】6、下面关于字符类型变量的定义中,错误的是()(难度系数:
易)
A、chara='97';
B、charb=65536;
C、charc='\u0061';
D、chard=\'a\';
参考答案:
D
答案解析:
char类型数据在定义时需要使用单引号引起的单个字符,也可以赋值为0-65535之间的数字。
也可以使用Unicode代码来描述
【单项选择】7、程序的运行结果是publicclassExample02{publicstaticvoidmain(String[]args){intx=0;//定义变量x,初始值为0inty=0;//定义变量y,初始值为0booleanb=x==0||y++<0;System.out.println(\"b=\"+b+\",y=\"+y);}}(难度系数:
易)
A、b=false,y=0
B、b=false,y=1
C、b=true,y=0
D、b=true,y=1
参考答案:
C
答案解析:
答案为C。
我们看表达式的执行流程:
首先判断x==0是否成立,判断结果是true成立,那么“||”右边的表达式将不执行,将true的值赋给b,因为右边的表达式不参与运算,所以y的值还是0
【单项选择】8、请阅读下面的程序片段intx=3;if(x>5){System.out.print(\"a\");}else{System.out.print(\"b\");}选择程序的运行结果()(难度系数:
易)
A、a
B、b
C、ab
D、编译错误
参考答案:
B
答案解析:
if语句中的判断条件成立时,会执行if语句中的内容,否则会执行else语句中的内容,很明显3不大于5所以执行else语句的内容,输出结果为b
【单项选择】9、下列选项中,关于运算符“^”的描述正确是(难度系数:
易)
A、二进制位有1,则结果为1
B、二进制位有0,则结果为0
C、二进制位有相同,则结果为1,不同为0
D、二进制位有相同,则结果为0,不同为1
参考答案:
D
答案解析:
位运算符“^”是将参与运算的两个二进制数进行“异或”运算,如果二进制位相同,则值为0,否则为1
【单项选择】10、下列说法中错误的一个是()。
(难度系数:
易)
A、$1_abc是合法的Java标识符
B、局部变量必须先声明后使用
C、void是合法的Java保留字
D、在Java中,类不是用标识符命名的
参考答案:
D
【单项选择】11、请阅读下面的程序publicclassTest{publicstaticvoidmain(String[]args){inta[]={2,0,4,1,8,3,5};inttemp;for(inti=0;ii;j--){if(a[j]a){System.out.println(i);}}}下列选项中,哪一个是程序的运行结果()(难度系数:
易)
A、8,5,4,3,2,1,0
B、0,1,2,3,4,5,8
C、2,0,4,1,8,3,5
D、5,3,8,1,4,0,2
参考答案:
B
答案解析:
数组的冒泡排序法
【单项选择】12、下列标识符中,正确的是()。
(难度系数:
易)
A、1_Back
B、$_Money
C、$-money
D、2-Foward
参考答案:
B
【单项选择】13、下面浮点型数据的定义中,错误的是()(难度系数:
易)
A、floata=1.23;
B、doubleb=1.23;
C、doublec=1.5E4;
D、floatd='a';
参考答案:
A
答案解析:
float类型的数据在定义浮点型数据时,必须在后面加上f或F;double类型的数据在定义时可以在后面加上d或D,也可以不加。
【单项选择】14、下列标识符中,合法的一个是()。
(难度系数:
易)
A、$#@!
$
B、$--$
C、2$$2
D、$22$
参考答案:
D
【单项选择】15、请定义一个由publi