编程语言
首页 > 编程语言> > 大数据应用开发(Java)中级——理论题库19

大数据应用开发(Java)中级——理论题库19

作者:互联网

1、student 是表名,name 是 student 表中的字段,以下 SQL 语句中,不正确的是哪个?( C)

A.select name from student;

B.select c.name from student c;

C.select student.name from student c;

D.select name from student c;

解析:使用表别名后,查询字段不能使用"原表名.列名"形式。

 

2、以下泛型的使用错误的是哪个?( D)

List<String> a = new ArrayList<String>();

List<String> b = new ArrayList<>();

ArrayList<String> d = new ArrayList<String>();

List<> c = new ArrayList<String>();

解析:“泛型,用来灵活地将数据类型应用到不同的类、方法、接口当中。将数据类型作为参数进行传递。”

泛型的使用形式:https://blog.csdn.net/Marblue_/article/details/107638417

 

7、下面关于 JUnit4/JUnit5 注解的描述,错误的是(D )。   

JUnit4 中的 @BeforeClass 标记的方法在所有的测试方法执行之前执行且只执行一次。

JUnit5 中的 @BeforeAll 标记的方法在所有的测试方法执行之前执行且只执行一次。

JUnit4 中的 @Before 标记的方法在每个测试方法执行之前都执行一次。

JUnit5 中的 @BeforeAll 标记的方法在每个测试方法执行之前都执行一次。

解析:JUnit5 中的 @BeforeEach 在测试类中,每个测试方法之前各执行一次。

JUnit5 @BeforeAll 注解替换了 JUnit4 中的@BeforeClass注解。 它用于表示应在当前测试类中的所有测试之前执行注解方法。

 

8、下面关于 JUnit5 的描述错误的是(B )

JUnit5 是由 JUnit Platform、 JUnit Jupiter 和 JUnit Vintage 三个模块组成的。

JUnit5 中的 JUnit Platform 不仅支持 JUnit5,还兼容其他测试引擎,但不支持旧版本的 JUnit。

JUnit5 中的 JUnit Jupiter 提供了新的编程模型,是 JUnit5 新特性的核心。

JUnit Vintage 可以让 JUnit5 兼容旧版本的 JUnit。

解析:Junit Platform 不仅支持 JUnit5,还兼容其他测试引擎以及旧版本的 JUnit(Junit3、JUnit4等)。

 

9、下列关于注解的说法错误的是(B )。

A.Java提供了四大元注解(比如@Target),所谓元注解指的是注解的注解。

B.注解本质上就是另一种形式的注释,对程序的功能并无作用。

C.通过 @interface,可以自定义注解。

D.如果一个方法被 @Deprecated 注解修饰,表明该方法已过时,但仍可以使用。

解析:注解和注释是两种完全不同的语法,注解可以为程序增加额外的功能,或为程序添加元数据。

 

10、以下关于函数式接口说法正确的是(A)。

a.函数式接口是指有且只有一个抽象方法的接口;

B.函数式接口必须使用 @FunctionalInterface 进行标注;

C.函数式接口只存在于 “java.util.function” 包中;

D.消费型接口 Consumer、供给型接口 Supplier、函数型接口 Function 和断言型接口 Assert 共称为四大函数式接口。

解析:B、函数式接口可以使用 @FunctionalInterface 进行标注,但不是必须的。

C、除了 “java.util.function” 包中的函数式接口以外,还存在其他的函数式接口。例如 Runnable就是一个函数式接口,但并不存在于“java.util.function”包中。

D、四大函数式接口中的断言型接口是 Predicate,而不是 Assert。

 

11、TCP 协议在每次建立连接时,双方要经过几次握手( )?

一次

四次

三次

两次

解析:TCP/IP在建立连接时需要三次握手:

第一次握手:建立连接时,源端发送同步序列编号(Synchronize Sequence Numbers,SYN)包(SYN = j)到目的端,等待目的端确认。

第二次握手:目的端收到SYN包,确认源端的SYN(ACK = j+1),同时自己也发送一个SYN包(SYN = k),即SYN + ACK包。

第三次握手:源端收到目的端的SYN + ACK包,向目的端发送确认包ACK(ACK = k+1)。此包发送完毕,源端和目的端完成三次握手,源端可以向目的端发送数据。

 

12下面关于 Java 线程描述正确的是( B)。

A、线程启动的方法是 run()。

b线程启动的方法是 start()。

C、java.lang.Thread 类和 java.lang.Runnable 接口都可以用于定义线程对象,因此二者可以各自独立使用。

D、Java 中定义的线程类是 java.lang.Runnable。

解析:线程启动的方法是 start()。

Thread 类和 Runnable 接口都可以用于定义线程对象,但使用 Runnable 接口定义完线程对象后,必须转为 Thread 对象后才能使用。因为 Runnable 接口中仅仅提供了 run() 一个方法,无法启动或合理的操作线程。

 

13下列那些状况可以终止当前线程的运行(B )。

当该线程调用sleep()方法时。

抛出一个异常时

当创建一个新线程时。

当一个优先级高的线程进入就绪状态时。

解析:线程通常在三种情况下会终止:①线程中的 run() 方法执行完毕后线程终止;②线程抛出了异常且未被捕获;③调用当前线程的 stop() 方法终止线程(该方法已被废弃)

 

14以下 List 和 Set 的描述,最正确的是(C )。

List 集合中的元素是无法通过下标索引来访问的、不可重复的。

List 集合中的元素是可以通过下标索引来访问的、不可重复的。

Set 集合中的元素是无法通过下标索引来访问的、不可重复的。

Set 集合中的元素是可以通过下标索引来访问的、不可重复的。

解析:List 集合中的元素是可以通过下标索引来访问的、可重复的;Set 集合中的元素是无法通过下标索引来访问的、不可重复的。

 

15以下哪个是 ArrayList 中 add() 方法的返回值类型(C)。

int

void

boolean

泛型

ArrayList中add()方法的定义如下。

public boolean add(E e) {

ensureCapacityInternal(size + 1);

elementData[size++] = e;

return true;

}

 

16下面的说法不正确的是( D)。

InputStream 与OutputStream 类通常用来处理字节流,也就是二进制文件。

Reader 与 Writer 类则是用来处理字符流,也就是纯文本文件。

Java 中 IO 流的处理通常分为输入和输出两个部分。

File 类是输入/输出流类的子类。

解析:a、InputStream 与 OutputStream 是字节流,可以用于处理二进制等任何类型的文件;

B、Reader 与 Writer 是字符流,用于处理文本文件;

C、IO 流根据流向,可以分为输入流和输出流。

D、File 类是文件操作类,不是输入流或输出流。

 

17已有类 org.lanqiao.Student,则获取 Student 的 Class 类型实例的方法错误是( C)

Class.forName("org.lanqiao.Student")

Student.class

Student.TYPE

new Student().getClass()

解析:TYPE 是包装类特有的输入(如 Integer.TYPE),一般的类是没有 TYPE 属性的。

 

18 以下关于排序算法的描述,哪一个是错误的( B)?

A、冒泡排序的核心就是依次比较相邻的两个数,升序排序时将小数放在前面,大数放在后面。

B、快速排序在每一趟比较时,都能选出一个最小值(或最大值)。

C、快速排序通过每一趟排序,将要排序的数组分割成两个独立的部分。其中,一部分的所有数据比另一部分的所有数据都要小。

D、插入排序算法将待排序的数据分为两个部分,第一部分中的数据是已经排好序的,第二部分中的数据是无序的。

解析:快速排序通过每一趟排序,将要排序的数组分割成两个独立的部分。其中,一部分的所有数据比另一部分的所有数据都要小。

 

19下列(B )异常表示向方法传递了一个不合法或不正确的参数。

IllegalAccessException

IllegalArgumentException

ClassCastException

InputMismatchException

解析:IllegalAccessException 是访问权限不足构成的异常;ClassCastException 是类型转换异常;

InputMismatchException 通常是使用 Scanner 输入数据时发生的异常。  

 

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

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

ArrayList 的底层是数组结构。

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

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

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

 

21以下关于 JDBC 相关描述错误的是( A)。

A、JDBC API 包含了 Connection 连接接口、Statement 操作接口、ResultSet结果集接口、PreparedStatement 预处理操作接口和 FileInputStream 类等;

B、与 Statement 相比较,PreparedStatement 可以防止SQL注入,并能提高了代码的可读性和可维护性,因此一般在开发时推荐使用 PreparedStatement;

C、使用 CallableStatement 提供的 prepareCall() 方法调用存储过程(无返回值)时,其参数的格式是“{ call 存储过程名(参数列表) }”;调用存储函数(有返回值)时,其参数的格式是“{ ? = call存储过程名(参数列表) }”;

D、JDBC 可以使用 PreparedStatement 和 IO 流相关接口和类,在数据库中读写CLOB或BLOB类型的数据。

FileInputStream 类存在于 java.io 包中,不是 JDBC API 中提供的。

 

22、JDBC API 定义了一组用于与数据库进行通信的接口和类存在于 JDK 中的 java.sql包中。

25、UNIQUE语句用于定义唯一约束

26、MySQL 自定义函数中,declare是声明变量的关键字

27.触发器中的事件可以分为三类:

insert 事件、update 事件、delete 事件

 

28、以下关于等值连接说法正确的是(A)

A、进行等值连接时,参与连接的表的字段名可以不一样

B、进行等值连接时,参与连接的表的字段名必须一样

C、等值连接只能在两张不同的表上进行操作

D、等值连接的结果会去掉重复列

 

 

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

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

floor和ceil函数:https://wenku.baidu.com/view/11a4d238580216fc700afd2d.html

 

35、关于组函数,下列说法正确的是?(D)

组函数会自动去掉重复值

使用 where 子句对分组统计结果过滤

使用组函数时,select 子句后的字段可以为表中的任意字段

默认情况下,组函数忽略值为 null 的记录

 

37、如果一条 SQL 语句中同时出现了 where 子句、 order by 子句、 group by子句、 having 子句,那么正确的执行顺序是?()

D、where,group by,having,order by

 

38以下描述正确的是(A)

SQL 语句中进行 group by 分组时,可以不写 where 子句

SQL 语句中使用 group by 时,可以用 * 代表所有列

SQL 语句中 where 子句和 having 子句可以互换

SQL 语句中 where 子句与 having 子句不能同时出现

 

42、以下关于 ArrayList 的描述,正确的有哪些?( AB)

clear()方法是用来清空集合元素的

contains(Object)方法是用来判断是否含有某个元素的

length()方法是用来获取集合元素个数的

set(index)方法是用来获取某个位置处的元素的

解析:c、 size()方法是用来获取集合元素个数的。

D get(index)方法是用来获取某个位置处的元素的。

 

43、以下关于包的描述,错误的有哪些?(BD )  

打包的关键字是package

导入包的关键字是imports

包可以解决类的重名问题

import必须写在程序的第一行

b 导入包的关键字是import。d package必须写在程序的第一行。

 

44、下列关于接口的描述,错误的有哪些( )?

A、接口中的属性都是常量

B、接口中可以有普通方法

C.接口不能继承多个父接口

D.接口可以实例化

A正确。B接口中的方法必须是抽象方法。C接口可以继承多个父接口。D接口不能直接实例化。

 

47.以下哪些方法是属于 String API?

public char charAt(int arg)

public boolean equalsIgnoreCase(String arg)

public boolean startsWith(String arg0)

public void toLowerCase();

ABC均属于。D中返回值应该为String。

 

48.以下方法的声明定义,错误的有哪些?(ABD  )

public doEat(String food){…}

public void doDrink(water String){…}

public void doPlay(String game){…}

public bool doHappy(){…}

A方法没有返回值,B方法参数和参数类型顺序反了,C方法正确,D方法返回值应该为boolean。

 

 

49.以下哪些程序是死循环?( ACD)

A.int i=10;while(i>0){System.out.print("hello");}

B.do{}while(false);

C.while(true){}

D.for(;;){}

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

标签:Java,19,子句,接口,线程,注解,题库,JUnit5,方法
来源: https://www.cnblogs.com/stary-pointer/p/16244101.html