一、选择题
1、 下列说法正确的是() A
A、 JAVA程序的main方法必须写在类里面
B、 JAVA程序中可以有多个main方法(一个类中只能有一个main方法)
C、 JAVA程序中类名必须与文件名一样(由public修饰时)
D、 JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来
D.不可以。函数的定义就是——返回类型 函数名(参数……){ 函数体(过程) [返回值]}既然main函数是一个函数,也就必须符合其定义规则。如果像if或者for,只有一个语句,可以省略括弧。
2、 Java中,在如下所示的Test类中,共有()个构造方法。 C
public class Test{ private int x; public Test(){ x=35; }
public void Test(double f){ This.x=(int)f; }
public Test(String s){} }
//参数个数或类型不一致,不能有void方法
A、 0 B、 1 C、 2D、 3
3、 表达式(11+3*8)/4%3的值是() D 35/4%3=8%3=2
A、 31B、 0C、 1D、 2
4、 关于类的描叙正确的是()(选择两项)BD
A、 在类中定义的变量称为类的成员变量,在别的类中可以直接使用
B、 局部变量的作用范围仅仅在定义它的方法内,或者是在定义它的控制流块中
C、 使用别的类的方法仅仅需要引用方法的名字即可
D、 一个类的方法使用该类的另一个方法时可以直接引用方法名
5、 下列关于字符串的描叙中错误的是()(选择两项)BC
A、 字符串是对象
B、 String对象存储字符串的效率比StringBuffer高
C、 可以使用StringBuffer sb="这里是字符串"声明并初始化StringBuffer对象sb
D、 String类提供了许多用来操作字符串的方法:连接,提取,查询等
6、 下面关于数组的说法中,错误的是()(选择两项)AB
A、 在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为空
B、 数组可以在内存空间连续存储任意一组数据
C、 数组必须先声明,然后才能使用
D、 数组本身是一个对象
7、 执行下面代码结果() D
for(int i=0;;){
System.out.println("这是 "+i);
break;
}
A、 语法错误,缺少表达式2和表达式3
B、 死循环
C、 程序什么都不输出
D、 输出:这是0
8、 在JAVA中,以下( )类的对象以键-值的方式存储对象C
A、 java.util.List
B、 java.util.ArrayList
C、 java.util.HashMap
D、 java.util.LinkedList
9、 给定java代码如下所示,在A处新增下列()方法,是对cal方法的重载(选择两项) AC
public class Test{
public void cal(int x, int y, int z){
}
//A
}
A. 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){}
10、 在Java语言中,下列关于类的继承的描述,正确的是()。B
A、 一个类可以继承多个父类
B、 一个类可以具有多个子类
C、 子类可以使用父类的所有方法
D、 子类一定比父类有更多的成员方法
11、 下列选项中关于Java中super关键字的说法正确的是()。 A
A、 super关键字是在子类对象内部指代其父类对象的引用
B、 super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C、 子类通过super关键字只能调用父类的方法,而不能调用父类的属性
D、 子类通过super关键字只能调用父类的属性,而不能调用父类的方法
12、 在JAVA的异常处理模型中,能单独和finally语句一起使用的块是()。 A
A、 tryB、 catchC、 throwD、 throws
13、 在JAVA中,Object类是所有类的父亲,用户自定义类默认扩展自Object类,下列选项中的()方法不属于Object类的方法。 D
A、 equals(Object obj)
B、 getClass()
C、 toString()
D、 trim()
14、 在JAVA中ArrayList类实现了可变大小的数组,便于遍历元素和随机访问元素,已知获得了ArrayList类的对象bookTypeList,则下列语句中能够实现判断列表中是否存在字符串“小说”的是()。C
A、 bookTypeList.add("小说");
B、 bookTypeList.get("小说");
C、 bookTypeList.contains("小说");
D、 bookTypeList.remove("小说");
15、 关于面向对象的说法正确的是()A
A、 类可以让我们用程序模拟现实世界中的实体
B、 有多少个实体就要创建多少个类
C、 对象的行为和属性被封装在类中,外界通过调用类的方法来获得,但是要知道类的内部是如何实现
D、 现实世界中的某些实体不能用类来描述
16、 以下关于抽象类和接口的说法错误的是()E
A、 抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。但是一个类却可以实现多个接口。
B、 在抽象类中可以没有抽象方法
C、 实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。接口中的方法都不能被实现
D、 接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。
E、 接口中的方法都必须加上public关键字。
17、 关于面向对象的说法正确的是()A
A、 类可以让我们用程序模拟现实世界中的实体
B、 有多少个实体就要创建多少个类
C、 对象的行为和属性被封装在类中,外界通过调用类的方法来获得,但是要知道类的内部是如何实现
D、 现实世界中的某些实体不能用类来描述
18. 在下列选项中,哪一个可执行同构的sql语句?( ) C
A CallableStatement
B Statement
C PreparedStatement
19. 在下列选项中,哪一个可执行异构的sql语句?( )A
A CallableStatement
B Statement
C PreparedStatement
20、查找表结构用以下哪一项( ) B
A.FIND B.SELETE C.ALTER D.DESC
21、在视图上不能完成的操作是( ) D
A.查询
B.在视图上定义新的视图
C.更新视 图
D.在视图上定义新的表
视图是基于数据表的一种查询窗口。怎么可能在这种查询窗口中再建数据表呢?就像你可以在房子上开窗,但你不能在窗子上盖个房子吧?
22、查找条件为:姓名不是NULL的记录( ) C
A.WHERE NAME ! NULL
B.WHERE NAME NOT NULL
C.WHERE NAME IS NOT NULL
D.WHERE NAME!=NULL
23、SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是( )。 B
A.UPDATE B.SELECT C.DELETE D.INSERT
24、以下哪种操作能够实现实体完整性( ) B
A.设置唯一键
B.设置外键
C.减少数据冗余
D.设置主键
25、用于将事务处理写到数据库的命令是( ) C
A.insert B.rollback C.commit D.savepoint
26、DAO模式是进行数据库操作时,java中采用的一种方,其中,进行数据描述的类是() D
A : 继承指定抽象类的类
B : 包装常规数据类型的类
C : 实现指定接口的类
D : JavaBean
27、在MySQL中,以下删除字段的SQL语句正确的是() B
A : alter table table_name drop column column_name
B : delete table table_name drop column column_name
C : drop table table_name drop column column_name
D : truncation table table_name drop column column_name
28、在MySQL中使用 SELECT * FROM smbms_commodity LIMIT 0,5进行分页 查询,下列选项中与所使用的SQL语句功能相同的是() D
A : SELECT * FROM smbms_commodity LIMIT 0 to 5
B : SELECT * FROM smbms_commodity LIMIT 5
C : SELECT * FROM smbms_commodity LIMIT 0-5
D : SELECT * top 5 FROM smbms_commodity
29、在MySQL中,使用in/not in关键字实现子查询时,()情况下可以用 = 代替。 A
A : 子查询返回唯一的结果时
B : 子查询返回重复的结果时
C : 子查询返回多个结果时
D : 子查询返回的结果中没有重复数据时
30、SQL语言允许使用通配符进行字符串匹配操作,其中“%”可以表示() D
A : 0个字符
B : 1个字符
C : 多个字符
D : 以上都可以
二、简答题
一、JAVA部分
1,List、Set和Map 之间的区别?
List 接口存储一组不唯一,有序(插入顺序)的对象(查询快)
Set 接口存储一组唯一,无序的对象 (存储快,不方便查找)eg:仓库
Map接口存储一组键值对对象,提供key到value的映射
2,Hashtable 与 HashMap 有什么不同之处?
相同点:都为继承关系,实现了Map接口
Hashtable:继承Dictionary类 线程安全,效率较低 键和值都不允许为null
HashMap: 继承AbstractMap类 非线程安全,效率较高 键和值都允许为null
3,“a==b”和”a.equals(b)”有什么区别?
== 是要求不仅内存地址相同,赋值也要相同
.equals 仅是赋值相同
4,JRE、JDK、JVM 分别是什么?
JRE:JAVA运行环境 JDK:JAVA开发工具 JVM:JAVA虚拟机
5,a = a + b 与 a += b 的区别
+=操作符会进行隐式自动类型转换;a=a+b则不会自动进行类型转换,如果类型不同需进行强制转换(在运算精度上,即数据类型转换上)
6,“a==b”和”a=b”“a===b”有什么区别?
“=”是a赋值b,“==”是a等于b,“===”是a恒等于b
7,java中.equal()与= =有什么不同?
“= =”不仅赋值相同,内存地址也相同 ;“.equal()”仅赋值相同
“hashcode”是通过hash算法得到值,是93651
二、SQL部分
1.创建student表
CREATE TABLE `student` (
`Id` int(10) NOT NULL primary key auto_increment UNIQUE KEY,
`Name` varchar(20) NOT NULL,
`Sex` varchar(4) ,
`Birth` year(4) ,
`Department` varchar(20) NOT NULL,
`Address` varchar(50) ) COMMENT='学生表';
2查询所有姓李的学生个数
SELECT * FROM student WHERE Name LIKE '%李';
- `查询计算机系和数学系的学生信息
SELECT* FROM student WHERE department='计算机系' OR department='数学系';
- 查询年纪大于20的学生信息
SELECT*
FROM student
WHERE NOW()-Birth>20;
- 查询各院系的最高分
SELECT Department AS '院系' ,MAX(score.grade) AS 最高分 FROM student
INNER JOIN score ON score.stu_id=student.Id
GROUP BY Department;