我是靠谱客的博主 无奈百合,最近开发中收集的这篇文章主要介绍2112Java班笔试题02一 选择题二 简答题三 数据库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

考试范围:JavaSE、数据库

一 选择题

1 下面代码的执行结果是

public class SystemUtil{

    public static boolean isAdmin(String userId){

        return userId.toLowerCase()=="admin";

    }

    public static void main(String[] args){

        System.out.println(isAdmin("Admin"));

    }

}

A true  B false  C 编译错误  D 1

2 下面代码的执行结果是

class Base{

private String baseName = "base";

    public Base(){ callName(); }

    public void callName(){ System.out.println(baseName);}

}

class Sub extends Base {

    private String baseName = "sub";

    public void callName(){ System.out.println (baseName) ;}

public static void main(String[] args){

Base b = new Sub();

}

}

A base  B sub

C null  D 编译错误

new Sub();在创造子类的过程中首先创建父类对象,然后才能创建子类对象。

创建父类即默认调用Base()方法,在方法中调用callName()方法,由于子类中存在此方法,则被调用的callName()方法是子类中的方法,此时子类还未构造,所以变量baseName的值为null

3 在Java中,关于HashMap类的描述,以下正确的是 ACD

A HashMap使用键/值的形式保存数据

B HashMap 能够保证其中元素的顺序

C HashMap允许将null用作键

D HashMap允许将null用作值

Map集合类

key

value

HashMap

允许为null

允许为null

TreeMap

不允许为null

允许为null

ConcurrentMap

不允许为null

不允许为null

HashTable

不允许为null

不允许为null

HashMap 不按插入顺序排序,按照哈希值排序。所以无序。

但是不增删改键的情况下,输出是按照一定顺序不变的

4 下述说法中抽象类与接口的区别与联系正确的有哪些ABCD

A 抽象类中可以有普通成员变量,接口中没有普通成员变量。

B 抽象类和接口中都可以包含静态成员常量。

C 一个类可以实现多个接口,但只能继承一个抽象类

D 抽象类中可以包含非抽象的普通方法,接口中的方法必须是抽象的,不能有非抽象的普通方法。

5 下列类型,被final关键字修饰的是BC

A HashMap   B StringBuffer

C String   D Hashtable

6 下面代码的执行结果是C

class B {

public static B t1 = new B();

public static B t2 = new B();

{System.out.println("构造块");}

static {System.out.println("静态块");}

public static void main(String[] args){

B t = new B();

}

}

A  静态块 静态块 静态块 构造块 构造块 构造块

B  静态块 构造块 构造块 构造块

C  构造块 构造块 静态块 构造块

D  构造块 静态块 构造块 静态块

7 在公司局域网上ping www.qq.com没有涉及到的网络协议是:A

A TCP  B DNS

C ICMP  D ARP

ping 使用的协议为icmp,通过域名解析,需要用到DNS,局域网中使用arp进行主机间的通信。TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接.故选择A

8 下面哪些项是TCP具有的能力ABD

A 有连接

B 数据可靠传输

C 数据按序到达

D 端到端流量控制

TCP发送的数据是有序的,但接受的顺序不一定是有序的,接收端会对其再次排序,从而保证结果的有序性。即TCP是有序提交,不是有序到达。

9 Java语言中,如果"xyz"没有被创建过,String s = new String(“xyz”);创建了几个String对象 B

A1 B2 C3 D4

两个,一个在堆中,一个在常量池中。

10 下面关于数据库唯一索引正确的是( )ABC

A 表可以包含多个唯一约束,但只能有一个主键

B 唯一约束列可以包含null值

C 唯一约束列可修改和更新

D 唯一约束不能用来定义外键

二 简答题

1 简述HashMap的实现原理

1 数据结构是数组加链表,jdk1.8之后又加入了红黑树;

2 当添加一个元素(key-value)时,首先计算元素的key的hash值,以此来确定插入数组中的位置;

3 如果hash值相同,这时就添加到同一个hash值(hashCode)的元素的后面,他们在数组的同一位置,于是形成了链表;

4 当链表长度大于8且元素(k-v)个数超过64时,链表就转换为红黑树,这样就提高了查找的效率;

5 当红黑树中的节点个数小于6时,红黑树又重新转换为链表﹔

2 简述String StringBuffer StringBuilder三者的区别

  1. 修改String对象的值,内存地址会发生改变;
  2. StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的对象,即内存地址不变;
  3. StringBuffer是线程安全的,StringBuilder是线程安全的
  4. StringBuilder的执行速度比StringBuffer快

3 简述Java中权限修饰符有哪些,分别控制什么权限

4 jvm的类加载顺序

static > new > 代码块 > 构造方法

5 简述static关键字的用法

6 简述final关键字的用法

7 简述什么是序列化?什么是反序列化?

8 列举mysql数据库中的索引类型

单列索引 : 普通索引 唯一索引 主键索引

组合索引

全文索引

空间索引

9 mysql8.0数据库的默认引擎是

InnoDB

10 简述sql中having关键字的用法

having关键字配合group by分组使用,用于对分组之后的结果集进行筛选,可以使用聚合函数。

三 数据库

学生表student_info

字段

数据类型

备注

id

int

主键

name

varchar

学生姓名

age

int

年龄

grade

int

成绩

sex

int

性别 1=男 0=女

c_id

int

班级id,外键

班级表class_info

字段

数据类型

备注

id

int

主键

c_name

varchar

班级名称

t_name

varchar

任课老师

1 统计每个班成绩最高的学生信息

select * from(

select * from student_info order by grade desc

) as t group by t.c_id;

2 查询tom老师的班级中年龄最小的女生信息

select * from student where age = (

select min(age) from student_info where c_id = (

select class_id from class_info where t_name = tom

) and sex = 0) and c_id = (

select class_id from class_info where t_name = tom

) and sex = 0;

3 统计每个班级的总人数

4 查询班级id为1的班级中成绩最好的前3个同学信息

select * from student_info where c_id = 1 order by grade desc limit 3;

5 统计男生人数和女生人数

最后

以上就是无奈百合为你收集整理的2112Java班笔试题02一 选择题二 简答题三 数据库的全部内容,希望文章能够帮你解决2112Java班笔试题02一 选择题二 简答题三 数据库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部