最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

Java高级语言程序设计期末复习资料

来源:动视网 责编:小OO 时间:2025-10-05 23:55:40
文档

Java高级语言程序设计期末复习资料

第1章、Java语言简介第2知识点、Java程序的开发过程【单项选择】1、下列关于classpath环境变量的说法中,哪一个是正确的(难度系数:易)A、classpath配置一次后可永久使用B、没有classpath环境变量就不能运行Java程序C、classpath环境变量可以让虚拟机找到class文件的目录D、查看当前classpath配置的命令是:classpath参:C答案解析:classpath环境变量可以让虚拟机找到class文件目录,没有配置classpath环境变量时,j
推荐度:
导读第1章、Java语言简介第2知识点、Java程序的开发过程【单项选择】1、下列关于classpath环境变量的说法中,哪一个是正确的(难度系数:易)A、classpath配置一次后可永久使用B、没有classpath环境变量就不能运行Java程序C、classpath环境变量可以让虚拟机找到class文件的目录D、查看当前classpath配置的命令是:classpath参:C答案解析:classpath环境变量可以让虚拟机找到class文件目录,没有配置classpath环境变量时,j
第1章、Java语言简介

第2知识点、Java程序的开发过程

【单项选择】1 、下列关于classpath环境变量的说法中,哪一个是正确的 (难度系数:易)

A、 classpath配置一次后可永久使用 

B、 没有classpath环境变量就不能运行Java程序 

C、 classpath环境变量可以让虚拟机找到class文件的目录 

D、 查看当前classpath配置的命令是:classpath

参:C 

答案解析: classpath环境变量可以让虚拟机找到class文件目录,没有配置classpath环境变量时,java虚拟机会自动将其设置为“.”。查看当前classpath的命令是set classpath; 

【单项选择】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、 方法 、 包 

C、 对象 、 接口

参: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. set classpath =C:\\Program Files\\Java\\jdk1.7.0_15\\bin B. C.D.(难度系数:易)

A、 set classpath =C:\\Program Files\\Java\\jdk1.7.0_15\\bin 

B、 set classpath : C:\\Program Files\\Java\\jdk1.7.0_15\\bin 

C、 classpath set =C:\\Program Files\\Java\\jdk1.7.0_15\\bin 

D、 classpath set : C:\\Program Files\\Java\\jdk1.7.0_15\\bin

参:A 

答案解析: 配置classpath的命令是set classpath=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 = new int[3][4] 

B、 int[][] arr = new int[3][] 

C、 int[][] arr = new int[][4] 

D、 int[][] arr = {{1,2},{3,4,5},{6}} 

参:C  

答案解析: 选项3错误,因为该选项没有给出二维数组的长度  

【单项选择】3 、下面选项中,哪一个是合法的标识符(难度系数:易) 

A、 hello world 

B、 1Demo 

C、 _3_ 

D、 class 

参:C  

答案解析: 标识符可以由任意顺序的大小写字母、数字、下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java中的关键字  

【单项选择】4 、下面选项中,哪一个不是Java中的关键字(难度系数:易) 

A、 sizeof 

B、 const 

C、 public 

D、 goto 

参:A  

答案解析: sizeof不属于Java语言中的关键字  

【单项选择】5 、请阅读下面的代码片段 public static int add(int a,int b) { return a + b; } 下列选项中,可以在main()方法中成功调用add()方法的是(难度系数:易) 

A、 int num = add(1.0,2.0); 

B、 int num = add('a','b'); 

C、 int num = add(true,flase); 

D、 int num = add('1','2'); 

参:B  

答案解析: 调用add方法传入’a’和’b’会自动类型提升为int类型,查找对应的ascii码表值  

【单项选择】6 、下列整型的最终静态属性i的定义中,正确的是( C )。(难度系数:易) 

A、 final i; 

B、 static int i; 

C、 static final int I=234: 

D、 finall float i=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、 float f=222.111f: 

B、 float f=222.111; 

C、 float f=222.111 d: 

D、 float f=‘222.111’; 

参:A  

【单项选择】10 、下列转义字符中,不合法的是( )(难度系数:易) 

A、 '\\n' 

B、 '\\x' 

C、 '\\r' 

D、 '\' 

参:B  

答案解析: Java中的转义字符有\\n、\\r、\、\\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 、现有一个双精度浮点变量声明为double dValue;下列赋值语句不正确的一个是( )。(难度系数:易) 

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 、请阅读下列示例代码,选择程序的输出结果 int a = 1; int b = a++; int c = ++a; int d = 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 、请阅读下面的代码 boolean a = false; boolean b = true; boolean c= ( a&&b)&&(!b); int result = (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(int x=1;x 

C、 、 for(int x=1;x 

参:A  

答案解析: 数组的最大角标值比数组的长度小1,并且数组的角标值从0开始。所以前提条件是x=0且判断条件是x 

【单项选择】4 、下列选项中,不属于位运算符的是(难度系数:易) 

A、 & 

B、 ! 

C、 ^ 

D、 | 

参:B  

答案解析: “!”是逻辑运算符,表示逻辑非  

【单项选择】5 、表达式3510/1000的运算结果为(难度系数:易) 

A、 、 3.51 

C、 、 4 

参:A  

答案解析: 整数之间相除,会忽略小数部分  

【单项选择】6 、下面关于字符类型变量的定义中,错误的是( ) (难度系数:易) 

A、 char a='97'; 

B、 char b=65536; 

C、 char c='\a'; 

D、 char d=\\'a\\'; 

参:D  

答案解析: char类型数据在定义时需要使用单引号引起的单个字符,也可以赋值为0-65535之间的数字。也可以使用Unicode 代码来描述  

【单项选择】7 、程序的运行结果是 public class Example02 { public static void main(String[] args) { int x = 0; // 定义变量x,初始值为0 int y = 0; // 定义变量y,初始值为0 boolean b = x==0 || y++<0; System.out.println(\\"b = \\"+b+\\", y = \\"+y); } } (难度系数:易) 

A、 、 b = false, y = 1 

C、 、 b = true, y = 1 

参:C  

答案解析: 答案为C。我们看表达式的执行流程:首先判断x==0是否成立,判断结果是true成立,那么“||”右边的表达式将不执行,将true的值赋给b,因为右边的表达式不参与运算,所以y的值还是0  

【单项选择】8 、请阅读下面的程序片段 int x = 3; if (x > 5) { System.out.print(\\"a\\"); } else { System.out.print(\\"b\\"); } 选择程序的运行结果( ) (难度系数:易) 

A、 、 b 

C、 、 编译错误 

参: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 、请阅读下面的程序 public class Test { public static void main(String[] args) { int a[] = {2,0,4,1,8,3,5}; int temp; for (int i = 0; i < a.length - 1; i++) { for (int j = a.length - 1; j > i; j--) { if (a[j] < a[j - 1]) { temp = a[j]; a[j] = a[j - 1]; a[j - 1] = temp; } } } for (Integer i : 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、 、 $_Money 

C、 、 2-Foward 

参:B  

【单项选择】13 、下面浮点型数据的定义中,错误的是( )(难度系数:易) 

A、 float a=1.23; 

B、 double b=1.23; 

C、 double c=1.5E4; 

D、 float d='a'; 

参:A  

答案解析: float类型的数据在定义浮点型数据时,必须在后面加上f或F;double类型的数据在定义时可以在后面加上d或D,也可以不加。  

【单项选择】14 、下列标识符中,合法的一个是( )。(难度系数:易) 

A、 、 $--$ 

C、 、 $22$ 

参:D  

【单项选择】15 、请定义一个由public修饰符修饰的int型成员变量MAX_LENGTH,并使该值保持为常数100,则定义这个变量的语句是?()(难度系数:易) 

A、 public int MAX_LENGTH=100 

B、 public const int MAX_LENGTH=100 

C、 final int MAX_LENGTH=100 

D、 public final int MAX_LENGTH=100 

参:D  

答案解析: 应题目的要求,需要将该值保持为常数,那么就需要使用关键字final,所以选择D,const是java的保留关键字,在java中使用final定义常量。  

【单项选择】16 、下列说法中,正确的一个是( )。(难度系数:易) 

A、 接口属于复合数据类型 

B、 接口属于简单数据类型 

C、 标识符的总的字符个数是有限的 

D、 标识符就是保留字 

参:A  

【单项选择】17 、下列关于注释语句的描述中,正确的一项是( )。(难度系数:易) 

A、 以//开始的是多行注释语句 

B、 以/*开始,*/结束的是单行注释语句 

C、 以/**开始,*/结束的是可以用于生成帮助文档的注释语句 

D、 以/**开始,*/结束的是单行注释语句 

参:C  

【单项选择】18 、以下字符常量中不合法的一个是( A )。(难度系数:易) 

A、 ’a\n’ 

B、 ’\r’ 

C、 ’\t’ 

D、 ’¥’ 

参:A  

【单项选择】19 、设有类型定义short i=32;long j=;下面赋值语句中不正确的一个是( )。(难度系数:易) 

A、 j=i; 

B、 i=j; 

C、 i=(short)j; 

D、 j=(long)i; 

参:B  

【单项选择】20 、下列Java语句中,不正确的一个是( )。(难度系数:易) 

A、 Double dValue=(float)1233.213f; 

B、 double dValue=(float)1.213E2f; 

C、 char ch=(char)-1; 

D、 char ch=66: 

参:A  

第4章、类与对象 

第1知识点、类 

【单项选择】1 、class A { public final void m() { System.out.println(“A.m”); } } public class B extends A { public void m() { System.out.println(“B.m”); super.m(); } public static void main(String [] args) { new B().m(); } } 那么结果为?(难度系数:易) 

A、 A.m 

B、 B.m 

C、 B.m A.m 

D、 编译错误 

参:D  

答案解析: 不能覆盖A中的m(),因为A中的m()是final的  

【单项选择】2 、抛出异常,使用关键字(难度系数:易) 

A、 try 

B、 throw 

C、 finally 

D、 catch 

参:B  

答案解析: 声明异常的关键字是throws,抛出异常的关键字是throw  

【单项选择】3 、下列关于变量作用域的说法中,正确的是 (难度系数:易) 

A、 在main()方法中任何位置定义的变量,其作用域为整个main()方法 

B、 块中定义的变量,在块外也是可以使用的 

C、 变量的作用域为:从定义处开始,到变量所在块结束位置 

D、 变量的作用域不受块的 

参:C  

答案解析: 变量的作用域为:从定义处开始,到变量所在代码块结束位置  

【单项选择】4 、已知: class Base { public Base(String s) { System.out.print(“B”); } } public class Derived extends Base { public Derived (String s) { System.out.print(“D”); } public static void main(String [] args) { new Derived (“C”); } } 那么结果为?(难度系数:易) 

A、 BD 

B、 DB 

C、 C 

D、 编译错误 

参:D  

答案解析: 子类构造函数中默认第一句为super(),调用父类的无参构造方法,但是父类由于显示地定义了含参构造方法,所以他没有无参构造方法,导致编译错误。  

【单项选择】5 、下列关于方法的描述中,正确的是(难度系数:易) 

A、 方法是对功能代码块的封装 

B、 方法没有返回值时,返回值类型可以不写 

C、 没有返回值的方法,不能有return语句 

D、 方法是不可以没有参数的 

参:A  

答案解析: 如果方法没有返回值,则返回值类型要定义为void。方法中没有返回值也可以使用return语句,格式为return。方法中可以定义参数,也可以不定义参数。  

【单项选择】6 、import语句的作用是(难度系数:易) 

A、 导入包中成员 

B、 创建包 

C、 既可导入包成员,也可创建包 

D、 访问控制 

参:A  

【单项选择】7 、下列关于对象的类型转换的描述,说法错误的是( )(难度系数:易) 

A、 对象的类型转换可通过自动转换或强制转换进行 

B、 无继承关系的两个类的对象之间试图转换会出现编译错误 

C、 由new语句创建的父类对象可以强制转换为子类的对象 

D、 子类的对象转换为父类类型后,父类对象不能调用子类的特有方法 

参:C  

答案解析: 由new语句创建的父类对象不能转换为子类的对象,否则会报编译出错  

【单项选择】8 、接口中的成员方法被隐含地声明为(难度系数:易) 

A、 public static final 

B、 protected abstact 

C、 private 

D、 public abstract 

参:D  

【单项选择】9 、下列选项中,属于布尔常量的是?( )(难度系数:易) 

A、 198 

B、 2e3f 

C、 true 

D、 null 

参:C  

答案解析: 198属于整型常量,2e3f属于浮点数常量,null属于null常量  

【单项选择】10 、下列选项中,用于引入包的关键字是 (难度系数:易) 

A、 class 

B、 import 

C、 package 

D、 static 

参:B  

答案解析: import关键字的作用是引入包  

【单项选择】11 、下面代码的输出是 class C { public static void main(String[] args) { int x = 1; System.out.print((x > 1) & (x++ > 1)); System.out.print( ““); System.out.print((x > 1) && (x++ > 1)); } } (难度系数:易) 

A、 false true 

B、 true false 

C、 false false 

D、 true true 

参:A  

答案解析: 运算符 & 和 | 的两个运算对象都要计算  

【单项选择】12 、阅读下段代码片段,选择正确的运行结果 public static void main(String[] args) { { int a = 1; System.out.print(a); } { int a = 2; System.out.print(a); } int a = 3; System.out.print(a); } (难度系数:易) 

A、 123 

B、 111 

C、 121 

D、 编译不通过 

参:A  

答案解析: 变量的作用域为:从定义处开始,到变量所在块结束位置  

【单项选择】13 、对于使用多态的应用程序,某个对象的确切类型何时能知道?( )(难度系数:易) 

A、 执行时才可以知道 

B、 应用程序编译时能够判断 

C、 程序员编写程序时就已知道 

D、 永远不会知道 

参:B  

答案解析: 如果对象的类型转换错误,那么应用程序编译时能够判断,以此得出答案选B  

【单项选择】14 、public class C { public int m(int x) { int r = 1; r += x; if ((x > 5) && (x < 10)) { r += 2 * x; } else (x <= 4) { r += 3 * x; } else { r += 4 * x; } r += 5 * x; return r; } public static void main(String [] args) { C o = new C(); System.out.println(“m(11) = “ + o.m(11)); } } (难度系数:易) 

A、 m(11) = 45 

B、 m(11) = 56 

C、 m(11) =  

D、 m(11) = 111 

参:D  

【单项选择】15 、请阅读下面的程序 public class Demo { public static void sum(int a, int b) { System.out.println(\\"int:\\" + (a + b)); } public static void sum(int a, float b) { System.out.println(\\"float:\\" + (a + b)); } public static void sum(int a, double b) { System.out.println(\\"double:\\" + (a + b)); } public static void main(String[] args) { int a = 10; long b = 20; sum(a, b); } } 下列选项中,哪一个是程序的运行结果(难度系数:易) 

A、 int:30 

B、 float:30.0 

C、 double:30.0 

D、 int:30.0 

参:B  

答案解析: 在主方法中定义一个int类型,一个long,按照正常做法,是找对应的类型,可是没有,这个时候要想到基本类型的隐式转换。Long会自动转到float。所以选择B  

第5章、继承与接口 

第1知识点、类的继承 

【单项选择】1 、如果有2个类A和B,A类基于 B类,则下列描述中正确的一个是( )。(难度系数:易) 

A、 这2个类都是子类或者超类 

B、 A是B超类的子类 

C、 B是A超类的子类 

D、 这2个类都是对方的子类 

参:B  

【单项选择】2 、java语言的类间的继承关系是( )。(难度系数:易) 

A、 多重的 、 单重的 

C、 线程的 、 不能继承 

参:B  

【单项选择】3 、已知类的继承关系如下: class A class B extends A class C extends A 则以下语句中能够通过编译的是?( ) (难度系数:易) 

A、 、 C c=new B(); 

C、 、 B b=new C(); 

参:A  

答案解析: 假设A为犬类,B为狗,C为狼,那么狗当然属于犬类对象  

【单项选择】4 、现有两个类A、B,以下描述中表示B继承自A的是?()(难度系数:易) 

A、 class A extends B.class 

B、 class B implements A 

C、 class A implements B 

D、 class B extends A 

参:D  

答案解析: 类的继承 关键字 extends在Java中,类的继承是通过extends关键字表示的,要想描述B继承自A,则正确的写法是class B extends A。  

【单项选择】5 、下列关于继承的描述中,错误的是()(难度系数:易) 

A、 在Java中,类只支持单继承,不允许多重继承,也就是说一个类只能有一个直接父类 

B、 多个类可以继承一个父类 

C、 在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类 

D、 Java是支持多继承的 

参:D  

答案解析: Java不支持多继承  

第6章、内部类与异常类 

第1知识点、内部类 

【单项选择】1 、下列程序运行结果是( ) public class Demo { public static void main(String[] args) { Demo demo = new Demo(); demo.show(new Car() { public void run() { System.out.println(\\"demo run\\"); } }); } public void show(Car c) { c.run(); } } abstract class Car { public void run() { System.out.println(\\"car run...\\"); } } (难度系数:易) 

A、 car run 

B、 demo run 

C、 无结果 

D、 编译报错 

参:B  

答案解析: 使用在show()方法中传入匿名内部类对象,匿名内部类中重写了父类Car中run()方法  

【单项选择】2 、在Java语言中,以下哪个关键字用于在方法上声明抛出异常? (难度系数:易) 

A、 try 

B、 catch 

C、 throws 

D、 throw 

参:C  

【单项选择】3 、下列关于匿名内部类的描述,错误的是( )(难度系数:易) 

A、 匿名内部类是内部类的简化形式 

B、 匿名内部类的前提是必须要继承父类或实现接口 

C、 匿名内部类的格式是'new 父类(参数列表) 或 父接口(){}' 

D、 匿名内部类可以有构造方法 

参:D  

答案解析: 匿名内部类不能有构造方法,它连类名都没有  

【单项选择】4 、Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,以下四种方式哪一种是正确的? (难度系数:易) 

A、 Inner in = new Inner() 

B、 Inner in = new Outer.Inner(); 

C、 Outer.Inner in = new Outer.Inner(); 

D、 Outer.Inner in = new Outer().new Inner(); 

参:D  

【单项选择】5 、下列描述中,哪一项不属于finally语句应陔执行的功能( )?(难度系数:易) 

A、 释放资源 

B、 关闭文件 

C、 分配资源 

D、 关闭数据库 

参:C  

 

第8章、常用组件及事件处理 

第1知识点、界面布局 

【单项选择】1 、Java 的屏幕坐标系的(0,0)在屏幕的(难度系数:易) 

A、 中心 

B、 左上角 

C、 左下角 

D、 右下角 

参:B  

【单项选择】2 、下列说法中,正确的一项是( )。(难度系数:易) 

A、 AWT的高级事件依赖于触发此类事件的类,可以和特定的动作相关联 

B、 AWT的高级事件依赖于触发此类事件的类,可以不和特定的动作相关联 

C、 AWT的低级事件是在构件或者容器上发生的事件 

D、 AWT的低级事件是基于语义的事件,不一定和特定的动作相关联 

参:C  

【单项选择】3 、布局管理器可以管理构件的哪个属性?( )。(难度系数:易) 

A、 大小 

B、 颜色 

C、 名称 

D、 字体 

参:A  

【单项选择】4 、编写AWT图形用户程序的时候,一定要import的语句是( )。(难度系数:易) 

A、 import java.awt; 

B、 import java.awt.*; 

C、 import javax.awt.*; 

D、 import javax.swing.*; 

参:B  

【单项选择】5 、处理按钮点击事件的类需要实现哪个接口(难度系数:易) 

A、 FocusListener 

B、 ActionListener 

C、 WindowListener 

D、 ItemListener 

参:B  

【单项选择】6 、下列说法中错误的一项是( )。(难度系数:易) 

A、 LayoutManager是一个接口,编程时通常使用的是实现该接口的类 

B、 布局管理器体现了Java平台无关性 

C、 每个容器都对应一个布局管理器 

D、 在Java中,必须直接设置构件在容器中的位置和直接设置构件的大小 

参:D  

【单项选择】7 、下列关于MVC体系结构的说法中错误的一项是( )。(难度系数:易) 

A、 模型是指定的逻辑表示方法 

B、 视图是模型的可视化表示方法 

C、 控制用于指定用户输入的处理机制 

D、 MVC体系结构用于AWT中 

参:D  

【单项选择】8 、

 JFrame 的缺省布局管理器是

(难度系数:易) 

A、 BorderLayout 

B、 FlowLayout 

C、 GridLayout 

D、 BoxLayout 

参:A  

第9章、Java多线程机制 

第1知识点、线程 

【单项选择】1 、Thread类位于下列哪个包中? A. java.io B. java.lang C. java.util D. java.awt (难度系数:易) 

A、 java.io 

B、 java.lang 

C、 java.util 

D、 java.awt 

参:B  

【单项选择】2 、下列哪一个类实现了线程组?( )(难度系数:易) 

A、 java.lang.Object 

B、 java.1ang.ThreadGroup 

C、 java.1ang.Thread 

D、 java.1ang.Runnable 

参:B  

【单项选择】3 、线程调用sleep()方法后,该线程将进入以下哪种状态? (难度系数:易) 

A、 就绪状态 

B、 运行状态 

C、 阻塞状态 

D、 死亡状态 

参:C  

【单项选择】4 、在以下哪种情况下,线程进入就绪状态?(难度系数:易) 

A、 线程调用了sleep()方法时 

B、 线程调用了join()方法 

C、 线程调用了yield()方法时 

D、 线程调用了notify()方法 

参:D  

第10章、输入输出流 

第1知识点、流对象 

【单项选择】1 、下列选项中,哪一个属于输出流?( )(难度系数:易) 

A、 从打印机流向控制器的数据流 

B、 从键盘流向内存的数据流 

C、 从内存流向控制器的数据流 

D、 从内存流向网络的数据流 

参:D  

【单项选择】2 、Fileoutputstream类的父类是( )。(难度系数:易) 

A、 File 

B、 FileOutput 

C、 OutputStream 

D、 InputStream 

参:C  

【单项选择】3 、下列说法中,错误的一项是( )。(难度系数:易) 

A、 Java系统的标准输入对象是System.in 

B、 打开一个文件时不可能产生IOException 

C、 使用File对象可以判断一个文件是否存在 

D、 使用File对象可以判断一个目录是否存在 

参:B  

【单项选择】4 、下面哪个类不能直接读取磁盘文件(难度系数:易) 

A、 FileReader 

B、 RandomAccessFile 

C、 FilterReader 

D、 FileInputStream 

参:C  

答案解析: FilterReader是一个用于读取已过滤的字符流的抽象类  

文档

Java高级语言程序设计期末复习资料

第1章、Java语言简介第2知识点、Java程序的开发过程【单项选择】1、下列关于classpath环境变量的说法中,哪一个是正确的(难度系数:易)A、classpath配置一次后可永久使用B、没有classpath环境变量就不能运行Java程序C、classpath环境变量可以让虚拟机找到class文件的目录D、查看当前classpath配置的命令是:classpath参:C答案解析:classpath环境变量可以让虚拟机找到class文件目录,没有配置classpath环境变量时,j
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top