2024年3月20日发(作者:)

1+X大数据应用开发(java)考试题及答案

1、下面关于 JUnit 描述正确的是( )。

A、 JUnit 主要用来完成集成测试。

B、 JUnit 是一个 Java 语言的单元测试框架,多数 Java 的开发环境都

已经集成了 JUnit 作为单元测试的工具。

C、 JUnit 测试是程序员测试,程序员知道被测试的软件如何How完成功

能和完成什么 样What的功能,即所谓黑盒测试。

D、 JUnit4 用到了 @Before、 @After 和 @Test 等注解,这些注解都是

JDK 提供的。

答案:B

解析:JUnit 主要用来完成单元测试;黑盒测试不需要写代码,测试人员

只需要提供输入值,看程序是否能够输出期望的值即可;而白盒测试需要写代

码,即通过代码来测代码,因此JUnit属于白盒测试。JUnit 利用了 JDK1.5

的注解特性简化测试的编写,但 JUnit 中的 @Before, @After, @Test 等注解

是 JUnit 软件包提供的,并非 JDK 提供。

2、Java网络编程中,创建Socket对象时,需要提供的参数是( )。

A、 服务器主机名称和端口

B、 服务器端口

C、 服务器地址

D、 服务器IP和文件

答案:A

Socket socket = new Socket("localhost

3、Java提供的处理文件流的类所在的包是( )。

A、

B、

C、

D、

答案:D

File类在包下,与系统输入/输出相关的类通常都在此包下

4、执行“select datediff(‘2020-07-01’,’2020-06-10’);”语句,得

到的结果是( )

A、 21

B、 22

C、 20

D、 19

答案:A

5、"现在有如下程序:Public class LanQiao {Public static void

main(String[] args) {Boolean flag = false;n(flag ?

"hello" : "world") ;}}程序执行输出结果是什么?( )"

A、 true

B、 hello

C、 world

D、 程序出错

答案:C

三目运算符:(表达式1)?(表达式2):(表达式3),当表达式1的结果为真

时,整个运算的结果为表达式2,否则为表达式3。

6、在一个线程中 sleep(1000) 方法,将使得该线程在多少时间后获得对

CPU的控制(假设睡眠过程中不会有其他事件唤醒该线程)( )?

A、 正好 1000 毫秒

B、 1000 毫秒不到

C、 >=1000 毫秒

D、 不一定

答案:C

sleep(1000) 会使线程休眠 1000 毫秒,但休眠结束后线程会处于就绪状

态,并不一定直接运行,因此是 >=1000 毫秒。

7、"运行下面的代码,其结果为( )。Integer i1 = 99;Integer i2 =

99;n("i1 == i2的结果是:" + (i1 == i2));"

A、 i1 == i2的结果是:true

B、 i1 == i2的结果是:false

C、 编译错误

D、 运行错误

答案:A

对于 Integer,在-128~+127范围内的数值直接从缓冲区中获取。

8、以下关于集合的描述,错误的是( )。

A、 ArrayList、HashMap、HashSet 等集合的顶级接口都是Collection。

B、 ArrayList 的底层是数组结构。

C、 可以使用增强 for 或者迭代器 Iterator 遍历 Set 集合。

D、 HashMap 中存储的是键值对集合。

答案:A

单单值集合的顶级接口是 Collection,键值对集合的顶级接口是 Map。

9、以下哪个函数只能处理单行记录?( )

A、 sum 函数

B、 round 函数

C、 avg 函数

D、 count 函数

答案:A

10、以下哪个是检查异常( )?

A、 IndexOutOfBoundsException

B、 NullPointerException

C、 ClassCastException

D、 IOException

答案:D

继承自 RuntimeException 类的都是运行时异常。

11、现有如下代码,描述错误的是( ) Delimiter $ Create procedure

test_pro(in birth1 datetime,in birth2 datetime) Begin Select

datediff(birth1,birth2); End $

A、 设置结束符为 “$”

B、 创建了一个名为 test_pro 的函数

C、 该代码的作用是比较两个日期的大小

D、 参数列表中的 in 可以省略

答案:B

12、以下关于 this 和 super 的描述,哪一个是错误的( )?

A、 this 和 super 都可以调用构造方法

B、 this 可以调用当前类中的属性、方法

C、 super 可以调用父类中的属性、方法

D、 可以在同一个构造方法中,同时使用 this 和 super 来调用其他的构

造方法

答案:D

this 和 super 都可以调用构造方法;this 可以调用当前类中的属性、方

法;super 可以调用父类中的属性、方法 。在构造方法中使用this 或 super

时,二者都必须写在构造方法的第一行。因此在同一个构造方法中,不能同时

使用 this 和 super 来调用其他的构造方法。

13、以下不属于NoSQL数据库的是?

A、 Redis

B、 Mongodb

C、 Cassandra

D、 PostgreSQL

答案:D

14、以下哪个不属于 XML 的主要应用范围( )。

A、 存储少量数据

B、 系统配置

C、 数据交换

D、 即时通讯

答案:D

XML 的主要应用范围是:存储数据、系统配置和数据交换。

15、数据库中删除表MYTABLE的SQL语句是( )。

A、 DELETE * FROM MYTABLE

B、 TRUNCATE TABLE MYTABLE

C、 DROP TABLE MYTABLE

D、 DELETE FROM MYTABLE

答案:C

删除表使用DROP

16、执行如下两个查询,结果为:( )。SELECT ename name, sal

salary FROM employees order by salary SELECT ename name, sal FROM

employees order by sal

A、 两个查询结果完全相同

B、 第二个查询正确,第一个查询错误

C、 第一个查询正确,第二个查询错误

D、 两个查询结果不同

答案:A

排序可以使用字段名也可以使用字段别名

17、在 Java 中,以下代码( )正确地创建了一个 InputStreamReader

对象。

"A、 new InuptStreamReadernew FileInputStream""

B、 new InuptStreamReadernew FileReader""

C、 new InuptStreamReadernew BufferReader""

D、 new InuptStreamReader ""

"

答案:A

通通过查阅 API,可知符合 I/O 流语法规范的是 A 选项。

18、有一张 city 表,其中一个列名叫 name ,以下 SQL 语句不正确的是( )

"A、 select name newname from city

B、 select name AS new-name from city

C、 select name AS "new-name" from city

D、 select name AS newname from city "

答案:B

19、关于 Linux 中 MySQL 数据库的几个主要目录叙述错误的是?( )

A、 /var/lib/mysql/是 MySQL 数据库的数据存放目录

B、 命令存放在 /usr/share /mysql 目录下

C、 /usr/bin 是 MySQL 数据库的命令目录

D、 /etc/rc.d/init.d/ 是MySQL 数据库的脚本文件目录

答案:A

20、以下关于类和对象的说法,哪一个是错误的( )?

A、 类是抽象的,对象是具体的

B、 类可以产生多个对象,多个对象可以抽象出一个类

C、 “人”这个类,可以具体化为学生、工人,因此学生和工人就是对象

D、 类可以通过 new 产生对象

答案:C

工人和学生仍然是一个抽象的概念,因此工人和类仍然是类。

21、同一个事务,多次读取同一个数据,返回的结果有所不同,这种现象叫做

( )

A、 脏读

B、 幻读

C、 不可重复读

D、 反复读

答案:C

22、 以下哪个程序不会造成死循环()。

"A、 whiletrue{}

B、 int i=10

whilei>0{ "hello"

}

C、 for

{}

D、 do{}whilefalse

"

答案:D

do{}while(false);会在执行一次后结束,其他三项都会造成死循环。

23、Java 虚拟机的英文简称是( )

A、 JDK

B、 JRE

C、 JVM

D、 PC

答案:C

JVM 是 Java Virtual Machine(Java 虚拟机)的缩写。

24、现有表users,部分字段如下 序号 字段 备注 1 name 姓名 2 age

年龄 按照用户年龄(age)倒序 将users表中的数据检索出来,下面SQL语句正

确的是( )

A、 SELECT * FROM users ORDER BY age desc

B、 SELECT * FROM users GROUP BY age asc

C、 SELECT * FROM users GROUP BY age desc

D、 SELECT * FROM users ORDER by age asc

答案:A

排序使用order by,倒序使用desc

25、存在employees表和departments表,部分表结构如下Employees 序

号 字段名 备注1 name 姓名2 department_id 部门编号(外键,指向

departments表的department_id,且存在为空的数据)Departments 序号 字段

名 备注1 department_id 部门编号2 department_name 部门名称要查询所有

员工姓名以及所属的部门名称,下面哪个sql可能不能满足条件? ( )。

A、SELECT , ment_name FROM employees e LEFT OUTER

JOIN departments d ON ment_id = ment_id

B、SELECT e. name, ment_name FROM employees e RIGHT OUTER

JOIN departments d USINGdepartment_id

C、 SELECT , ment_name FROM employees e,departments

d WHERE ment_id = ment_id+

D、SELECT , ment_name FROM employees e FULL OUTER

JOIN departments d USINGdepartment_id

答案:B

右外连接又称右连接,指在两个表之间的连接,返回内连接的结果,同时

还返回右表中未匹配的行,左表中相应字段置空。可能导致左表查询数据不全

26、以下哪个用于完成左连接( )。

A、 join

B、 natural join

C、 left join

D、 right join

答案:C

27、不属于非关系型数据库的是

A、 Redis

B、 Oracle

C、 MongoDB

D、 Membase

答案:B

28、以下sql语句的作用是(ename:雇员姓名,sal:工资) ( )。

SELECT ename,sal FROM employees WHERE sal>(SELECT min(sal) FROM

employees)

A、 显示工资最低的雇员信息

B、 显示工资最高的雇员信息

C、 显示不超过最低工资的雇员信息

D、 显示超过最低工资的雇员信息

答案:D

SELECT min(sal) FROM employees查询最低工资

29、以下关于数组内存空间的描述,哪一个是错误的( )?

A、 数组名保存在栈空间,数组元素保存在堆空间。

B、 在定义数组时,如果不给数组的元素赋初值,那么数组的元素会使用

相应数据类型的默认值。

C、 由基本数据类型构成的数组和由引用类型构成的数组,其内存结构是

一致的。都是由栈中保存的数组名,直接指向了堆中的数据。

D、 数组名实际代表的是数组元素在堆内存中的地址,不是数组元素本身。

答案:C

引用数据类型的名称实际代表的是存放数据的地址,不是数据本身,基本

数据类型反之。因此,引用类型的数组,其数组元素依旧是地址;而基本类型

的数组,其数组元素是数据本身。

30、下面程序中hello方法的运行返回的结果是什么? ( ) Public

class LanQiao { public int hello(){ try{ int a = 1/0; return

1; }catch(Exception e){ return 2; }finally{ return 3; } } }

A、 1

B、 2

C、 3

D、 程序报错

答案:C

考察try…catch…finally语句中的返回值锁定问题

31、下列关于抽象类和接口描述正确的是( )。

A、 抽象类可以直接被实例化,但接口不行

B、 抽象类里必须含有抽象方法

C、 抽象类可以继承多个类,实现多继承

D、 不能用final修饰抽象类

答案:D

抽象类里既可以含有抽象方法,也可以含有普通方法,但是不能只包含普

通方法。Java 只支持单继承。抽象类需要通过子类来实例化,而 final 修饰

的类不能含有子类,因此抽象类不能被 final 修饰。

32、我们需要在 city 表中查询出 countrycode为‘ZWE’ 和 ‘ZMB’

的城市信息,以下哪条 SQL 语句不能实现?( )

A、 select * from city where countrycode = 'ZWE' xor countrycode

= 'ZMB'

B、 select * from city where countrycode in 'ZWE', 'ZMB'

C、 select * from city where countrycode = 'ZWE' and countrycode

= 'ZMB'

D、 select * from city where countrycode = 'ZWE' or countrycode =

'ZMB'

答案:C

33、下列选项中,( )是合法的 Java 变量名。

A、 name

B、 1name

C、 _name

D、 -name

答案:C

A 中(、B 中的1、和 D中的-都是非法的变量名。

34、以下使用数组 nums 的代码,哪一个会在运行时报错( )?

A、 ]

B、 nums0]

C、 /2]

D、 -1]

答案:A

nums 数组的第一个元素是 nums[0],最后一个元素是 nums[-

1]。如果数组不在0和 -1之间的区间,就会报

ArrayIndexOutOfBoundsException 异常。

35、现在有如下程序:public class LanQiao {public static void

main(String[] args) {byte a = 11;byte b = a +

11;n(b) ;}}请问程序执行的输出结果是什么( )

A、11

B、22

C、1111

D、编译错误

答案:D

byte 和字面整型值11相加时,会自动转为 int 类型。int 赋值给 byte

时必须进行强制类型转换。

36、以下哪条数据不能对 student 表或者 student 表中的数据进行删

除?( )

A、 select * from student

B、 drop table student

C、 delete from student

D、 truncate table student

答案:A

37、 JUnit 主要用来完成什么( )。

A、 发送 HTTP 请求。

B、 建立 TCP 连接。

C、 集成测试。

D、 单元测试。

答案:D

JUnit 是一个针对 Java 语言的单元测试框架,也是 Java 测试框架中最

普遍应用的一个。

38、下列对于内部类的描述,正确的是( )。

A、 内部类根据形式的不同,可以分为匿名内部类、成员内部类、局部内

部类和静态内部类等。

B、 所有形式的内部类,都可以使用“外部类对象.new 内部类”的方式生

成内部类对象。

C、 静态内部类既可以访问外部类的非静态成员,也可以访问外部类的静

态成员。

D、 在用局部内部类访问外部方法中的变量时,必须给这个变量写上

final修饰符,这是不能省略的。

答案:A

匿名内部类没有类名,因此无法通过“外部类对象 .new 内部类()”的方

式生成独享。静态内部类只能访问外部类的静态成员。

39、下列关于线程的描述,哪一个是正确的( )。

A、 一旦一个线程被创建,它就立即开始运行。

B、 一旦一个线程被创建并且调用了 start 方法后,它就立即开始运行。

C、 当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。

D、 使用 start 方法可以使一个线程成为可运行的,但是它不一定立即开

始运行。

答案:D

线程被创建后并不会立刻执行,会在调用 start() 方法后处于就绪状态。

当一个线程因为抢先机制而停止运行,它被放在可运行队列的最后,即遵循

FIFO 的顺序。

40、以下哪个不是面向对象具有的特性( )?

A、 继承

B、 封装

C、 多态

D、 静态

答案:D

继承、封装、多态是面向对象的三大特性。

41、执行 “select ceil(10.9);” 语句,得到的结果是( )。

A、 10

B、 11

C、 10.0

D、 11.0

答案:B

42、关于 this 的描述,哪一个是错误的( )?

A、 this 可以用于区分成员变量和局部变量。

B、 this 可以用于调用其他构造方法。

C、 在同一个构造方法中,可以使用两次 this 调用其他两个构造方法。

D、 在使用 this 调用其他构造方法时,要避免多个构造方法之间的无限

循环现象。

答案:C

在使用 this 调用其他构造方法时,要避免多个构造方法之间的无限循环

现象。

43、Statement 接口中的 executeQuery(String sql) 方法返回的数据类

型是 ( )。

A、 Statement接口实例

B、 Connection接口实例

C、 DatabaseMetaData类的对象

D、 ResultSet接口对象

答案:D

44、执行 “select datediff(‘2020-07-01’,’2020-07-10’);” 语句,

得到的结果是( )

A、 10

B、 -10

C、 9

D、 -9

答案:D

45、以下哪一项不是 DBMS 对数据库的保护?( )

A、 数据库的复制

B、 数据库的并发控制

C、 数据库的完整性控制

D、 数据库的安全性控制

答案:A

46、以下关于继承的描述,哪一个是错误的( )?

A、 继承可以提高代码的复用性

B、 子类可以继承父类的方法或属性

C、 继承和封装、多态一起统称面向对象的三大特性

D、 子类可重写父类的任何方法

答案:D

因访问修饰符限制而对子类不可见的方法、构造方法等都是无法被子类继

承的。

47、以下哪条 SQL 语句不能创建存储过程( )。

A、 create procedure demo

B、 create procedure demoname varchar

C、 create procedure demoin name varchar

D、 create procedure demoout varchar name

答案:D

48、有 city 表和 countrylanguage 表,有一个相同字段 countrycode,以

下 SQL语句错误的是( )

A、 select * from city natural join countrylanguage

B、 select * from city join countrylanguage usingcountrycode

C、 select * from city join countrylanguage

D、 select * from city join countrylanguage oncountrycode

答案:D

49、Java I/O 程序设计中,下列描述正确的是()

A、 OutputStream 用于写操作。

B、 InputStream 用于写操作。

C、“BufferedOutputStream bos = new BufferedOutputStreamnew

”在这句代码的底层,主要使用的是设计模式中的单例模式。

D、 Reader 和 Writer 用于二进制的读和写。

答案:A

InputStream 是输入流,用于读操作。“BufferedOutputStream bos =

new BufferedOutputStream(new FileOutputStream(...)) ;”在这句代码的底

层,主要使用的是设计模式中的适配器模式。Reader 和 Writer 用于对文本文

件的读和写。

50、下列说法正确的是( )。

A、 SQL 语言对大小写敏感,所以 SELECT 和 select 是两个意思

B、 除法运算,使用 “/” 和 DIV 结果是一样的

C、 select 语句后面必须有 from 语句

D、 select 语句后面可以用 “*” 代替所有列名

答案:D

51、已有类 t,则获取 Student 的 Class 类型实例

的方法错误是( )。

"A、 e"t"

B、

C、

D、 new ss "

答案:C

TYPE 是包装类特有的输入(如 ),一般的类是没有 TYPE

属性的。

52、以下关于数组和方法的描述,哪一个是错误的( )?

A、 整型数组本身是引用类型,但数组元素是基本数据类型。

B、 “int]] a = new int10]]

”没有定义第二维的长度,因此会在编译时报错。

C、 在定义方法时,存在一种类型的方法是没有返回值的。

D、 方法可以使功能模块化,使程序更加简洁易懂。

答案:B

创建二维数组的时候,可以同时设置第一维长度和第二维长度,也可以只

设置第一维长度,但不可以只设置第二维长度。

53、Java 字节码文件的后缀为( )

A、 .docx

B、 .java

C、 .class

D、 以上答案都不对

答案:C

Java 源程序的后缀是 .java;编译后的字节码后缀是 .class。

54、现在有如下程序:Public class LanQiao {Public static void

main(String[] args) {Int i1 = 222;Int i2 = 333;【】d1 = (i1+i2)*2.9;}}

下面哪个那个选项填写在【】处可保证程序正确?( )

A、 int

B、 double

C、 float

D、 public

答案:B

(i1+i2)*2.9;右侧有 double 类型的小数2.9,而数字类型遇到 double

时都会转为 double。也就是“容量小的会自动转为容量大的类型”。

55、在Java中,下列关于this和super关键字的说法,不正确的是( )。

A、 在一个类中,this关键字代表这个类对象本身

B、 如果try块中没有异常抛出,finally块中的语句将不会被执行

C、 合理的异常处理可以使整个项目更加稳定