2023-3-25 java选择题每日一练

简介: 2023-3-25 java选择题每日一练


  1. 继承中类, 静态代码块, 实例代码块和构造方法的执行顺序

其原理如下:

顺序:静态代码块 → main → 构造代码块 → 构造方法

public class Test {
    static{
        System.out.println("父类静态代码块开始执行!");
    }
    {
        System.out.println("父类构造代码块开始执行!");
    }
    public Test(){
        System.out.println("父类构造方法开始执行!");
    }
    public static void main(String[] args) {
        System.out.println("父类开始运行main");
        new Test();
    }
}

运行结果:

父类静态代码块开始执行!

父类开始运行main

父类构造代码块开始执行!

父类构造方法开始执行!

  • 当存在继承的情况下:

执行顺序:

父类静态代码块 → 子类静态代码块 → main → 父类构造代码块 → 父类构造方法 → 子类构造代码块 → 子类构造方法

public class Test2 {
    static{
        System.out.println("父类静态代码块开始执行!");
    }
    {
        System.out.println("父类构造代码块开始执行!");
    }
    public Test2(){
        System.out.println("父类构造方法开始执行!");
    }
}
public class Test1 extends Test2{
    static{
        System.out.println("子类静态代码块开始执行!");
    }
    {
        System.out.println("子类构造代码块开始执行!");
    }
    public Test1(){
        System.out.println("子类构造方法开始执行!");
    }
    public static void main(String[] args) {
        System.out.println("子类开始运行main");
        new Test1();
    }
}

运行结果:

父类静态代码块开始执行!

子类静态代码块开始执行!

子类开始运行main

父类构造代码块开始执行!

父类构造方法开始执行!

子类构造代码块开始执行!

子类构造方法开始执行!

所以这题选D

2. 对栈的理解(先进后出)

A: 从6一直进到4 的时候, 4开始出栈一直出到5出栈然后3进栈, 此时1 还没有入栈, 而且他要入栈的话前面还有一个2, 所以A错误, 选A

3. try - catch - finally语句

程序由main方法进入, 然后执行到test方法中, test方法中使用了try-catch-finally语句, 由于try雨中只有一个负值语句和一个返回值, 所以不会抛出异常, 但是句子中存在finally语句, 那么这个return 不会直接返回, 而是进入执行finally中的语句, 也就是b+=10, 然后再返回b.

所以这题的答案为 30

4.对数值转换和赋值语句的理解

A float类型是在整形范围之内的, 如果将-412的int的值直接传给float类型, 结果是安全的

b选项中的012为8进制, 012转化为10进制值为10, 所以b没问题.

c byte的取值范围为 (-128 ~ 127)_所以C错误

D 0x12345678是16进制, 对应的10进制在int范围内, 同时也没有发生截断 ,是安全的

E 由于java中的boolean类型的值仅为ture和false, 而且在java中不像C和C++, c中的0和1可以分别代表false和true, 但是在java中的对错只能用true和false, 因此false个true是没有对应的10进制的值的, 所以E错误

所以选ABD

5.编程题: 不要2;


目录
相关文章
|
1月前
|
Java
CSDN每日一练(Java)--小艺的英文名
CSDN每日一练(Java)--小艺的英文名
|
1月前
|
C++ Python Rust
Rust 重载运算符|复数结构的“加减乘除”四则运算
Rust 重载运算符|复数结构的“加减乘除”四则运算
61 0
Rust 重载运算符|复数结构的“加减乘除”四则运算
|
1月前
|
Linux
Linux 终端命令之文件浏览(1) cat
Linux 终端命令之文件浏览(1) cat
35 0
Linux 终端命令之文件浏览(1) cat
|
1月前
|
Go Python Rust
Rust 编程小技巧摘选(7)
Rust 编程小技巧摘选(7)
54 0
Rust 编程小技巧摘选(7)
|
1月前
|
Rust 索引
Rust 编程小技巧摘选(6)
Rust 编程小技巧摘选(6)
51 1
Rust 编程小技巧摘选(6)
|
1月前
|
Linux Windows Ubuntu
Windows 使用 Linux 子系统,轻轻松松安装多个linux
Windows 使用 Linux 子系统,轻轻松松安装多个linux
75 0
Windows 使用 Linux 子系统,轻轻松松安装多个linux
|
1月前
|
C++ Rust NoSQL
Rust 数据类型 之 类C枚举 c-like enum
Rust 数据类型 之 类C枚举 c-like enum
37 0
Rust 数据类型 之 类C枚举 c-like enum
|
1月前
|
Java Go C++
Golang每日一练(leetDay0120) 反转字符串中的元音字母、前K个高频元素
Golang每日一练(leetDay0120) 反转字符串中的元音字母、前K个高频元素
40 0
Golang每日一练(leetDay0120) 反转字符串中的元音字母、前K个高频元素
|
1月前
|
Java Go C++
Golang每日一练(leetDay0116) 路径交叉、回文对
Golang每日一练(leetDay0116) 路径交叉、回文对
36 0
Golang每日一练(leetDay0116) 路径交叉、回文对
|
1月前
|
Java Go C++
Golang每日一练(leetDay0112) 2、3、4的幂
Golang每日一练(leetDay0112) 2、3、4的幂
34 0
Golang每日一练(leetDay0112) 2、3、4的幂