0


【每日进步一点点系列】十道精选Java习题

⭐️引言⭐️

    大家好,我是执梗。Java的学习非一朝一夕可以成功,需要我们水滴穿石般的坚持。每日进步一点点系列,旨在可以**每天只花几分钟就能学到Java中我们可能忽略的知识,同时也可以检验自己的Java能力**,**无论你是坐着躺着还是蹲着,花上几分钟时间就可以检验和巩固到自身的Java知识点**,希望能和大家每天都能进步一点点。

查看答案方法:

对下面块引用中的进行长拉(手机端可在文末)即可查看答案:

正确答案:A<-答案请长拉左侧

如图所示:

在文章末尾我也会贴上答案。


🍓1.关于字符流和字节流的说法的是?(多选)

 **   A.每次读入的字节数不同**

** B.前者带有缓冲,后者没有**

** C.前者是字符读入,后者是字节读入**

** D.二者没有区别,可以互换**

正确答案:ABD

字符流和字节流每次读入数据的字节数是无法确定的,有可能相同也有可能不同的。字节流和字符流都是有缓冲流,比如BufferedInoutStream就是一个字节缓冲流。两者的区别其实类似byte[]和String

🍓2.Servlet的生命周期可以分为初始化阶段,运行阶段和销毁阶段三个阶段,以下过程属于初始化阶段是()。

** A.加载Servlet类及.class对应的数据**

** B.创建servletRequest和servletResponse对象**

** C.创建ServletConfig对象**

** D.创建Servlet对象**

正确答案:ACD

Servlet的生命周期一般可以用三个方法来表示:

** 1.init():仅执行一次,负责在装载Servlet时初始化Servlet对象**

** 2.service() :核心方法,一般HttpServlet中会有get,post两种处理方式。在调用doGet和doPost方法时会构造servletRequest和servletResponse请求和响应对象作为参数。**

** 3.destory():在停止并且卸载Servlet时执行,负责释放资源**

** 初始化阶段:Servlet启动,会读取配置文件中的信息,构造指定的Servlet对象,创建ServletConfig对象,将ServletConfig作为参数来调用init()方法。servletRequest和servletResponse对象是调用service()时才构造的 **

🍓3.下面关于静态方法说明正确的是?

** A.在静态方法里可用this来调用本类的类方法**

** B.在静态方法中调用本类的静态方法时可直接调用**

** C.在静态方法中只能调用本类中的静态方法**

** D.在静态方法中不可调用实例方法**

正确答案:B

A.静态方法加载时都还未创建对象,this当然是不可使用的

B.在本类中调用本类的类方法可以直接通过方法名调用

C.在静态方法中也可以调用其他类的静态方法

D.虽然我们无法直接调动实例方法,我们可以实例化出当前类的对象,然后通过对象.方法名调用实例方法

🍓4.关于继承和实现说法正确的是 ()?

** A.类可以实现多个接口,接口可以继承(或扩展)多个接口**

** B.类可以实现多个接口,接口不能继承(或扩展)多个接口**

** C.类和接口都可以实现多个接口**

** D.类和接口都不可以实现多个接口**

正确答案:A

虽然Java一直强调单继承,但其实那只是限定与类。接口是也是可以继承接口的,同样使用extends关键字继承,但是它可以继承多个父类子接口,父接口之间用逗号隔开。

🍓5.下面代码的运行结果正确的是()?

public class Arraytest{
    int a[] = new int[6];
    public static void main ( String arg[] ) {
        System.out.println ( a[0] );
    }
}

** A.null**

** B.0**

** C.编译出错**

** D.运行出错**

正确答案:C

在静态方法中不可以调用非静态的资源,这个数组是一个成员变量但不是静态的,所以在main方法中调用会编译报错,如果在数组前加一个static则编译通过,则会输出默认值0。

🍓6.下面代码输出的结构是?

class A{
    public A(String str){
        
    }
}
public class Test{
    public static void main(String[] args) {
        A classa=new A("he");
        A classb=new A("he");
        System.out.println(classa==classb);
    }
}

** A.false**

** B.true**

** C.报错**

** D.以上选项都不正确**

正确选项:A

==表示的是两个对象是否指向的是同一个内存,这是两个new出来在堆上的对象,当然不可能在同一个地址上。即使使用equals也是false,因为没有重写equals和hashcode方法,默认也是才用==进行比较。

🍓7.下面关于Java的垃圾回收机制,正确的是()

** A.当调用“System.gc()”来强制回收时,系统会立即回收垃圾**

** B.垃圾回收不能确定具体的回收时间**

** C.程序可明确地标识某个局部变量的引用不再被使用**

** D.程序可以显式地立即释放对象占有的内存**

正确答案:B

A.System.gc()只会建议垃圾回收器回收该内存,但只是建议,并不会立马就回收

B.GC回收并没有明确的时间固定

C.局部变量一般都是随着方法的执行结束而被释放

D.GC是完全自动的,不能强制执行它,我们最多使用System.gc()去建议它释放某块内存

🍓8.下面代码输出的结果是?

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

** A.0**

** B.1**

** C.5**

** D.出现异常**

正确答案:B

String的split方法默认的返回值是一个字符串数组。它根据分隔符去分割原字符串,如果没有找到分隔符,则会把整个原字符串放入到返回值字符串数组的第一个位置,则这个返回的字符串数组长度为1。

🍓9.下面代码输出的结果是?

public class Test {
    public static void main(String args[]) {
        int i = -5;
        i =  ++(i++);
        System.out.println(i);
    }
}
    **        A.-7**

** B.-3**

** C.编译错误**

** D.-5**

正确答案:C

对于++()这个操作,空号内必须是一个变量,而不能是一个字面量。什么是字面量呢?就比如3,"ASD"这样一个int类型和String类型的量一眼就能看出来值的就是字面量,而变量就不用多说,int a和String b,那a和b就是变量。为什么++()不能放字面量呢?你见过++3的吗

🍓10.下面关于volatile的功能说法正确的是?

 **   A.原子性**

** B.有序性**

** C.可见性**

** D.持久性**

正确答案:BC

**synchronized保证三大性,原子性,有序性,可见性,volatile保证有序性,可见性,不能保证原子性 **


答案汇总:
1、正确答案:ABD
2、正确答案:ACD
3、正确答案:B
4、正确答案:A
5、正确答案:C
6、正确答案:A
7、正确答案:B
8、正确答案:B
9、正确答案:C
10、正确答案:BC

学习如同逆水行舟,不进则退!

每日进步一点点,水滴石穿!

可以订阅我的每日进步一点点专栏一起加油!!

看完如果让你进步了一点点,球球感谢给一个三连支持!!!

标签: java 蓝桥杯 后端

本文转载自: https://blog.csdn.net/m0_57487901/article/details/122664248
版权归原作者 执 梗 所有, 如有侵权,请联系我们删除。

“【每日进步一点点系列】十道精选Java习题”的评论:

还没有评论