Java基础笔试精选50题

本套题共50个题。
其中:
单选题38个,
多选题12个。

1 单选题

1、下面关于Java中类的说法哪个是不正确的:( C )
A、类体中只能有变量定义和成员方法的定义,不能有其他语句;
B、构造函数时类中的特殊方法;
C、类一定要声明为public,才可以执行;
D、一个Java文件中可以有多个class定义;

2、如果类中的成员变量可以被同一包访问,则使用如下哪个修饰符:(C )
A、private
B、public
C、protected
D、no modifier

3、下列哪个方法可以用来加载JDBC驱动程序? ( D )
1分
A、类java.sql.DriverManager 的getDriver方法
B、类java.sql.DriverManager 的getDrivers方法
C、类java.sql.Driver的connect方法
D、类java.lang.Class的forName方法

4、下面哪项可以得到数组元素的个数,Java中定义数组名为abc, ( B)
A、abc.length()
B、abc.length
C、len(abc)
D、ubound(abc)

5、构造方法何时被调用(B )
A、类定义时
B、创建对象时
C、调用对象方法时
D、使用对象的变量时

6、ServerSocket的accept()方法返回的对象类型是( A )
A、Socket
B、ServerSocket
C、Server
D、URL

7、下列方法中,( B )不是Statement对象的方法。
A、execute()
B、executeDelete()
C、executeUpdate()
D、executeQuery()

8、当类(型)被加载到 JVM后,对于每种数据类型在JavaJVM中会有 (A )Class对象与之对应。
A、1
B、2
C、3
D、4

9、下列哪个方法不属于File的方法?( D )
A、delete()
B、getName()
C、createNewFile()
D、read()

10、下面合法的IP地址是( A )
A、192.168.0.1
B、192.168.-1.255
C、192.168.0.256
D、202.102.56.27.1

11、在JDBC编程中执行完下列SQL语句:SELECT name, rank, serialNo FROM employee,能得到rs的第一列数据的代码是哪一个?( C )
A、rs.getString(0);
B、rs.getString(name);
C、rs.getString(1);
D、rs.getString(“ename”);

12、通过流的read()方法读取数据,如何判断流结尾?(A )
A、返回-1表示流结尾
B、返回null表示流结尾
C、返回0表示流结尾
D、遇到流结尾将抛出异常

13、下面关于InputStream类的说法不正确的是:( D )
A、InputStream是抽象类
B、InputStream是字节流
C、InputStream是输入流
D、InputStream是InputStreamReader的父类

14、如果为下列预编译SQL的第三个问号赋值,那么正确的选项是哪一个?(B)
UPDATE emp SET ename=?,job=?,salary=? WHERE empno=? ;
A、pst.setInt(“3”,2000);
B、pst.setInt(3,2000);
C、pst.setFloat(“empno”,20);
D、pst.setString(“salary”,“2000”);

15、以下有关构造方法的说法,正确的是( A )
A、一个类的可以有多个构造方法
B、构造方法在类定义时被调用
C、构造方法只能由对象中的其它方法调用
D、构造方法可以和类同名,也可以和类名不同

16、有变量声明如下: short b = 120; 下列语句中,错误的是(C )。
A、short s = b;
B、int i = b;
C、byte s1 = b;
D、long l = b;

17、执行如下程序代码
int a=0;
int c=0;
do{
–c;
a=a-1;
}while(a>0);
后c的值是(C )
0分
A、0
B、1
C、-1
D、死循环

18、下列语句序列执行后,k 的值是 ( D )
int x=6, y=10, k=5;
switch( x % y )
{
case 0: k=xy;
case 6: k=x/y;
case 12: k=x-y;
default: k=x
y-x;
}
A、60
B、5
C、0
D、54

19、下列Java代码,运行的结果为( C )
private String name = “猫咪”;
public void Cat() {
System.out.println(“大家好,我是” + name);
}
public static void main(String[] args) {
Cat cat = new Cat();
}
A、发生编译错误,提示构造函数错误
B、程序可正常运行,输出结果:大家好,我是猫咪
C、程序可正常运行,但什么都不输出
D、程序运行时出现异常

20、关于静态的描述错误的有(C )
A、在内存中只有一份,供所有对象公用,起到全局的作用
B、静态成员变量/类变量只初始化一次,就是在类刚刚加载的时候
C、每次在创建对象,静态变量和方法都重新加载并分配新的堆内存
D、它们不能以任何方式引用this 或super

21、下列代码输出的结果是:( D)
String name=“NASDAQ欢迎你”;
String newName=name.substring(4,7);
System.out.println(newName);
A、DAQ
B、SDAQ欢
C、AQ欢迎
D、AQ欢

22、关于下列程序段的输出结果,说法正确的是( D ) 。
public class MyClass{
static int i;
public static void main(String argv[]){
System.out.println(i);
}
}
A、有错误,变量i没有初始化
B、null
C、1
D、0

23、List集合的特点是( C ) 。
A、唯一、有序
B、唯一、无序
C、不唯一、有序 
D、不唯一、无序

24、以下那个是非检查型异常( A )
A、IOException
B、ArithmeticException
C、NullPointerException
D、IndexOutOfBoundsException

25、在JAVA中的布局管理器,以下说法中错误的是 ( C )
A、FlowLayout以由上到下的方式从左到右排列组件
B、BorderLayout使用 "东 ". "西 ". "南 ". "北 ", "居中 "来指定组件的位置
C、GridLayout可以创建网格布局,网格布局中各组的大小可以任意调整
D、可以通过容器的setLayout方法为容器指定布局管理

26、在使用super 和this关键字时,以下描述正确的是(A)
A、在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过
B、super()和this()不一定要放在构造方法内第一行
C、this()和super()可以同时出现在一个构造函数中
D、this()和super()可以在static环境中使用,包括static方法和static语句块

27、以下对封装的描述正确的是(D)
A、只能对一个类中的方法进行封装,不能对属性进行封装
B、如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用
C、封装的意义不大,因此在编码时尽量不要使用
D、封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性

28、以下对重载描述错误的是()
A、方法重载只能发生在一个类的内部
B、构造方法不能重载
C、重载要求方法名相同,参数列表不同
D、方法的返回值类型不是区分方法重载的条件
参考答案 B

29、以下对抽象类的描述正确的是()
A、抽象类没有构造方法
B、抽象类必须提供抽象方法
C、有抽象方法的类一定是抽象类
D、抽象类可以通过new关键字直接实例化
参考答案 C

30、在try-catch-finally语句块中,以下可以单独与finally一起使用的是(B)
A、catch
B、try
C、throws
D、throw

31、以下对自定义异常描述正确的是()
A、自定义异常必须继承Exception
B、自定义异常可以继承自Error
C、自定义异常可以更加明确定位异常出错的位置和给出详细出错信息
D、程序中已经提供了丰富的异常类,使用自定义异常没有意义
参考答案 C

32、下列选项中关于java中super关键字的说法错误的是()
A、super关键字是在子类对象内部指代其父类对象的引用
B、super关键字不仅可以指代子类的直接父类,还可以指代父类的父类
C、子类可以通过super关键字调用父类的方法
D、子类可以通过super关键字调用父类的属性
参考答案 B

33、URL连接中的”news”表示的是()
A、数据库中表的名称
B、数据库服务器的机器名
C、数据源的名称
D、用户名
参考答案 C

34、在Java中,JDBCAPI定义了一组用于与数据库进行通信的接口和类,它们包括在( )包中。
A、java.lang
B、java.sql
C、java.util
D、java.math
参考答案 B

35、要删除book表中书籍(bookName)是”java”的记录,以下代码正确的是()
String sql=”delete from book where bookName=?”;
PreparedStatement pst=con.preparedStatement(sql);
——————————
pst.execute();
A、pst.setString(1,”java”);
B、pst.setString(0,”java”);
C、pst.setInt(0,”java”);
D、以上选项都不正确
参考答案 A

36、获取ResutlSet对象rst的第一行数据,以下正确的是()
A、rst.hashNext();
B、rst.next();
C、rst.first();
D、rst.nextRow();
参考答案 B

37、以下负责建立与数据库连接的是()
A、Statement
B、PreparedStatement
C、ResultSet
D、DriverManager
参考答案 D

38、使用JDBC连接数据库的顺序是()
A) 加载驱动
B) 导入驱动包
C) 发送并处理SQL语句
D) 建立于数据库的连接
E 关闭连接
A、B、A、D、C、E
B、B、A、C、D、E
C、B、D、A、C、E
D、B、D、C、A、E
参考答案 A

2 多选题

39、以下不是Java关键字的有: ( )
A、super
B、this
C、null
D、true
参考答案 CD

40、以下正确的有: ( )
A、int i = 81;
B、float f = 81.49;
C、double d = 8.1;
D、char c = ‘A’;
参考答案 ACD

41、以下对于方法覆盖(overriding)的说法正确的有: ( )
A、方法的覆盖发生在子类型中
B、方法名一定要一样
C、参数一定要一样
D、如有异常,子类型中抛出的异常与父类型中的一致或是其子类型
参考答案 ABCD

42、以下描述正确的有: ( )
A、final class 不能被继承
B、final 变量不能被修改
C、final 成员变量可以在构造方法中赋值
D、final 方法不能被覆盖(overriding)
参考答案 ABCD

43、Java线程之间可以通过以下哪些方法实现通信( )
A、wait()
B、notifyOne()
C、notify()
D、notifyAll()
参考答案 ACD

44、java语言中提供了两种类型的字符串类来处理字符串,他们是( )类
A、String
B、String()
C、StringBuffer
D、StringBuffer()
参考答案 AC

45、JDBC进行数据库编程需要的用到下面中几个步骤( )
A、加载驱动程序
B、创建连接
C、向数据库发送SQL语句并处理结果
D、关闭数据库连接
参考答案 ABCD

46、Java提供哪几种运算符( )
A、​算术运算符
B、位运算符
C、关系运算符
D、逻辑运算符
参考答案 ABCD

47、以下关于final关键字说法错误的是()
A、final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B、final修饰的类肯定不能被继承
C、final修饰的方法不能被重载
D、final修饰的变量不允许被再次赋值
参考答案 AC

48、接口和抽象类描述正确的有()
A、抽象类没有构造函数
B、接口没有构造函数
C、抽象类不允许多继承
D、接口中的方法可以有方法体
参考答案 BC

49、以下关于对象序列化描述正确的是( )
A、使用FileOutputStream可以将对象进行传输
B、使用PrintWriter可以将对象进行传输
C、使用ObjectOutputStream类完成对象存储,使用ObjectInputStream类完成对象读取
D、对象序列化的所属类需要实现Serializable接口
参考答案 CD

50、使用JDBC事务的步骤是()
A、获取Connection对象
B、取消Connection的事务自动提交方式
C、发生异常回滚事务
D、操作完毕提交事务
参考答案 ABCD

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值