第一次月考

  1. 以下哪个方法可以通过StringBuffer对象追加字符串?
    A.add()
    B.insert()
    C.append()
    D.into()
    选C
  2. 下面描述方法重写错误的是?
    A.要有子类继承或实现
    B.子类方法的权限必须大于等于父类的权限
    C.父类中被private权限修饰符的方法可以被子类重写
    D.子类重写接口中的抽象方法,子类的方法权限必须是public的
    选C,虽然子类可以写并更改这个方法,但是注解@Override时会发现报错,说明并不是代表子类重写了父类的这个方法,而是子类自己有了这个方法.
  3. 对于HashMap集合说法正确的是?
    A.底层是数组结构
    B.底层是链表结构
    C.可以存储null值和null键
    D.不可以存储null值和null键
  4. 下列代码的运行结果是?
    HashMap map = new HashMap();
    map.put(“name”,null);
    map.put(“name”,”xiyangyang”);
    System.out.println(map.get(“name”));
    A.null
    B.nullxiyangyang
    C.xiyangyang
    D.运行时出现异常
  5. Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类 描述正确的是?
    A.ArrayList和LinkedList均实现了List接口
    B.ArrayList的查询速度比LinkedList快
    C.添加和删除元素时,ArrayList的表现更佳
    D.HashMap实现Map接口,它允许任何引用类型的键和值对象,并允许将null用作键或值
    3,4,5的总结:
    Collection 是对象集合, Collection 有两个子接口 List 和 Set,List 可以通过下标 (1,2…) 来取得值,值可以重复,而 Set 只能通过游标来取值,并且值是不能重复的
    ArrayList , Vector , LinkedList 是 List 的实现类,ArrayList 是线程不安全的,Vector 是线程安全的,这两个类底层都是由数组实现的,LinkedList 是线程不安全的,底层是由链表实现的.
    Map 是键值对集合
    HashTable 和 HashMap 是 Map 的实现类
    HashTable 是线程安全的,不能存储 null 值
    HashMap 不是线程安全的,可以存储 null 值
  6. 语句System.out.println(“abcd”.lastIndexOf(“bc”,1)); 的输出结果为?
    A.1
    B.-1
    C.0
    D.2
    选A,String的该方法是用来返回指定字符串在此字符串中最后一次出现处的索引,后面有数字代表从指定索引处开始反向搜索.同理String的indexOf方法带双参数是是从指定索引处找第一次出现处的索引.
  7. 下列说法正确的是?
    A.JAVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来
    B.JAVA程序的main方法必须写在类里面
    C.一个JAVA文件可以有多个main方法
    D.JAVA程序中类名必须与文件名一样
    选B
    对于Java本身的能力,应该选C因为B的main()方法是可以写在接口中的,C中一个Java文件中可以有多个类,每个类都可以有一个main()方法(但只能有一个运行,且公共类中有的时候必定运行公共类中 的),但是对于我们自己定义的语法中应该选B,C我们规定一个java文件中只能写一个类.
    这好比标识符,java本身可以用很多字符,比如中文也可以,但是我们规定标识符只能用_,$,数字,英文字母,所以当出现中文标识符时我们认为是错的.
    总结就是它能,但是我们不可以.
  8. 关于接口和抽象类,下列说法正确的是?
    A.一个类最多可以继承一个抽象类,但是可以实现多个接口
    B.抽象类和接口都不能创建对象
    C.抽象类可以有构造方法,接口没有构造方法
    D.抽象类可以有非抽象方法,接口中都是抽象方法
    【正确答案】A,B,C,D
    对于D,jdk1.8以后是可以写default修饰的方法的,而且接口中是可以写静态方法的,但是和7一样,我们的语法规定了不可以这样写,所以是错的.
  9. 下列方法重载说法正确的是?
    A.方法的重载要求两个同名方法必须在同一个类中
    B.方法的重载与方法的参数名无关,而与参数的个数&类型&顺序有关
    C.如果方法的参数个数相同,需要逐一确认对应位置上参数的类型
    D.如果同类中同名方法的参数个数不同,一定构成重载
    选ABCD
    A虽然子类继承了父类时继承到的方法能进行一系列和重载一毛一样的操作,但是只要它不重写我们就不认为它完成了重载(语法规定重载必须是同一个类中的方法).
    总结789,都是语法定义的规定小于java本身的能力
  10. 以下哪个方法可以通过StringBuffer对象追加字符串?
    A.insert()
    B.into()
    C.add()
    D.append()
    【正确答案】D
    【答案解析】可以通过append()追加字符串,并且拼接的效率要高于Stirng的+拼接
  11. 分支结构switch(expr),若jdk为jdk1.8,那么expr可以是以下哪种类型?
    A.byte
    B.String
    C.int
    D.Integer
    【正确答案】A,B,C,D
    【答题时间】2021-09-27 08:08:18
    【答案解析】选择结构switch小括号中expr的类型可以是:byte short char int String enum(枚举类型)Integer类型也可以的原因是包装类型可以自动拆箱成基本类型
  12. 关于String类的indexOf说法不正确的是?
    A.返回指定子字符串在此字符串最后一次出现的索引
    B.返回指定字符在字符串中最后一次出现的索引
    C.返回指定子字符串在字符串第一次出现的索引
    D.返回指定字符在字符串中第一次出现的索引
    【正确答案】A,B
    indexOf不仅有以字符串找的形式,还有以字符找的形式.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值