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

2年前 (2022) 程序员胖胖胖虎阿
181 0 0

❤️❤️个人主页:摸鱼王胖嘟嘟
🌟🌟作品专栏:小嘟陪你刷题系列
📑给大家推荐一款非常火的面试、刷题、学习神器
👉牛客网
👉点击注册一起刷题、学习、讨论收获大厂offer吧!
【小嘟陪你刷题02】牛客网——Java专项练习

前言

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

第一题:

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

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

第二题:

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

解析
答案:C
在类方法中不能有this关键字
【小嘟陪你刷题02】牛客网——Java专项练习
直接调用类方法即可,A错误,B正确,在类方法中可以通过创建实例对象调用类的实例方法,C\D错误

第三题:

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

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

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

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

第四题:

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

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

第五题:

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

解析
答案: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了!

第六题:

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

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

第七题:

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

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

第八题:

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

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

版权声明:程序员胖胖胖虎阿 发表于 2022年9月28日 下午2:08。
转载请注明:【小嘟陪你刷题02】牛客网——Java专项练习 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...