《JAVA试题及答案50道选择题 .doc》由会员分享,可在线阅读,更多相关《JAVA试题及答案50道选择题 .doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、选择题1、 JAVA所定义的版本中不包括:(D)A、 JAVA2 EEB、 JAVA2 CardC、 JAVA2 MED、 JAVA2 HEE、 JAVA2 SE2、 下列说法正确的是(A)A、 JAVA程序的main方法必须写在类里面B、 JAVA程序中可以有多个main方法C、 JAVA程序中类名必须与文件名一样D、 JAVA程序的main方法中如果只有一条语句,可以不用(大括号)括起来3、 变量命名规范说法正确的是(B)A、 变量由字母、下划线、数字、$符号随意组成;B、 变量不能以数字作为开头;C、 A和a在java中是同一个变量;D、 不同类型的变量,可以起相同的名字;4、 下列ja
2、vaDoc注释正确的是(C)A、 /*我爱北京天安门*/B、 /我爱北京天安门*/C、 /*我爱北京天安门*/D、 /*我爱北京天安门*/5、 为一个boolean类型变量赋值时,可以使用(B)方式A、 boolean = 1;B、 boolean a = (9 = 10);C、 boolean a=真;D、 boolean a = = false;6、 以下(C)不是合法的标识符A、 STRINGB、 x3x;C、 voidD、 de$f7、 表达式(11+3*8)/4%3的值是(D)A、 31B、 0C、 1D、 28、 (A)表达式不可以作为循环条件A、 i+;B、 i5;C、 bEqu
3、al = s(q);D、 count = = i;9、 运算符优先级别排序正确的是(A)A、 由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、 由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、 由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、 由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、 以下程序的运行结果是:(B)public class Incrementpublic static void main(String args) int a;a = 6;.print(
4、a);.print(a+);.print(a);A. 666B. 667C. 677D. 67611、 下列值不为true的表达式有(C)。A、 john = = johnB、 john.equals(john)C、 john = johnD、 john.equals(new String(john)12、 下列输出结果是(C)int a = 0 ;while ( a 0 ) i = i + 1; if ( i = =10 ) break; A. while循环执行10次B. 死循环C. 循环一次都不执行D. 循环执行一次14、 下面有关for循环的描述正确的是(A)A、 for循环体语句中,
5、可以包含多条语句,但要用大括号括起来B、 for循环只能用于循环次数已经确定的情况C、 在for循环中,不能使用break语句跳出循环D、 for循环是先执行循环体语句,后进行条件判断15、 下列(A C)属于引用数据类型(选择两项)A、 StringB、 charC、 用户自定义的Student类类型D、 int16、 对象的特征在类中表示为变量,称为类的(B)。A、 对象B、 属性C、 方法D、 数据类型17、 在java中下列关于自动类型转换说法正确的是(A)A、 基本数据类型和String相加结果一定是字符串型B、 char类型和int类型相加结果一定是字符C、 double类型可以自
6、动转换为intD、 char + int + double + 结果一定是double;18、 关于类的描叙正确的是(BD)(选择两项)A、 在类中定义的变量称为类的成员变量,在别的类中可以直接使用B、 局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中C、 使用别的类的方法仅仅需要引用方法的名字即可D、 一个类的方法使用该类的另一个方法时可以直接引用方法名19、 下列关于字符串的描叙中错误的是(BC)(选择两项)A、 字符串是对象B、 String对象存储字符串的效率比StringBuffer高C、 可以使用StringBuffer sb=这里是字符串声明并初始化String
7、Buffer对象sbD、 String类提供了许多用来操作字符串的方法:连接,提取,查询等20、 以下(D)代码,能够对数组正确初始化(或者是默认初始化)。A、 int a;B、 a = 1, 2, 3, 4, 5;C、 int a = new int51, 2, 3, 4, 5;D、 int a = new int5;21、 score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是(B)temp = score0;for (int index = 1;index 5;index+) if (scoreindex temp) temp = scoreinde
8、x; A. 求最大数B. 求最小数C. 找到数组最后一个元素D. 编译出错22、 下面关于数组的说法中,错误的是(AB)(选择两项)A、 在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为空B、 数组可以在内存空间连续存储任意一组数据C、 数组必须先声明,然后才能使用D、 数组本身是一个对象23、 在Java中,关于构造方法,下列说法错误的是(C )A、 构造方法的名称必须与类名相同B、 构造方法可以带参数C、 构造方法不可以重载D、 构造方法绝对不能有返回值24、 执行下面代码结果(D) for(int i=0;) .println(这是 +i); break;A、 语法错误
9、,缺少表达式2和表达式3B、 死循环C、 程序什么都不输出D、 输出:这是025、 下面代码输出结果是(B)。 int i=0,s=0; do if (i%2 = = 0 ) i+; continue; i+; s = s + i; while (i 3 ? a+ : b+); A、a 的值是 2,b 的值是 3 B、a 的值是 1,b 的值是 3 C、a 的值是 1,b 的值是 2 D、c 的值是 false 6将类的成员的访问权限设置为默认的,则该成员能被( A ) 。 A、同一包中的类访问 B、其他包中的类访问 C、所有的类访问 D、所有的类的子类访问 7下面的方法重载,正确的是( C
10、) 。 A、int fun(int a, float b) B、float fun(int a, float b) float fun(int a, float b) float fun(int x, float y) C、float fun(float a) D、float fun1(int a, float b) float fun(float a, float b) float fun2(int a, float b) 8下面关于继承的说法,正确的是( D ) 。 A、超类的对象就是子类的对象 B、一个类可以有几个超类 C、一个类只能有一个子类 D、一个类只能有一个超类 9下面关于多态性
11、的说法,正确的是( C ) 。 A、一个类中不能有同名的方法B、子类中不能有和父类中同名的方法 C、子类中可以有和父类中同名且参数相同的方法 D、多态性就是方法的名字可以一样,但返回的类型必须不一样 10关于下面程序, ( A )的结论是正确的。 class J_SubClass extends J_Test public class J_Test J_Test(int i) .println(i); public static void main(String args) J_SubClass a = new J_SubClass(); A、不能通过编译,因为类 J_Test 没有定义无参数
12、的构造方法 B、不能通过编译,因为类 J_SubClass 没有定义无参数的构造方法 C、不能通过编译,因为没有实现 J_SubClass(int i)的构造方法 D、可以成功通过编译 11关于下面程序片段, ( B )的结论是正确的。 String a = Java; String b = Java; String x = Ja; String y = va; String c = x + y; A、a 和 b 指向同一个实例对象,a 和 c 指向同一个实例对象 B、a 和 b 指向同一个实例对象,a 和 c 不指向同一个实例对象 C、a 和 b 不指向同一个实例对象,a 和 c 指向同一个
13、实例对象 D、a 和 b 不指向同一个实例对象,a 和 c 不指向同一个实例对象 12假设下面的程序代码都放在 文件中, ( D )程序代码能够编译通过。 A、import .*; B、package mypackage; package mypackage; import .*; class MyClass public class myClass C、int m; D、/*This is a comment*/ package mypackage; package mypackage; import .*; import .*; class MyClass public class MyC
14、lass 13当需要在文件中写入字符而不是字节时,在下面的类中最好选用( B )类。 A、.RandomAccessFile B、.PrintWriter C、.PrintStream D、.PrintOutputStream 14关于事件监听,正确的是( C ) 。 A、一个事件监听器只能监听一个组件 B、一个事件监听器只能监听处理一种事件 C、一个组件可以注册多个事件监听器,一个事件监听器也可以注册到多个组件上 D、一个组件只能引发一种事件 二、填空题 1 Class类是由 Java 编译器自动生成的,它伴随每个类。 2任何一个 Java 程序都默认引入一个包,这个包的名字是 。 3在 J
15、ava 语言中,有一个类是所有类或接口的父类,这个类的名称是 .Object 。 4在 Java 中所实现的二维数组,实际上是由一维数组构成的数组 。 5在 Java 中,字符串是作为对象出现的。 6接口可以看作是仅容纳抽象方法 、常量,而又不能直接生成对象的特殊抽象类。 7FileInputStream 是字节流,BufferedWriter 是字符流,ObjectOutputStream 是对象流 。 8在 Java 中,组件不能独立地显示出来,必须将组件放在一定的 容器 中才能显示。 9Applet 是能够嵌入到 HTML 格式中的文件,并能够在浏览器中运行的 Java 类。 三、判断题
16、 1、Java 程序一般应当含有 main 方法,因为它是所有 Java 程序执行的入口。 ( ) 2、Java 语言的标识符是不区分大小写的。 ( ) 3、 Java 语言为所有的 Java 程序自动导入包 “” , 因此 Java 程序可以直接用 “”中的类和接口。位于类继承关系层次结构树的根部的类 Object 就是在包“”中的类。( ) 4、有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。 ( ) 5、Java 语言规定,任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用) ,并且调用父类构造方法的语句必须是子类构造方法的第一条语句。 ( ) 6、Java 语
17、言对内存的释放是采用垃圾回收机制。Java 虚拟机自动判断并收集“垃圾” ,但一般不会立即释放它们的存储空间。 ( ) 7、 在 编 译 Java 源程序时, 计算机根本不会去识别各个变量名的具体含义, 因此命名规范对编写 Java程序而言不是必要的,而且有可能会降低编写 Java 源程序的效率。 ( )一、单项选择题 1作为 Java 应用程序入口的 main 方法,其声明格式可以是( A ) 。 A、public static void main(String args) B、public static int main(String args) C、public void main(St
18、ring args) D、public int main(String args) 2在一个合法的 Java 源程序文件中定义了 3 个类,其中属性为 public 的类可能有( B )个。 A、0 B、1 C、2 D、3 3下面( B )单词是 Java 语言的关键字。 A、sizeof B、abstract C、null D、String 4下面( C )语句不会出现编译警告或错误。 A、float f = 1.3; B、char c = a; C、byte b = 25; D、boolean d = null; 5下面程序片段输出的是( D ) 。 int i = 0, j = 9; d
19、o if(i+ -j) break; while(i 4); .println(i = + i + and j = + j); A、i = 4 and j = 4 B、i = 5 and j = 5 C、i = 5 and j = 4 D、i = 4 and j = 5 6对于下面( B )类定义,可以通过“new J_Class()”生成类 J_Class 的实例对象。 A、public class J_Class public J_Class(void) B、public c lass J _Class C、public class J_Class public J_Class(Strin
20、g s) D、public class J_Class public void J_Class() public J_Class(String s) 7要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类的子类访问到,但是不能被不在同一个包内的其他类访问到。下面( C )可以满足上述要求。 A、该成员域的封装属性设置为 public B、该成员域的封装属性设置为 private C、该成员域的封装属性设置为 protected D、该成员域不需要特殊的封装属性 8关于下面程序, ( D )的结论是正确。 public class J_Test public static void
21、main(String args) int a = new int5; boolean b = new boolean5; .println(a4); .println(b5); A、程序可以通过编译并正常运行,结果输出“0false” B、程序可以通过编译并正常运行,结果输出“1true” C、程序无法通过编译 D、程序可以通过编译,但无法正常运行 9下面这段代码会产生( C )个 String 对象。 String s1 = hello; String s2 = s1.substring(2, 3); String s3 = s1.toString(); String s4 = new S
22、tringBuffer(s1).toString(); A、1 B、2 C、3 D、4 10关于下面程序, ( D )的结论是正确的。 public class J_Test public static void main(String args) try return; finally .println(1); A、上面程序含有编译错误 B、上面程序在运行时会产生一个运行时异常 C、上面程序会正常运行,但不产生任何输出 D、上面程序输出“1” 11用“new FileOutputStream(“”,true)”创建一个 FileOutputStream 实例对象,则下面( B )说法是正确的
23、。 A、如果文件“”存在,则将抛出 IOException 异常 B、如果文件“”存在,则将在文件的末尾开始添加新内容 C、如果文件“”存在,则将覆盖掉文件中已有的内容 D、如果文件“”不存在,则将抛出 IOException 异常 12改变当前容器的布局方式, ( A ) 。A、调用方法 setLayout B、容器一旦生成,它的布局方式就不能改变 C、调用方法 setLayoutManager D、调用方法 updateLayout 13关于小应用程序执行过程的生命周期, ( D )的结论是正确的。 A、当小应用程序从运行态进入停止态时,首先要调用的成员方法是 pause() B、当关闭正
24、处于运行态的小应用程序时,首先要调用的成员方法是 destory() C、当小应用程序从停止态进入运行态时,首先要调用的成员方法是 paint() D、当关闭正处于停止态的小应用程序时,首先要调用的成员方法是 destory() 14下面( D )方法可以用来加载 JDBC 驱动程序。 A、类 .DriverManager 的 getDriver 方法 B、类 .DriverManager 的 getDrivers 方法 C、.Driver 的方法 connect D、类 .Class 的 forName 方法 二、概念填空题 1Java 语言通过 垃圾回收 机制简化了程序的内存管理。 2Ja
25、va 标识符是由 字母、数字、下划线、美元符号 组成的字符序列。 3面向对象的计算机语言一般应具有 3 个基本特性,分别是 封装、继承、多态 。 4Java 中的 .Object 类是最顶层的类,所有其他的类都是它直接或间接的子类。 5在 Java 的基本数据类型中,char 类型采用 Unicode 编码方案,这样,无论是中文字符还是英文字符,都是占 2 字节内存空间。 6类的静态成员属于这个类的 所有对象 。 7一个类要具有可序列化的特性一般就必须实现接口 .Serializable 。 8类 String 本身负责维护一个字符串池。该字符串池存放 字符串常量 所指向的字符串示例,以及调用过类 String 成员方法 intern 后的字符串示例。 三、判断题 1、父类的构造方法不可以被子类继承。 ( ) 2、在接口中定义的方法都只能是没有方法体的抽象方法。 ( ) 3、Java 程序分成应用程序和小应用程序两类,所以一个 Java 程序不可能既是应用程序,又是小应用程序。 ( ) 4、javadoc 是一种从文档注释生成 HTML 帮助文件的工具。它可以处理在 java 源程
限制150内