• 【小嘟陪你刷题02】牛客网——Java专项练习


    ❤️❤️个人主页:摸鱼王胖嘟嘟
    🌟🌟作品专栏:小嘟陪你刷题系列
    📑给大家推荐一款非常火的面试、刷题、学习神器
    👉牛客网
    👉点击注册一起刷题、学习、讨论收获大厂offer吧!
    在这里插入图片描述

    前言

    本篇是对JavaSE基础知识的一些练习!希望能够很快的掌握JavaSE的知识!

    第一题:

    在这里插入图片描述
    在这里插入图片描述

    解析:C
    不存在x[25] 索引从0开始到length-1
    x[24] 存的是默认值0(java中没有’\0’这一说)
    x[25]属于数组越界了!超出了内存!
    x[0]才是访问此数组的第一个元素

    第二题:

    在这里插入图片描述

    解析
    答案:B
    在类方法中不能有this关键字
    在这里插入图片描述
    直接调用类方法即可,A错误,B正确,在类方法中可以通过创建实例对象调用类的实例方法,C\D错误

    第三题:

    在这里插入图片描述

    在这里插入图片描述

    解析
    答案:A
    Java程序初始化顺序:

    1. 父类的静态代码块
    2. 子类的静态代码块
    3. 父类的普通代码块
    4. 父类的构造方法
    5. 子类的普通代码块
    6. 子类的构造方法

    第四题:

    在这里插入图片描述

    解析
    答案:C
    子类调用父类的构造器使用super(),放在子类构造函数的首行

    第五题:

    在这里插入图片描述

    解析
    答案:B
    🍁1.for循环外面count=0,循环里面的count=count++;(count的值都等于count值,而后面count自加不影响count结果,因此这个式子无意义);循环count都为0(因count++是先返回count的本身值再自加1的)!
    🍁2.若是改为count=++count;(先自加,再返回自加后的值),结果就是5050101=510050了!
    🍁3.改为count++;结果就是5050
    101=510050了!

    第六题:

    在这里插入图片描述

    解析
    答案:AC
    🍁被final关键字修饰的类不能被继承,但抽象类存在的意义在于被其它类继承然后实现其内部方法的,这样final和抽象类之间就产生了矛盾。因此,final并不能修饰抽象类,选项A错误,选项B正确。
    🍁C选项,重载的实现是编译器根据函数的不同的参数表,对同名函数的名称做修饰,那么对于编译器而言,这些同名函数就成了不同的函数。但重写则是子类方法对父类的方法的延申,即子类不仅继承了父类的方法,还向父类的方法中添加了属于自己的内容,改变了父类方法原本的内容,而final代表了一种不可变,这明显与重写形成了冲突。因此被final修饰的类可以被重载但不能被重写,选项C错误。
    🍁当final用来修饰变量时,代表该变量不可被改变,一旦获得了初始值,该final变量就不能被重新赋值,选项D正确。故答案为AC。

    第七题:

    在这里插入图片描述

    解析
    答案:A
    \d 说明是digit数字
    \w说明是word单词
    \D匹配的是非数字。

    第八题:

    在这里插入图片描述

    解析
    答案:D
    🍁本题需要注意一点:a、b、c三个变量是定义在方法中的局部变量,使用前必须初始化,否则就会出现错误。
    🍁当我们新建一个对象时,Java会在Heap中申请一块内存区域用以存放类的数据。而成员变量就是类的数据,也是放在这块内存区域中的。初始化时只需要JVM在申请内存的时候顺便把整块区域都置为零即可完成。所以JVM会自动帮我们完成全局变量的初始化。
    🍁对于方法的局部变量,是在线程的Stack中,虽然Stack可以帮我们完成初始化,但这样是存在问题的,比如有些局部变量,在方法的一开始是没有的,有些在循环中的局部变量是要反复的声明多次的。有些局部变量作用域结束后,另一个局部变量又会占用这个局部变量的位置。
    🍁局部变量不自动初始化是一种约束,它会尽最大程度减少使用者犯错的可能。假使局部变量可以使用默认值,可能总会无意间忘记赋值,进而导致不可预期的情况出现。

  • 相关阅读:
    从一条更新SQL的执行过程窥探InnoDB之REDOLOG
    ElasticSearch Client问题整理2
    关于:在 Windows 10/11 中共享文件和打印机
    利用京东云Web应用防火墙实现Web入侵防护
    .NET使用P/Invoke来实现注册表的增、删、改、查功能
    windows下C++管道通信
    低代码技术与仓储管理的新纪元:革命性的供应链变革
    tensorflow2.x --------------------DenseNet-----------------------------
    [开源]一款面向普通人的AI桌面APP工具箱简单方便使用
    (三)库存超卖案例实战——使用redis分布式锁解决“超卖”问题
  • 原文地址:https://blog.csdn.net/weixin_61341342/article/details/126508864