java选择题判断题题库(共32页).doc
精选优质文档-倾情为你奉上选择题第一章 java语言概述1 在下列概念中, Java语言只保留了 B .A.运算符重载 B.方法重载 C.指针 D.结构和联合2 下列关于Java语言特性的描述中,错误的是_D_.A.支持多线程操作B. JAVA程序与平台无关C. JAVA程序可以直接访问Internet上的对象D. 支持单继承和多继承3 下列关于JavaApplication程序在结构上特点的描述中,错误的是 C A. Java程序是由一个或多个类组成的B. 组成Java程序的若干个类可以放在一个文件中,也可以放在多个文件中C. Java程序的文件名要与某个类名相同D. 组成Java程序的多个类中,有且仅有一个主类.4 Java 程序经过编译后生成的文件的后缀是 C A. .obj B. .exe C. .class D. .java5 下列关于运行字节码文件的命令行参数的描述中,正确的是 A A.第一个命令行参数被存放在args0中B.第一个命令行参数被存放在args1中C.命令行的命令字被存放在args0中D.数组args的大小与命令行参数的个数无关。6 下列关于java语言面向对象特性描述中,错误的是_C_A.具有封装性 B. 支持多态性,允许方法重载C. 支持单继承和多继承 D. 支持多接口7 下列关于java语言与C+语言异同点的描述中,错误的是_DA. java语言取消了goto语句|B. java语言中取消了指针C. java 语言不支持运算符重载D. java 语言仍保留了结构和联合8 列关于JavaApplication程序特点的描述中,错误的是 A A. 该程序只能是一个名字与主类名相同的文件组成B. 该程序中仅有一个主方法,并被包含在某个类中C. 该 程序中没有不属于某个类的方法D. 该程序实际上是一个类串9 使用Java语言编写的源程序保存时的文件扩展名是( B )。 A.class B.java C.cpp D.txt10 Java源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 11 Java语言使用的字符码集是 ( D )(A) ASCII (B) BCD (C) DCB (D) Unicode12 下面关于main方法说明正确的是( B ) (A) public main(String args ) (B) public static void main(String args ) (C) private static void main(String args ) (D) void main() 13 Java application中的主类需包含main方法以下哪项是main方法的正确形参( B ) A、 String args B、String args C、Char arg D、StringBuffer args14 下列关于Java语言和C+语言之间差别的描述中,不正确的一项是( A )A. Java虽然提供了安全机制,但是还是没有C+安全B. Java的内存管理优于C+的内存管理C. Java没有全局变量,但是C+有全局变量D. Java没有指针,但是C+的指针最灵活15 关于Java语言的内存回收机制,下列选项中最正确的一项是(C )A. Java程序要求用户必须手工创建一个线程来释放内存B. Java程序允许用户使用指针来释放内存C. 内存回收线程负责释放无用内存 D. 内存回收线程不能释放内存对象16 下列关于Java语言和C+语言之间差别的描述中,不正确的一项是(A )A. Java虽然提供了安全机制,但是还是没有C+安全B. Java的内存管理优于C+的内存管理C. Java没有全局变量,但是C+有全局变量D. Java没有指针,但是C+的指针最灵活17 Java语言是一种( D)A. 面向机器的编程语言 B. 面向过程的编译型编程语言C. 面向问题的解释型编程语言 D. 面向对象的解释型编程语言18 下面的说法正确的是( C )。 A. Java语言里的线程不是对象 B. Java中任何可执行的类都需要main方法 C. Java语言的类都是java.1ang.Object的子类 D. double是Java语言的合法标识符19 关于Java语言的内存回收机制,下列选项中最正确的一项是(C )A. Java程序要求用户必须手工创建一个线程来释放内存 B. Java程序允许用户使用指针来释放内存C. 内存回收线程负责释放无用内存D. 内存回收线程不能释放内存对象第二章 java语言语法基础20 java语言所用的字符集中字符是_B_位A. 8 B. 16 C. 32 D. 6421 下列关于标识符的描述中,正确的是_A_A.标识符中可以使用下划线和美元符B.标识符可以使用边接符和井号符C.标识符中大小写字母是无区别的D.标识符可选用关键字22 Java语言的各种分隔符中,非法的是_D_A. 空白符 B.分号 C. 逗号 D. 问号23 下列Java语言中可用的注释符,其中错误的是_C_A. / B. /*.*/ C. /*. */ D. /*.*/24 Java语言中字符型数据的长度是_B_位。A 8 B. 16 C. 32 D. 6425 下列描述的两种数据类型的长度不相等的是_A_A. 字符型和布尔型 B.字节型和布尔型 C. 短整型和字符型 D. 整型和单精度浮点型26 下列是Java语言中的复合数据类型,其中错误的是_C_A.数组 B.接口 C.枚举 D.类27 下面是关于Java语言中数据类型的强制转换的描述,其中错误的是_BC_A. 当数据类型从高转换为低时需要强制转换B. 强制转换时使用强制转换运算符,形如(<类型>)C. 浮点型数据强制转换为整形时,小数部分四舍五入D. 赋值操作中都要采用强制类型转换28 下列关于常量的描述中,错误的是_BD_A.Java语言的常量有5种B. 浮点整形数据12.456是单精度C. 布尔型常量只有两个选值:true和falseD. 字符串常量含有结束符029 下列关于定义符号常量的描述中,错误的是_A_A.定义符号常量使用关键字const B.定义符号常量时要赋初值C.符号常量既可定义为类成员,又可在方法中定义D.定义符号常量时必须给出数据类型-30 下列关于变量的默认值的描述,其中错误的是_BC_A.定义变量而没有进行初始化时,该变量具有默认值B.字符型变量的默认值为换行符C.布尔型变量的默认值为trueD.变量的默认值是可以被改变的31 下列关于变量定义的描述中,正确的是_AC_A.定义变量时,至少应指出变量的名字和类型B.定义变量时没有给出初值,该变量可能是无意义值C.定义变量时,同一个类型多个变量间可用逗号分隔D.定义变量时,必须要给变量初始化 32 下列关于变量作用域的描述,错误的是_D_A. 在某个作用域定义的变量,仅在该作用域内是可见的,而在该作用域外是不可见的。B. 在类中定义的变量的作用域在该类中的方法内是可以使用的C. 在方法中定义的变量的作用域仅在该方法内D. 在方法中作用域可嵌套,在嵌套的作用域中可以定义同名变量。33 下列关于开关语句的描述中,正确的是A.开关语句中, default子句可以省略B.开关语句中,case子句的<语句序列>中一定含有break语句C.开关语句中,case子句和default子句都可以有多个D.退出开关语句的唯一条件是执行break语句34 下列哪个编译没有警告或错误 C A. float f=1.3; B. char c="a"C. byte b=254; D. boolean b=null;35 下列表达式中,非法的是 B int a=5, b=6; double c=1.1, d=2.2;A. a+c+d B.(a+c)- C. c<<b D. a!=? c:d36 下列循环语句的循环次数是 D int i=5;do System.out.println(i-) i-;while(i!=0);A. 0 B. 1 C. 5 D.无限37 下列关于Java语言的数组描述中,错误的是 D A.数组的长度通常用length表示B.数组的下标从0开始C.数组元素是按顺序存放在内存的D.数组在赋初值和赋值时都不判界38 下列关于数组的定义形式,正确的是( B)A.int a; a=new int; B. char b; b=new char80;C.int c=new char10; D.int d3 = new int2;39 下列关字字符串的描述中,错误的是_B_A. Java语言中,字符串分为字符串常量和字符串变量两种B.两种不同的字符串都是String类的对象|C. Java语言中不再使用字符数组存放字符串D. Java Application程序的main()的对数args是一个String类的对象数组,用它可存放若干个命令行参数。40 设有数组的定义int a = new int3则下面对数组元素的引用错误的是( C )。 Aa0; Baa.length-1; Ca3; Dint i=1 ai; 41 下面哪一个是Java中不合法的标识符( D )。 A$persons BtwoNum C_myVar D*point42 下面哪个是非法的( B ) (A) int I = 32; (B) float f = 45.0; (C) double d = 45.0; (D) char c = u43 以下代码段执行后的输出结果为( C ) int x=3 int y =10 System.out.println(y%x); A、 -1 B、2 C、1 D、3 44 若有定义byte x=11,22,33,-66; 其中0k3则对x数组元素错误的引用是( C ) Ax5-3 Bxk C xk+5 Dx045 以下哪个不是Java的原始数据类型 (B) A、int B、Boolean C、float D、char 46 有以下方法的定义请选择该方法的返回类型( D )。 ReturnType method(byte x, double y) return (short)x/y*2; A、byte B、short C、int D、double 47 有以下程序片段下列哪个选项不能插入到行1。( D) 1. 2.public class Interesting 3./do sth 4. A、import java.awt.*; B、package mypackage; C、class OtherClass D、public class MyClass 48 下面哪些选项不可以用作变量名的首字符?( C ) A. 字母B. 下划线() C. 数字 D. 美圆符号()49 下面的程序段输出的结果是( A )String s1="Abc",s2="Bcd" System.out.println(pareTo(s2);A. -1 B. 1 C. false D. true50 下列表达式哪些是正确的?( C )A. byte=340 B. Boolean=1 C. long l=-2 D. double=09239d51 下列方法定义中,方法头不正确的是(D)A. public int x(). B. public static int x(double y). C. void x(double d) D. public static x(double a).52 执行下面语句,myArray数组的长度是_B_int myArray= new int 3; myArray= new int6;A. 3 B.6 C.9 D.执行错误 E. 553 下列关于int类型的说法中,正确的一个是(C )A. int类型可以自动转换为所有的简单类型B. int类型只能自动转换为float、long、double类型C. 103是合法的int类型常量D. int类型包括有符号整型和无符号整型54 编译一个定义了两个类和三个方法的的Java源码文件,总共会产生几个字节码文件,这些字节码文件的扩展名是什么?(D) A. 个字节码文件,以.java为扩展名B. 个字节码文件,以.java为扩展名C. 个字节码文件,以.class为扩展名D. 2个字节码文件,以.class为扩展名55 现有一个变量声明为boolean b1;下面赋值语句中正确的是(A ) A. b1 = true; B. b1 = True; C. b1 = "ture" D. b1 = 0; 56 若有如下程序段: int index=1; int foo=new int3;int bar=fooindex int baz=bar+index; 程序的执行结果正确的是( B )。 A. 整型变量baz的值为0 B. 整型变量baz的值为1 C. 整型变量baz的值为2 D. 执行有错误 57 下列语句执行后,i的值是(C) int i=2; doi*=i; while(i<16); A. 4 B. 8 C. 16 D. 32 58 下列说法中,正确的一个是( A )A. 接口属于复合数据类型 B. 接口属于简单数据类型C. 标识符的总的字符个数是有限的 D. 标识符就是保留字59 下列表达式哪些是正确的?( C )A. byte=340 B. Boolean=1C. long l=-2 D. double=09239d60 有如下数组: byte arrayl,array2 byte array3 bytearray4 假设每个变量都已初始化,以下哪一条语句会导致编译错误?( A )A. array2=arrayl; B. array2=array3; C. array2=array4; D. A并且B61 下面哪条语句定义了5个元素的数组( A )A、int a=22,23,24,25,12; B、int a=new int(5);C、int 5 array; D、int arr;62 下面哪个语句不能定义一个字符变量( B ) A、char c1=a; B、char c2=” S ”C、char c4=97 D、char c3=u0041; 第三章 java语言面向对象的特征63 下列对封装性的描述中,错误的是_B A.封装体包含了属性和行为B.封装体中的属性和行为的访问权限是相同的C.被封装的某些信息在封装体外是不可见的D.封装使得抽象的数据类型提高了可重用性64 下列关于继承性的描述中,错误的是 C A.一个类可以同时生成多个子类B.子类继承了父类的所有成员C.Java语言支持单继承和多重继承D.Java语言通过接口可使子类使用多个父类的成员65 下列关于多态性的描述中,错误的是 A A.java语言允许运算符重载B.java语言允许方法重载C.java语言允许变量覆盖D.多态性提高了程序的抽象性和简洁性66 在类的修饰符中,规定只能被同一包类所使用的修饰符是_B_A.public B.默认 C.final D.abstract67 在成员变量的修饰符中,规定只允许该类自身访问的修饰符是 A.private B.public C.默认 D.protected68 在成员变量的修饰符中,规定访问权限包含类自身,同包的其他类和其它包中的子类的修饰符是: D A.private B.public C.默认 D.protected69 下列关于构造方法的特点的描述中, 错误的是 A A.不可重载 B.方法名同类名C.无返回值 D.系统自动调用70 下列关于静态方法的描述中,错误的是 D A.在类体内说明静态方法用关键字staticB. 静态方法可能处理静态变量或调用静态方法C. 静态方法不占用对象的内存空间,非静态方法占用对象的内存空间D.静态方法只能类名调用71 下列对静态初始化器的描述中,错误的是 D A.静态初始化器是用来对类进行初始化的,而不是对某个对象初始化的B.静态初始化器是由关键字static和一对花括号组成的语句组C.静态初始化器不同于构造方法,它不是方法D.初始化器是产生新对象时,由系统自动调用的72 下列关于抽象类的描述中,错误的是_C_A.抽象类是用修饰符abstract说明的B.抽象类是不可以定义对象的C.抽象类是不可以有构造方法的D.抽象类通常要有它的子类73 下列关于类的继承性的描述中,错误的是 D A.继承是在已有的基础上生成新类的一种方法B.子类继承父类的所有成员C.Java语言要求了个子类只有一个父类D.父类中成员的访问权限在子类中将被改变74 下列关于子类继承父类的成员的描述中,错误的是 A A.子类中继承父类中的所有成员都可以直接访问B.子类中定义的与父类同名的变量时,使用自己定义的变量C.当子类中出现成员方法头与父类的方法头相同的方法时,子类成员方法覆盖父类了成员方法D.方法重载是编译时处理的,而方法的覆盖是在运行时处理的75 下列关于接口的描述中,错误的是 B A.接口实际上是由常量和抽象方法构成的特殊类B.一个类只允许继承一个接口C.定义接口使用的关键字是interfaceD.在继承接口的类中,通常要给出接口袋定义的抽象方法的具体实现76 下列关于包的描述中,错误的是 A A.包是一种特殊的类 C.若干个类的集合C.包是使用package 语句创建的 D.包有有名包和无名包两种77 下列常用包中,存放用户图形界面类库的包是_A_A. java.awt B. java.lang C. java.util D. java.io78 下列是系统提供的常用的类,所有类的父类的类是_B_A. Math B. Object C. System D. String79 下列关于方法的描述中,错误的是_B_A. 方法只有类的成员方法,再无其他方法B. 方法可以重载和内联C. 对象作为方法的参数时,参数传递的是对象的地址值D. 方法的返回值是通过return来实现的80 在下列关于静态成员的描述中,错误的是_D_A. 静态成员有成员变量和方法两种B. 静态成员的修饰符是staticC. 静态成员可以使用类名来访问,也可使用对象名的访问D. 静态方法可以访问静态成员变量也可以访问非静态的成员变量。81 在下列关于类的继承的描述中,错误的是_B_A. 子类只允许一个父类B. 一个父类只能生成一个子类C. 继承不改变成员访问权限D. 私有成员和构造方法不能继承82 在下列关于方法的重载和覆盖的描述中,错误的是_D_A. 方法重载是指在面一个类中允许出现方法参数、个数、顺序不同而方法名相同的若干个方法B. 方法覆盖是指在父类和子类之间出现的方法头相同而方法体不同的多个方法C. 方法重载是在编译时进行选择的 D. 方法覆盖是在编译时进行选择的83 给出下面代码关于该程序以下哪个说法是正确的( C ) public class Person static int arr = new int5; public static void main(String a) System.out.println(arr0); A、编译时将产生错误 B、编译时正确运行时将产生错误C、输出零 D、输出空 84 以下有关构造方法的说法正确的是( A ) A 一个类的构造方法可以有多个B 构造方法在类定义时被调用 C 构造方法只能由对象中的其它方法调用。 D 构造方法可以和类同名也可以和类名不同 85 在Java中一个类可同时定义许多同名的方法这些方法的形式参数的个数、类型或顺序各不相同传回的值也可以不相同。这种面向对象程序特性称为( C ) A 隐藏 B 重写 C 重载 D Java不支持此特性 86 以下关于继承的叙述正确的是( A )。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 87 关于抽象方法的说法正确的是( ) (A)可以有方法体 (B) 可以出现在非抽象类中 (C) 是没有方法体的方法 (D) 抽象类中的方法都是抽象方法 88 如果一个类的成员变量只能在所在类中使用则该成员变量必须使用的修饰是( ) (A) public (B) protected (C) private (D) static 89 对于一个Java源文件import, class定义以及package正确的顺序是( A )(A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 90 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它该方法头的形式为( A )。 Astatic void method( ) Bpublic void method( ) Cfinal void method( ) Dabstract void method( )91 类与对象的关系是( A )。A类是对象的抽象 B对象是类的抽象 C对象是类的子类 D类是对象的具体实例 92 在类的定义中构造函数的作用是( D )。 A保护成员变量 B读取类的成员变量 C描述类的特征 D初始化成员变量 93 在类的定义中可以有两个同名函数这种现象称为函数( D )。 A封装 B继承 C覆盖 D重载 94 设有下面两个赋值语句 a = Integer.parseInt(“12”); b = Integer.valueOf(“12”).intValue(); 下述说法正确的是( D )。A、a是整数类型变量b是整数类对象。 B、a是整数类对象b是整数类型变量。 C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。95 为了使包ch4在当前程序中可见可以使用的语句是( A )。Aimport ch4.*; Bpackage ch4.*; Cch4 import; Dch4 package; 96 下面程序段执行后b的值是( B )。 Integer integ =new Integer(9); boolean b = integ instanceof Object; A) 9 B) true C) 1 D) false 97 关于对象成员占用内存的说法哪个正确( B ) A同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段但静态成员共享相同的内存空间 C对象的方法不占用内存 D以上都不对 98 覆盖与重载的关系是 ( A ) A、覆盖只有发生在父类与子类之间而重载可以发生在同一个类中 B覆盖方法可以不同名而重载方法必须同名 Cfinal修饰的方法可以被覆盖但不能被重载 D覆盖与重载是同一回事99 类Account中方法的声明哪项正确( C ) A. class Account B. class Account deposit(); void deposit(); C. class Account D. class Account void deposit() void deposit 100 如果一个类的成员变量只能在所在类中使用则该成员变量必须使用的修饰是( C )(A) public (B) protected (C) private (D) static 101 定义主类的类头时可以使用的访问控制符是( )A. public B. protected C. private D. private protected 102 为了区分重载多态中同名的不同方法,要求( A )A. 形式参数个数或者类型不同 B. 返回值类型不同C. 调用时用类名或对象名做前缀 D. 形式参数名称不同103 下列哪个不是面向对象程序设计方法的特点( D )A. 抽象 B. 继承 C. 多态 D. 结构化104 关于类的说法中,不正确的一项是( D)A. 一般类体的域包括常量、变量、数组等独立的实体B. 类中的每个方法都由方法头和方法体构成C. java程序中可以有多个类,但是公共类只有一个D. java程序可以有多个公共类 105 下列选项中,用于在程序开头引入包的关键字是(A)A. import B. implements C. interface D. protected106 在一个相同的包中,想让一个类能够引用另一个类的成员,达到这个目的最小的访问控制权限的修饰符是什么?( C )A. public B. private C. protected D. 不需要任何修饰符107 下述声明中哪一种可防止该类产生子类?( D )A. static class FooBar B. private class FoobarC. abstract class FooBar D . final public class FooBar108 一下关于面向对象概念的描述中,不正确的一项是( B)A. 在现实生活中,对象是指客观世界的实体B. 程序中的对象就是现实生活中的对象C. 在程序中,对象是通过一种抽象数据类型来描述的,这种抽象数据类型称为类D. 在程序中,对象是一组变量和相关方法的集合109 现有public class Parentt public void change (int x) public class Child extends Parent/覆盖父类chang()的方法 ( c )A. protected void change (int x) B. public void change(int x, int y) C. public void change (int x) D. public void change (String s)110 现有public class Pet public class Cat extends Pet执行代码 Cat c= new Cat(); Pet p=new Pet();后下列哪项是正确的_D_因重复定义了p_A. Pet p=(Pet)c 编译错误B. Pet p=(Pet)c 运行错误C. Pet p=(Pet)c 正常运行D.以上均不对111 下面哪个方法不是public int add(int a)的重载方法_B_A. public int add(long a)B. public void add(int a)C. public void add(long a)D. public int add(float a)112 为了使System.out.println()输出对象引用时得到有意义的信息,我们应覆盖Object类的哪个方法_B_A. equals B. toString C. hashode D.notify113 在子类中调用父类中被覆盖的方法时需要使用哪项关键字_B_A. this B.super C.new D.以上都不是114 下列有关接口哪项定义正确_C_A. interface Cint a; B. public interface A implements B C. public interface A int a(); D. abstract interface D 115 为了区分重载多态中同名的不同方法,要求(A )A. 形式参数个数或者类型不同 B. 返回值类型不同C. 调用时用类名或对象名做前缀 D. 形式参数名称不同116 Java语言的类间的继承关系是(B ) A. 多重的 B. 单重的 C. 线程的 D. 不能继承117 分析以下程序段:abstract class AbstractIt abstract float getFloat (); /第2行 public class AbstractTest extends AbstractIt private float f1=1.0f; private float getFloat()return fl; /第6行 下面哪一种结果正确?( C ) A. 可编译成功 B. 在第6行运行失败 C. 在第6行编译失败 D. 在第2行编译失败 118 设有两个类、,以下描述中表示继承自的是(D)A. class A extends B B. class B implements A C. class A implements