考试时间:120分钟 姓名:___________ 成绩:___________
一、选择题(共40题,每题2分)
1.下列表达式正确的 ( )
A、byte b = 128;
B、boolean flag = null;
C、float f = 0.9239;
D、long a = 21474838L;
2.下列运算符合法的是 ( )
A、&&
B、<>
C、if
D、:=、
3.如下哪个不是java的关键字( )
A、const B、NULL C、if D、this
4.提 供Java存取数据库能力的包是 ( )
A、java.sql
B、java.awt
C、java.lang
D、java.swing
5.下列哪一种叙述是正确的 ( )
A、abstract修饰符可修饰字段、方法和类
B、抽 象方法的body部分必须用一对大括号{ }包住
C、声明抽象方法,大括号可有可无
D、声明抽象方法不可写出大括号
6.关于源文件,下列说法错误的是 ( )
A、一个源文件里可以有多个class声明
B、一个源文件里只能有一个class用public修饰
C、源文件的名称只要和源文件里任意一个类名相同即可
D、在开发的时候,如果两个类不存在嵌套关系,最好是一个源文件只有一个类
7.已知表达式int m [ ] = {0,1,2,3,4,5,6};
下面哪个表达式的值与数组下标量总数相等 ( )
A、m.length() B、m.length C、m.length()+1 D、m.length-1
8.下列程序的输出结果是( )
String str = null;
System.out.println(a+2);
A、2 B、”2” C、”null2” D、” null+2”
9.下列程序的输出结果是( )
int a = 012;
int b = a < < 1;
System.out.println(b);
A、20 B、24 C、false D、21
10.下列程序的输出结果是( )
int a = 0x12;
int b = a < < 1;
System.out.println(b);
A、36 B、24 C、false D、21
11.下列程序的输出结果是( )
int a = 23;
int b = 5;
System.out.println(a % b);
A、4 B、3 C、4.6 D、0
12.下列程序的输出结果是( )
double a = 23.0;
double b = 5.0;
System.out.println(a % b);
A、4 B、3 C、4.0 D、3.0
13.下列程序的输出结果是( )
int i = 2;
i = i ++;
int j = i ++;
System.out.println(i+”, ”+j);
A、2, 1 B、2, 2 C、2, 3 D、3, 2
14.关于线程设计,下列描述正确的是( )
A、线程对象必须实现Runnable接口;
B、启动一个线程直接调用线程对象的run()方法;
C、Java提供对多线程同步提供语言级的支持;
D、一个线程可以包含多个进程;
15.欲构造ArrayList类得一个实例,此类继承了List接口,下列哪个方法是正确的( )
A、ArrayList myList = new Object();
B、List myList = new ArrayList();
C、ArraylList myList = new List();
D、List myList = new List();
16.下哪一个类型不能作为switch语句表达式的类型( )
A、int B、char C、String D、short
17.下面哪行代码有编译问题( )
public class Test{
public void Test(){ //①
}
public Test(String str){ //②
System.out.println(str);
}
public static void main(String[] args){
Test t1 = new Test(); //③
Test t2 = new Test(“hello”); //④
}
}
A、① B、② C、③ D、④
18.关于Map和List,下面说法正确的是( )
A、Map继承List
B、List中可以保存Map或List
C、Map和List只能保存从数据库中取出的数据
D、Map的value可以是List或Map
19.下列描述正确的是( )
A、数组是一种对象
B、数组属于一种原生类
C、int number=[]={31,23,33,43,35,63}
D、数组的大小可以任意改变
20.关于package,下列说法不正确的是( )
A、package的作用是可以对类进行分类管理
B、package提供了包一级的封装
C、package语句不必是类的第一条非注释代码
D、package声明的包可以有子包,但两个子包的名称不能相同
21.关于权限修饰符,下列说法错误的是( )
A、权限修饰符可以用来修饰类和类的成员
B、public权限最大,可以跨包访问
C、protected权限允许在同一个包访问
D、类不能用private修饰
22.下列哪种说法是正确的( )
A、实例方法可直接调用超类的实例方法
B、实例方法可直接调用超类的类方法
C、实例方法可直接调用其他类的实例方法
D、实例方法可直接调用本类的类方法
23.阅读下面的程序
public class X extends Thread implements Runnable{
public void run(){
System.out.println("this is run()");
}
public static void main(String args[]){
Thread t=new Thread(new X());
t.start();
}
}
正确的判断是( )
A、第一行会产生编译错误
B、第六行会产生编译错误
C、第六行会产生运行错误
D、程序会运行和启动
24.阅读下面的程序
public class A{
private int value;
public A(int value){
setValue(value);
}
public setValue(int value){
this.value = value;
}
}
public class Test{
public static void main(String[] args){
int i = 1;
A a = new A(1);
modify (i);
modify (a);
}
public static void modify(int i){
i = 10;
}
public static void modify (A a){
a.setValue(10);
}
}
关于main方法的执行,正确的判断是( )
A、i的值改变了,a的成员变量的值改变了
B、i的值改变了,a的成员变量的值没有改变
C、i的值没有改变,a的成员变量的值改变了
D、i的值没有改变,a的成员变量的值没有改变
25.关于eqauls方法,下列说法错误的是( )
A、用==判断两个对象相等
B、用对象的eqauls方法判断两个对象相等
C、根类Object的eqauls方法的实现机制是判断参数指向的对象和自身是否为同一个对象
D、如果我们要判断对象相等,通常需要覆盖eqauls方法
26.下面哪行代码有编译问题( )
public class Test{
public static void main(String[] args){
int[] a = {}; //①
String[] str = {}; //②
a = new int[]{}; //③
str = {”1”,”2”}; //④
}
}
A、① B、② C、③ D、④
27.下面哪种定义一个二维数组的方式是错误的()
A、int[][] a = new int[5][];
B、int[][] a = new int[][5];
C、int[][] a = {};
D、int[][] a = {{}};
28.String s=new String(“hello”);
String t =new String(“hello”);
char c [ ] ={‘h’,’e’,’l’,’l’,’o’};
下列哪些表达式返回true( )(多选)
A、s.equals(t); B、t.equals(c); C、s= =t D、t.equals (new String(“hello”));
29.阅读下面代码:
String str1 = “abc”;
String str2 = new String(“abc”);
boolean b1 = str1 == str2;
boolean b2 = str1.eqauls(str2);
判断正确的是( )
A、b1的值为true,b2的值为true
B、b1的值为false,b2的值为true
C、b1的值为true,b2的值为false
D、b1的值为false,b2的值为false
30.对于下列代码:
public class Parent {
public int addValue (int a ,int b ){
int s;
s = a + b;
return s;
}
}
class Child extends Parent {
}
下述哪个方法可以加入类Child( )
A、int addValue(int a ,int b){//do something…}
B、public void addValue(){//do something…}
C、public int addValue(){//do something…}
D、public int addValue( int a, int b )throws MyException {//do something…}
31.关于异常(Exception),下列说法错误的是()
A、异常的基类为Exception,所有异常都必须直接或者间接继承它
B、异常可以用try{ . . .}catch(Exception e){ . . .}来捕获并进行处理
C、如果某异常继承RuntimeException,则该异常可以不被声明
D、异常可以随便处理,而不是抛给外层的程序进行处理
32.下列关于栈的叙述正确的是()
A、栈是非线性结构
B、栈是一种树状结构
C、栈具有先进先出的特征
D、栈具有后进先出的特征
33.有关线程的哪个叙述是错误的()
A、一旦一个线程被创建,它就立即开始运行。
B、使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。
C、当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。
D、一个线程可能因为不同的原因停止并进入就绪状态。
34.你要操纵Oracle数据,下列哪个不是SQL命令()
A、select * from dual;
B、set define;
C、update emp set ename = 6543 where ename = ‘SMITHERS’;
D、create table employees(empid varchar2(10) primary key);
35.要从ORDERS表中取得数据,其中包括三个列CUSTOMER、ORDER_DATE与ORDER_AMT。可以用下列哪个where子句查询ORDERS表,取得客户LESLIE超过2700的订单。可以用下列哪个where子句查询ORDERS表,取得客户LESLIE超过2700的订单()
A、where customer = ‘LESLIE’;
B、where customer = ‘LESLIE’and order_amt < 2700;
C、where customer = ‘LESLIE’or order_amt > 2700;
D、where customer = ‘LESLIE’and order_amt > 2700;
36.试图在Oracle生成表时遇到下列错误:ORA-00955-name is already used by existing object。下列哪个选项无法纠正这个错误()
A、以不同的用户身份生成对象
B、删除现有同名对象
C、改变生成对象中的列名
D、更名现有同名对象
37.删除Oracle数据库中父/子关系中的父表。在删除父表时下列哪个对象不会删除()
A、相关约束
B、子表
C、相关触发器
D、相关索引
38.你要在Oracle中使用日期信息的格式掩码。下列哪种情形不适合这个格式掩码()
A、to_date()
B、to_char()
C、alter session set nls_date_format
D、to_number()
39.阅读下列代码
Public class Cat{
}
Public class Dog{
}
Public class Test{
public static void main(String[] args){
Object o = new Cat();
Dog dog = (Dog)o;
}
}
判断正确的是()
A、编译不通过
B、编译通过,运行出现异常
C、编译通过,运行没有异常
D、编译不通过,但可以运行
40.阅读下列代码
Public class Cat{
}
Public class Test{
public static void main(String[] args){
Object[] cats1 = new Cat[2];
Object[] cats2 = new Object[2];
Cat c1 = new Cat();
Cat c2 = new Cat();
cats1[0] = c1;
cats1[1] = c2;
cats2[0] = c1;
cats2[1] = c2;
Cat[] cs1 = (Cat[])cats1;//①
Cat[] cs2 = (Cat[])cats2;//②
}
}
运行该程序,判断正确的是()
A、运行正常,没有任何异常情况
B、①抛异常
C、②抛异常
D、①②都会抛异常
二、简答题(共2题,每题4分)
1.说出一些常用的类,包,接口,请各举5个
2.&和&&的区别?
三、SQL语句(共3题,每题2分)
1.创建表空间neuspace,数据文件命名为neudata.dbf,存放在d:\\data目录下,文件大小为200MB,设为自动增长,增量5MB,文件最大为500M。
2.在表student的SNAME属性上创建索引student_sname_idx。
3.删除表student的数据,将所有3班(classno)出生日期(birthday)小于1991年5月12日的记录删除。
四、逻辑题(共1题,每题6分)
前提:
1、 有五栋五种颜色的房子
2 、每一位房子的主人国籍都不同
3、 这五个人每人只喝一种饮料,只抽一种牌子的香烟,只养一种宠
4、没有人有相同的宠物,抽相同牌子的香烟,喝相同的饮料
提示:
1、 英国人住在红房子里
2 、瑞典人养了一条狗
3、 丹麦人喝茶
4 、绿房子在白房子左边
5 、绿房子主人喝咖啡
6 、抽PALLMALL烟的人养了一只鸟
7 、黄房子主人抽DUNHILL烟
8 、住在中间那间房子的人喝牛奶
9 、挪威人住第一间房子
10、抽混合烟的人住在养猫人的旁边
11、养马人住在抽DUNHILL烟的人旁边
12、抽BLUEMASTER烟的人喝啤酒
13、德国人抽PRINCE烟
14、挪威人住在蓝房子旁边
15、抽混合烟的人的邻居喝矿泉水
问题是:谁养鱼
| 1. | D | 21. | D |
| 2. | A | 22. | D |
| 3. | B | 23. | D |
| 4. | A | 24. | C |
| 5. | D | 25. | A |
| 6. | C | 26. | D |
| 7. | D | 27. | B |
| 8. | C | 28. | AD |
| 9. | A | 29. | B |
| 10. | A | 30. | B |
| 11. | B | 31. | D |
| 12. | D | 32. | D |
| 13. | D | 33. | A |
| 14. | C | 34. | B |
| 15. | B | 35. | D |
| 16. | C | 36. | C |
| 17. | C | 37. | B |
| 18. | D | 38. | D |
| 19. | A | 39. | B |
| 20. | C | 40. | D |
二、简答题
1、常用的类:BufferedReader BufferedWriter FileReader FileWirter String Integer
常用的包:java.lang java.awt java.io java.util java.sql
常用的接口:Remote List Map Document NodeList
2、&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)
三、SQL语句
1、create tablespace neuspace datafile ‘d:\\data\\neudata.dbf’ size 200m auto extend on next 5M maxsize 500M;
2、create index student_sname_idx on student(sname);
3、delete from student where classno=3 and birthday > ’12-5月-91’;下载本文