(Java考试题)

更新时间:2023-12-03 06:01:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java程序设计期末复习题(2015-2016-1学年度) 第一章 Java概述

1、Java体系有哪几部分构成?(多选)(ABC) A.JavaSE B.JavaEE C. JavaME D.Javac 2、与Jdk相关的3个重要的环境变量是?(ABC)

A.JAVA_HOME B.PATH C.CLASSPATH D.JPATHEXT 3、编译和运行Java程序分别用到的命令是?(AC) A.javac B.javadoc C.java D.javah

4、编译Java源程序文件时将产生相应的字节码文件, 这些字节码文件的扩展名为 (B)。 A.java B.class C. html D.exe 5、Java 的跨平台机制是由______实现的。 (D)

A.GC B.Java DE C.html D.JVM 6、以下用于解释字节码文件的工具是(B) A.javac B.java C.javadoc D.jar

7、JDK 安装成功后,______目录用于存放 Java 开发所需要的类库。(C) A.bin B.demo C.lib D.jre 8、下面属于文档注释的标记是(D)

A.-- B./ C./ *…*/ D./**…*/

9、关于程序中的main方法,以下说法正确的有()(ABCD)

A.每个独立的、可执行的 Java 应用程序必须要有 main()方法才能运行 B.main()方法是程序的主方法 C. main()方法是整个程序的入口,

D.程序运行时执行的第一个方法就是 main()方法

10、关于Java 跨平台技术的实现原理,以下说法正确的是(ABCD)

A.JVM 在具体的操作系统之上运行,其本身具有一套虚拟机指令,但它通常是在软件而不是在硬件上实现,

B.JVM 形成一个抽象层,将底层硬件平台、操作系统与编译过的代码联系起来,

C.Java 字节码的格式通用,具有跨平台特性,但这种跨平台是建立在 JVM 虚拟机的基础之上

D. 只有通过 JVM 处理后才可以将字节码转换为特定机器上的机器码,然后在特定的机器上运行,

第二章 Java语言基础

1、常见的字符集有哪3种?(ACD)

A. ASCII B.BIG5 C.GB2312 D.unicode 2、变量的作用域可将变量分为哪两类? 局部变量和全局变量

3、定义常量的关键字是什么?Final

4、关系运算符运算后返回的结果是什么类型?(C)

A.整型 B.浮点型 C.布尔型 D.字符型

5、下面赋值语句不正确的是_____。(A) A. float f= 2.3 B. float f = 5.4f C. double d = 3.14d D. double d = 3.1415

6、下面语句的输出结果是______。(C) int x = 4;

System.out.println (“value is ”+((x>4)?99.9 : 9); A. 输出结果为:value is 99.9 B.输出结果为:value is 9 C.输出结果为:value is 9.0 D.输出结果为:语法错误

7、下面代码片段:(A) switch(m){

case 0: System.out.println(\

case 1: System.out.println(\case 2: break;

default: System.out.println(\}

当 m 的值为 0 时,将会输出______(A)。

A.case 0 B.case 0 C case0 case1 default D. default case 1

8、for 循环的一般形式为:for(初值;终值;增量) (D) 以下对 for 循环的描述中,正确的是______。

A. 初值、终值、增量必须是整数 B.for 循环的次数是由一个默认的循环变量决定 C. 初值和增量都是赋值语句,终值是条件判断语句 D.for 循环是一种计次循环,每个 for 循环都带有一个内部不可见循环变量,控制 for循环次数

9、在 Java 中,如下代码段的输出结果为________(D) public static void main(String []args) {

int num=1;

while(num< 6){

System.out.print(num); if(num/2==0) continue; else

num++; } } }

A. 12345 B.135 C.24 D死循环 10、关于循环说法错误的是_______(C)

A. while 循环是先判断条件表达式是否为 true,如果为 true,则执行循环体 B. do-while 则是先循环后判断,do-while 至少会循环一次

C. for()括号中的分号可以一个也不要 D. for 循环也是先判断再循环

11、以上哪种创建数组不正确________(C) A.int[] a = {1,2,3,4,5}; B.int[] a = new int[2]; C.int[][] b = new int[][2]; D.int[][] b = new int[2][];

第三章 类与继承

1、方法的主要组成部分?(ABCD)

A.修饰符 B.返回值 C.方法名 D. 参数 2、Java中包的分割符号是?(A) A. . B. \\ C.\\\\ D./

3、修饰静态成员的修饰符为?(B)

A. final B.static C.void D. abstract

4、当声明一个对象数组变量时,但并没有赋值时,在内存里发生了什么?(A) A.在栈内存里开辟了存放引用的空间 B.在堆内存里开辟空间 5、构造方法何时被调用____。(B)

A.类定义时 B.创建对象时 C.调用对象方法时 D.使用对象的变量时 6、JAVA 中,访问修饰符限制性最高的是____。(A) A.private B.protected C.public D.缺省

7、下列关于面向对象的程序设计的说法中,不正确的是____(B )。 A.对象将数据和行为封装于一体

B.对象是面向对象技术的核心所在,在面向对象程序设计中,对象是类的抽象 C.类是具有相同特征(属性)和共同行为(方法)的一组对象的集合 D.类的修饰符可以是 abstract(抽象) ,static(静态)或 final(最终) 8、关于构造方法说法错误的是______。(B)

A.构造方法的方法名必须与类名一致

B.构造方法没有返回类型,可以是 void 类型

C. 如果在类中没有定义任何的构造方法, 则编译器将会自动加上一个不带任何参数的构造方法

D. 构造方法可以被重载

9、关于方法重载说法不正确的是_______。(C)

A.必须在同一个类中 B.方法名相同 C.方法的返回值相同 D.参数列表不同 10、关于包方面说法不正确的是_______(A)。

A.一个 Java 文件中只能有一条 import 语句 B.使用 package 关键字可以指定类所属的包 C.包在物理上的表现形式是嵌套的文件目录 D. 导入包需要使用关键字 import

11、关于静态成员说法错误的是______。(D)

A.static 关键字修饰的成员也称为静态成员 B.静态成员则可以直接通过类名调用

C. 静态成员属于整个类, 当系统第一次准备使用该类时, 系统会为该类的类变量分配内存空间

D.静态成员不可以通过对象来调用

12、关于可变参数说法正确的是_______。( C)

A.可变参数可以在参数列表的任何位置 B.一个方法中允许包含多个可变参数

C.可变参数的本质就是一个数组 调用一个包含可变参数的方法时,只能传入多个参数,D.不能传入数组

第四章 核心类

1、float对应的封装类为? ( C )

A.double B.float C. Float D.Double

2、 装箱是将堆中的数据封装成对象放到栈中的过程,拆箱将栈中的数值存放到堆中的过程 ,这种说法正确吗?(不对)

3、关于“==”和“equals”的区别得表述正确么?(对)

前者比较的地址是否相对,即是否同一个对象,后者比较的是值是否相等 4、哪个是截取字符串的方法?(B) A.\ B.“subString”

5、在控制台输入整数的时候,用下列Scanner类的哪个方法来接收不会报错?(ABC) A.nextInt B. next C. nextFloat D.都会报错 6、用作数学运算和日期处理的类分别是?(AC) A. Date B. Meth C.Math D. Time

7、int 基本数据类型对应的封装类是____(C)。 A.Int B. Short C. Integer D. Long

8、System.out.println(“abc”+1+2)输出的结果是____。(A) A.abc12 B.abc3 C.“abc”+1+2 D. 3abc 9、下述代码的输出结果是____。(C)

String str=\

System.out.println(str.substring(2,4)); A.abcdef B. bcd C. cd D. cde

10、关于装箱和拆箱说法错误的是_____。(D )

A.装箱是指将基本类型数据值转换成对应的封装类对象 B.装箱将栈中的数据封装成对象存放到堆中的过程 C.拆箱是将封装的对象转换成基本类型数据值

D.拆箱是是指将基本类型数据值转换成对应的封装类对象 11、下列不是 String 类的方法的是_______。(C) A.charAt(int index) B. indexOf(String s) C. beginWith(String s) D.endsWith(String s) 12、关于 Object 类说法不正确的是______。(B)

A.Object 类是所有类的顶级父类 B.Object 对象类定义在 java.util 包

C.在 Java 体系中,所有类都直接或间接的继承了 Object 类 D.任何类型的对象都可以赋给 Object 类型的变量

13、关于 String、StringBuffer 和 StringBuilder 说法错误的是_______。(B )

A. String 创建的字符串是不可变的

B.StringBuffer 创建的字符串是可变的,而所引用的地址一直不变 C. StringBuffer 是线程安全的,因此性能比 StringBuilder 好 D.StringBuilder 没有实现线程安全,因此性能比 StringBuffer 好

第五章 类和类之间的关系

1、继承的主要作用是什么(ABC)

A.解决代码重用 B.减少代码冗余 C.便于扩展 2、类和类都有哪些关系?(ABCD) A. 依赖 B .关联 C.聚合 D.组合

3、匿名内部类适用于只需要使用一次的类,这种说法对吗? 对

4、运用单例模式只能创建出一个对象实例,这种说法正确吗? 对

5、在 Java 语言中,下面关于类的描述正确的是_____(B)。

A.一个子类可以有多个父类 B.一个父类可以有多个子类 C. 子类可以使用父类的所有方法

D. 子类一定比父类有更多的成员方法

6、下列____关键字修饰类后不允许有子类。(D) A.abstract B.static C. protected D.final

7、假设 Child 类为 Base 类的子类,则下面____创建对象是错误的。(D) A.Base base = new Child () B. Base base = new Base() C. Child child = new Child () D. Child child = new Base(); 8、关键字 super 和 this 说法不正确的是______。(AB) A.super(..)方法可以放在 this(..)方法前面使用 B. this (..)方法可以放在 super (..)方法前面使用 C. 可以使用 super(..)来调用父类中的构造方法 D.可以使用 this(..)调用本类的其他构造方法

9、给定如下 Java 代码,关于 super 的用法,以下________哪个描述是正确的(c) class Student extends Person{ public Student (){

super(); } }

A. 用来调用 Person 类中定义的 super()方法 B. 用来调用 Student 类中定义的 super()方法 C. 用来调用 Person 类的无参构造方法

D. 用来调用 Person 类的第一个出现的构造方法 10、关于内部类说法错误的是_______。(D)

A.内部类能够隐藏起来,不为同一包的其他类访问

B.内部类是外部类的一个成员,并且依附于外部类而存在

C.Java 内部类主要有成员内部类、局部内部类、静态内部类、匿名内部类 D.局部内部类可以用 public 或 private 访问修饰符进行声明 11、关于继承说法不正确的是_______。(B)

A.在继承过程中,子类拥有父类所定义的所有属性和方法

B. 在构造一个子类对象时, 会首先调用自身的构造方法进行初始化, 而后再调用父类的

在空格处填入正确的程序语言 (本题共有15分)

2. 在下面这个类中,定义一个公共的无参函数,无返回值的方法,方法名称为test,在这个方法中用,上一题中的方法,计算10和10相加的结果,并且将结果乘以10之后赋值给c,将c的结果在控制台输出

public class Test {

public _____void_______ test() {

//创建上一题的类的对象

_____ Jisuanqi _______ j = ___new Jisuanqi ()_________;

//调用上一题中定义的方法

double c = _____add(10,10)_______ ;

__System______.out.println( ____c________ ) ; } }

四、程序判断题

1. 分析下列代码,指出该程序是否可以编译通过,如有错误,请写出具体错误。

01 public class Test { 02 private int t; 03

04 public static void main(String[] args) { 05 06

int x;

System.out.println(t);

//输出里面的t报错:Cannot make a static reference to the non-static field t

无法在静态方法中引用非静态变量t

07 } 08 }

2. 分析下列代码,指出该程序是否可以编译通过,如有错误,请写出具体错误。

01 public class Test {

02 public static void main(String[] args) { 03 double radius;

04 final double PI= 3.15169;

05 double area = radius * radius * PI; //变量未初始化radius

06 System.out.println(\07 } 08 }

3. 分析下列代码,指出该程序是否可以编译通过,如有错误,请写出具体错误。

01 class Test {

02 public static void main(String[] args) { 03 A a = new A();//对象无法创建//额不会解释这个错误 04 a.print(); 05 } 06 } 07

08 class A { 09 String s; 10

11 A(String s) { 12 this.s = s; 13 } 14

15 public void print() { 16 System.out.print(s); 17 } 18 }

4. 分析下列代码,指出该程序是否可以编译通过,如有错误,请写出具体错误。

01 class Circle {

02 private double radius; 03

04 public Circle(double radius) { 05 this.radius = radius; 06 } 07 }

//没有错误编译通过//通过了哎,这题要考什么?

五、简答题

1. 分析下列代码,请写出当程序通过以下方式被执行时其输出结果。 java Test I have a dream

01 public class Test {

02 public static void main(String[] args) {

03 System.out.println(\04 for (int i = 0; i < args.length; i++) 05 System.out.print(args[i]+ \06 } 07 }

程序输出结果为:

Number of strings is 0

2. 分析下列代码,写出程序运行后的输出结果。 01 import java.util.*;

02 public class Test extends Object {

03 public static void main(String[] args) { 04 Date d1 = new Date(); 05 Date d2 = new Date(0); 06 Date d3 = d1;

07 System.out.println(\08 System.out.println(\09 System.out.println(\

10 System.out.println(\11 }

程序输出结果为:

(1) false (2) true (3) false (4) true

本文来源:https://www.bwwdw.com/article/eu5t.html

Top