java基础10题

1.类 ABC 定义如下:
1 . public class ABC{
2 . public double max( double a, double b) { }
3 .
4 . }
将以下哪个方法插入行 3 是不合法的。()
A.public float max(float a, float b, float c){ return a }
B.public double max (double c, double d){ return c }
C.public float max(float a, float b){ return a }
D.private int max(int a, int b, int c){return a }
2.try括号里有return语句, finally执行顺序
A.不执行finally代码
B.return前执行
C.return后执行
3.在jdk1.5之后,下列 java 程序输出结果为______。

int i=0;
Integer j = new Integer(0);
System.out.println(i==j);
System.out.println(j.equals(i));

4.ava7特性中,abstract class和interface有什么区别。
A.抽象类可以有构造方法,接口中不能有构造方法
B.抽象类中可以有普通成员变量,接口中没有普通成员变量
C.抽象类中不可以包含静态方法,接口中可以包含静态方法
D.一个类可以实现多个接口,但只能继承一个抽象类。
5.对于线程局部存储TLS(thread local storage),以下表述正确的是
A.解决多线程中的对同一变量的访问冲突的一种技术
B.TLS会为每一个线程维护一个和该线程绑定的变量的副本
C.每一个线程都拥有自己的变量副本,从而也就没有必要对该变量进行同步了
D.Java平台的java.lang.ThreadLocal是TLS技术的一种实现
6.java语言中的数组元素下标总是从0开始,下标可以是非负整数。()
A.正确
B.错误
7.如果一个list初始化为{5,3,1},执行以下代码后,其结果为()?

nums.add(6);
nums.add(0,4);
nums.remove(1);

8.以下描述正确的是
A.CallableStatement是PreparedStatement的父接口
B.PreparedStatement是CallableStatement的父接口
C.CallableStatement是Statement的父接口
D.PreparedStatement是Statement的父接口
9.以下哪些继承自 Collection 接口()
A.List
B.Set
C.Map
D.Array
10.关于身份证号,以下正确的正则表达式为( )
A.isIDCard=/1\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}KaTeX parse error: Undefined control sequence: \d at position 22: …sIDCard=/^[1-9]\̲d̲{7}((9\d)|(1[0-…/;
C.isIDCard=/2\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}KaTeX parse error: Undefined control sequence: \d at position 22: …sIDCard=/^[1-9]\̲d̲{5}[1-9]\d{3}((…/;
(1)B
这题考的是对方法重载(overload)的理解。
重载要求:在同一个类中,有两个或两个以上的方法,
1、方法名一致;
2、形参列表不一致,即:形参个数不一致 或 形参类型不一致 或 不同类型的形参的顺序不一致(其中有一项不一样即可),并且与形参变量名是否相同无关;
3、方法返回值类型可以一样,也可以不一样。
(2) B
首先 ,执行就意味着跳出函数(除非碰到exit函数!!),所以任何语句要执行都要在return之前执行!!但是貌似这个没什么说服力T…T
对于题目中括弧里面的解释:当finally语句中有return时,会覆盖掉函数中其他return语句。此外,,由于一个方法内部定义的变量都存储在栈中,当这个函数结束后,其对应的栈就会被回收,此时方法体中定义的变量就不存在了,因此return 时不是直接返回变量的值,而复制一份,然后返回!!
(3) true,true
解析:
引用类型 Interger j 与数值类型 int I 进行比较时比较的是 value ,而不是地址因此 i==j 返回 true ,而 j.equals(i) 同样比较的是 value ,因此返回的是 true
(4)答案:AD
A,抽象类可以有非抽象方法和普通成员,因此可以有构造方法,接口只能有抽象方法和final类型的成员变量,不能定义构造方法
B,接口中有final类型的成员变量
C,抽象类也可以有静态方法
D,通过接口可以实现类似多继承的机制
5.ABD
C:同一全局变量或者静态变量每个线程访问的是同一变量,多个线程同时访存同一全局变量或者静态变量时会导致冲突,尤其是多个线程同时需要修改这一变量时,通过TLS机制,为每一个使用该全局变量的线程都提供一个变量值的副本,每一个线程均可以独立地改变自己的副本,而不会和其它线程的副本冲突。
(6)A
(7)list{5,3,1}
nums.add(6); //往后边加一个6,{5,3,1,6}
nums.add(0,4);//往下标为0的数加一个4,{4,5,3,1,6}
nums.remove(1); // 移除下标为1 的元素,{4,3,1,6}
(8)B
PreparedStatement 和 CallableStatement都继承了Statement。
CallableStatement 继承了 PreparedStatement。
(9)正确答案: A B
List和Set继承了Collection接口,Map直接继承Object
(10)正确选项
A选项:isIDCard=/3\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}KaTeX parse error: Undefined control sequence: \d at position 23: …sIDCard=/^[1-9]\̲d̲{5}[1-9]\d{3}((…/
:起始符号,x表示以x开头
:结束符号, x :结束符号,x :结束符号,x表示以x结尾
[n-m]:表示从n到m的数字
\d:表示数字,等同于[0-9]
X{m}:表示由m个X字符构成,\d{4}表示4位数字
15位身份证的构成:六位出生地区码+六位出身日期码+三位顺序码
18位身份证的构成:六位出生地区码+八位出生日期码+三位顺序码+一位校验码
C选项的构成:
[1-9]\d{5}:六位出生地区码,出生地区码没有以0开头,因此第一位为[1-9]。
[1-9]\d{3}:八位出生日期码的四位年份,同样年份没有以0开头。
((0\d)|(1[0-2])):八位出生日期码的两位月份,| 表示或者,月份的形式为0\d或者是10、11、12。
(([0|1|2]\d)|3[0-1]):八位出生日期码的两位日期,日期由01至31。
\d{4}:三位顺序码+一位校验码,共四位。
A选项的构成:
[1-9]\d{7}:六位出生地区码+两位出生日期码的年份,这里的年份指后两位,因此没有第一位不能为0的限制,所以合并了。
后面的与C选项类似了。
好吧其实我也是第一次知道身份证还有15位的。


  1. 1-9 ↩︎

  2. 1-9 ↩︎

  3. 1-9 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Nicholas_giao

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

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

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

打赏作者

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

抵扣说明:

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

余额充值