【2021.4.28】Java知识点日常总结

题目皆摘自牛客网JAVA专项练习


1.关于异常的编程,以下描述错误的是:( A )

A.在有除法存在的代码处,为了防止分母为零,必须抛出并捕获异常             

B.int i=Integer.parseInt(”123a”);将产生NumberFormatException

C.int a[]=null; a[0]=1; 将产生NullPointerException

D.输入输出流编程中,读和写时都要抛出IOException

异常分为运行时异常,非运行时异常和error,

①、error是系统异常,只能重启系统解决。

②、非运行时异常需要我们自己捕获,

③、运行异常是程序运行时由虚拟机帮助我们补获,运行时异常包括数组的溢出,内存的溢出空指针,分母为0等!

 

2.代码输出结果为: 1

String str = "";
System.out.print(str.split(",").length());

①、String获取长度用的是length()方法,而数组类型我们直接用属性length获取长度,题目中split方法返回的是String数组,我们应该用length获取长度,而不是length();

②、因为原字符串不包含分隔符,所以直接返回原字符串,分割出来只有一个空的字符串数组,所以结果是1.

(注意,虽然原字符串为空,存到字符串数组为空,但是这个空也会算一个元素。)

 

3.以下可以正确获取结果集的有  (A、D)

A.Statement sta=con.createStatement();
<br>ResultSet rst=sta.executeQuery(“select * from book”);
B.Statement sta=con.createStatement(“select * from book”); 
ResultSet rst=sta.executeQuery();      
C.PreparedStatement pst=con.prepareStatement();
ResultSet rst=pst.executeQuery(“select * from book”);
D.PreparedStatement pst=con.prepareStatement(“select * from book”);
ResultSet rst=pst.executeQuery();                                                        

A,D是正确的;创建Statement是不传参的,PreparedStatement需要传入sql语句。

 


附加面试题:

问:

是否可以继承String类?

答:

不能,因为String是final修饰的,final修饰的类不能被继承,修饰方法,不能被重写,修饰变量就变成了常量,不能更改。

那String为什么要设计成final的呢,原因主要有两点:1,线程安全;2,创建后不可改变,那后面需要在用的时候直接从常量池里面取,可以节省资源,提高效率。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mbj626

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值