JAVA试题及答案(50道选择题)(共10页).doc
精选优质文档-倾情为你奉上JAVA语言基础内部测试题选择题(针对以下题目,请选择最符合题目要求的答案,针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。)(每题2分)没有注明选择几项的,只选择一项1、 JAVA所定义的版本中不包括:()A、 JAVA2 EEB、 JAVA2 CardC、 JAVA2 MED、 JAVA2 HEE、 JAVA2 SE2、 下列说法正确的是()A、 JAVA程序的main方法必须写在类里面B、 JAVA程序中可以有多个main方法C、 JAVA程序中类名必须与文件名一样D、 JAVA程序的main方法中如果只有一条语句,可以不用(大括号)括起来3、 Java中,在如下所示的Test类中,共有()个构造方法。public class Testprivate int x;public Test()x=35;public void Test(double f)This.x=(int)f;public Test(String s)A、 0B、 1C、 2D、 34、 变量命名规范说法正确的是()A、 变量由字母、下划线、数字、$符号随意组成;B、 变量不能以数字作为开头;C、 A和a在java中是同一个变量;D、 不同类型的变量,可以起相同的名字;5、 下列javaDoc注释正确的是()A、 /*我爱北京天安门*/B、 /我爱北京天安门*/C、 /*我爱北京天安门*/D、 /*我爱北京天安门*/6、 为一个boolean类型变量赋值时,可以使用()方式A、 boolean = 1;B、 boolean a = (9 >= 10);C、 boolean a="真"D、 boolean a = = false;7、 以下()不是合法的标识符A、 STRINGB、 x3x;C、 voidD、 de$f8、 表达式(11+3*8)/4%3的值是()A、 31B、 0C、 1D、 29、 ()表达式不可以作为循环条件A、 i+;B、 i>5;C、 bEqual = str.equals("q");D、 count = = i;10、 运算符优先级别排序正确的是()A、 由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、 由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、 由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、 由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;11、 以下程序的运行结果是:()public class Incrementpublic static void main(String args) int a;a = 6;System.out.print(a);System.out.print(a+);System.out.print(a);A. 666B. 667C. 677D. 67612、 下列值不为true的表达式有()。A、 "john" = = "john"B、 "john".equals("john")C、 "john" = "john"D、 "john".equals(new String("john")13、 下列输出结果是()int a = 0 ;while ( a < 5 ) switch(a) case 0: case 3 : a = a + 2; case 1 : case 2 : a = a + 3; default : a = a + 5; System.out.print ( a ) ;A、 0 B、 5C、 10D、 其他14、 下列代码输出结果是()int i = 10;while ( i > 0 ) i = i + 1; if ( i = =10 ) break; A. while循环执行10次B. 死循环C. 循环一次都不执行D. 循环执行一次15、 下面有关for循环的描述正确的是()A、 for循环体语句中,可以包含多条语句,但要用大括号括起来B、 for循环只能用于循环次数已经确定的情况C、 在for循环中,不能使用break语句跳出循环D、 for循环是先执行循环体语句,后进行条件判断16、 下列()属于引用数据类型(选择两项)A、 StringB、 charC、 用户自定义的Student类类型D、 int17、 对象的特征在类中表示为变量,称为类的()。A、 对象B、 属性C、 方法D、 数据类型18、 在java中下列关于自动类型转换说法正确的是()A、 基本数据类型和String相加结果一定是字符串型B、 char类型和int类型相加结果一定是字符C、 double类型可以自动转换为intD、 char + int + double +"" 结果一定是double;19、 关于类的描叙正确的是()(选择两项)A、 在类中定义的变量称为类的成员变量,在别的类中可以直接使用B、 局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中C、 使用别的类的方法仅仅需要引用方法的名字即可D、 一个类的方法使用该类的另一个方法时可以直接引用方法名20、 下列关于字符串的描叙中错误的是()(选择两项)A、 字符串是对象B、 String对象存储字符串的效率比StringBuffer高C、 可以使用StringBuffer sb="这里是字符串"声明并初始化StringBuffer对象sbD、 String类提供了许多用来操作字符串的方法:连接,提取,查询等21、 以下()代码,能够对数组正确初始化(或者是默认初始化)。A、 int a;B、 a = 1, 2, 3, 4, 5;C、 int a = new int51, 2, 3, 4, 5;D、 int a = new int5;22、 score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程序运行结果是()temp = score0;for (int index = 1;index < 5;index+) if (scoreindex < temp) temp = scoreindex; A. 求最大数B. 求最小数C. 找到数组最后一个元素D. 编译出错23、 下面关于数组的说法中,错误的是()(选择两项)A、 在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为空B、 数组可以在内存空间连续存储任意一组数据C、 数组必须先声明,然后才能使用D、 数组本身是一个对象24、 在Java中下面代码是()条语句 int i;i=123; int j=0,k=0; System.out.println(i+""+""+j+""+k);A、 3B、 4C、 5D、 625、 在Java中,关于构造方法,下列说法错误的是( )A、 构造方法的名称必须与类名相同B、 构造方法可以带参数C、 构造方法不可以重载D、 构造方法绝对不能有返回值26、 执行下面代码结果() for(int i=0;) System.out.println("这是 "+i); break;A、 语法错误,缺少表达式2和表达式3B、 死循环C、 程序什么都不输出D、 输出:这是027、 下面代码输出结果是()。 int i=0,s=0; do if (i%2 = = 0 ) i+; continue; i+; s = s + i; while (i<7); System.out.println(s);A、 16B、 12C、 28D、 2128、 下面()不是String类提供的合法的方法。A、 equals(String)B、 trim()C、 append()D、 indexOf()29、 在JAVA中,以下( )类的对象以键-值的方式存储对象A、 java.util.ListB、 java.util.ArrayListC、 java.util.HashMapD、 java.util.LinkedList30、 给定如下所示的JAVA代码,则运行时,会产生()类型的异常String s = null;s.concat("abc");A. ArithmeticExceptionB. NullPointerExceptionC. IOExceptionD. ClassNotFoundException31、 给定java代码如下所示,在A处新增下列()方法,是对cal方法的重载(选择两项)public class Testpublic void cal(int x, int y, int z)/AA. public int cal(int x,int y,float z)return 0;B. public int cal(int x,int y,int z)return 0;C. public void cal(int x,int z)D. public viod cal(int z,int y,int x)32、 给定如下Java 程序代码片段,编译运行这段代码,结果是()。 java.util.HashMap map = new java.util.HashMap(); map.put("name",null); map.put("name","Jack"); System.out.println(map.get("name");A. nullB. JackC. nullJackD. 运行时出现异常33、 给定以下JAVA代码,这段代码编译运行后输出的结果是() public class Test public static int aMethod(int i) throws Exception tryreturn i/10;catch(Exception ex)throw new Exception ("exception in a aMothod");finally System.out.print("finally"); public static void main(String args)tryaMethod(0); catch(Exception ex)System.out.print("exception in main"); System.out.print("finished");A、 finallyexception in mainfinishedB、 exception in mainfinallyC、 finallyfinishedD、 finallyexception in mainfinished34、 在Java中,下面对于构造函数的描述错误的是()(选择两项)A、 类不一定要显式定义构造函数B、 构造函数的返回类型是voidC、 如果构造函数不带任何参数,那么构造函数的名称和类名可以不同D、 一个类可以定义多个构造函数35、 在Java语言中,下列关于类的继承的描述,正确的是()。A、 一个类可以继承多个父类B、 一个类可以具有多个子类C、 子类可以使用父类的所有方法D、 子类一定比父类有更多的成员方法36、 下列选项中关于Java中super关键字的说法正确的是()。A、 super关键字是在子类对象内部指代其父类对象的引用B、 super关键字不仅可以指代子类的直接父类,还可以指代父类的父类C、 子类通过super关键字只能调用父类的方法,而不能调用父类的属性D、 子类通过super关键字只能调用父类的属性,而不能调用父类的方法37、 在Java接口中,下列选项中有效的方法声明是()。(选择二项)A、 public void aMethod();B、 void aMethod();C、 protected void aMethod();D、 private void aMethod();38、 在JAVA的异常处理模型中,能单独和finally语句一起使用的块是()。A、 tryB、 catchC、 throwD、 throws39、 分析如下Java代码,编译运行后将输出()。 public class Test public Test() static void print(ArrayList al) al.add(2); al=new ArrayList(); al.add(3); al.add(4);public static void main(Stringargs) Test test=new Test();ArrayList al=new ArrayList();al.add(1);print(al);System.out.println(al.get(1);A、 1B、 2C、 3D、 440、 在JAVA中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。A、 equals(Object obj)B、 getClass()C、 toString()D、 trim()41、 下列选项中关于Java中封装的说法错误的是()。A、 封装就是将属性私有化,提供共有的方法访问私有属性B、 属性的访问方法包括setter方法和getter方法C、 setter方法用于赋值,getter方法用于取值D、 包含属性的类都必须封装属性,否则无法通过编译42、 Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()A、 C不仅继承了B中的成员,同样也继承了A中的成员B、 C只继承了B中的成员C、 C只继承了A中的成员D、 C不能继承A或B中的成员43、 分析选项中关于Java中this关键字的说法正确的是()A、 this关键字是在对象内部指代自身的引用B、 this关键字可以在类中的任何位置使用C、 this关键字和类关联,而不是和特定的对象关联D、 同一个类的不同对象共用一个this44、 在JAVA中,LinkedList类和ArrayList类同属于集合框架类,下列()选项中的方法是LinkedList类有而ArrayList类没有的。A、 add(Object o)B、 add(int index,Object o)C、 remove(Object o)D、 removeLast()45、 在JAVA中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了ArrayList类的对象bookTypeList,则下列语句中能够实现判断列表中是否存在字符串“小说”的是()。A、 bookTypeList.add("小说");B、 bookTypeList.get("小说");C、 bookTypeList.contains("小说");D、 bookTypeList.remove("小说");46、 给定如下Java代码,其中第(无答案)行代码有错误。 A、 4B、 5C、 6D、 7E、 8F、 947、 以下关于布局的说法,错误的是()A、 BorderLayout是边框布局,它是窗体的默认布局B、 null是空布局,它是面板的默认布局C、 FlowLayout是流布局,这种布局将其中的组件按照加入的先后顺序从左向右排列, 一行排满之后就转到下一行继续从左至右排列D、 GridLayout是网格布局,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件48、 以下用于创建容器对象的类是()(选择两项)A、 FrameB、 CheckboxC、 PanelD、 TextField49、 以下关于抽象类和接口的说法错误的是()A、 抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。但是一个类却可以实现多个接口。B、 在抽象类中可以没有抽象方法C、 实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。接口中的方法都不能被实现D、 接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。E、 接口中的方法都必须加上public关键字。50、 关于面向对象的说法正确的是()A、 类可以让我们用程序模拟现实世界中的实体 B、 有多少个实体就要创建多少个类C、 对象的行为和属性被封装在类中,外界通过调用类的方法来获得,但是要知道类的内部是如何实现D、 现实世界中的某些实体不能用类来描述专心-专注-专业