写点什么

牛客 java 选择题每日打卡 Day7

作者:Geek_b91541
  • 2022 年 7 月 05 日
  • 本文字数:2143 字

    阅读完需:约 7 分钟

牛客 java 选择题每日打卡 Day7

👩‍💻博客主页:京与旧铺的博客主页

✨欢迎关注🖱点赞🎀收藏⭐留言✒

🔮本文由京与旧铺原创,csdn 首发!

😘系列专栏:java 学习

👕参考网站:牛客网

💻首发时间:🎞2022 年 5 月 23 日🎠

🎨你做三四月的事,八九月就会有答案,一起加油吧

🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦

🎧最后的话,作者是一个新人,在很多方面还做的不好,欢迎大佬指正,一起学习哦,冲冲冲




图片



🛒导航小助手🎪

[TOC]



🥫选择题 1

下列说法正确的有( )




    - ``` 构造方法也没有返回值,但可以定义为void
    复制代码




      - ``` 一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个默认的构造方法,这个构造方法不执行任何代码
      复制代码


      关于 B 选项:Java:语法要求的构造函数只能那么写。如果写成 public void 类名(){} 这种格式的话。此时就相当与你重新定义了一个函数,不能起到构造函数的作用,调用这个类的时候不能自动执行构造函数里的代码。


      构造函数是无类型的,不能定义 void、int 等类型。

      🥠选择题 2

      在 Java 中,关于 HashMap 类的描述,以下正确的是 ()




        - ``` HashMap 能够保证其中元素的顺序
        复制代码




          - ``` HashMap允许将null用作值
          复制代码



          HashMap 不按插入顺序排序,按照哈希值排序。所以无序。


          但是不增删改键的情况下,输出是按照一定顺序不变的

          🥩选择题 3

          下面代码输出是?


          enum AccountType{    SAVING, FIXED, CURRENT;    private AccountType()    {        System.out.println("It is a account type");    }}class EnumOne{    public static void main(String[]args)    {        System.out.println(AccountType.FIXED);    }}
          复制代码




            - ``` 编译正确,输出”It is a account type”twice followed by”FIXED”
            复制代码




              - ``` 编译正确,输出”It is a account type”four times followed by”FIXED”
              复制代码




                创建枚举类型要使用 enum 关键字,隐含了所创建的类型都是 java.lang.Enum 类的子类(java.lang.Enum 是一个抽象类)。枚举类型符合通用模式Class Enum<E extends Enum<E>>,而E表示枚举类型的名称。 **枚举类型的每一个值都将映射到** **protected Enum(String name, int ordinal)** **构造函数中 简单来说就是枚举类型中的枚举值都会对应调用一次构造函数 本题中三个枚举值,** 这里还要特别强调一下,枚举中的构造函数是私有类,也就是无法再外面创建enum 枚举值默认static ,AccountType.FIXED使用的是枚举值,没有创建。所以一共就3次。
                # 🥼选择题4
                关于异常的编程,以下描述错误的是:( )
                - ``` 在有除法存在的代码处,为了防止分母为零,必须抛出并捕获异常
                复制代码




                  - ``` int a[]=null; a[0]=1; 将产生NullPointerException
                  复制代码





                    ​ [查看正确选项](javascript:void(0))
                    正确答案:A
                    异常分为运行时异常,非运行时异常和error,其中error是系统异常,只能重启系统解决。非运行时异常需要我们自己补获,而运行异常是程序运行时由虚拟机帮助我们补获,运行时异常包括数组的溢出,内存的溢出空指针,分母为0等!
                    # 🥙选择题5
                    关于java编译和运行命令叙述不正确的是? ( )


                    - ``` 运行&ldquo;java Scut.class&rdquo;
                    复制代码




                      - ``` 编译 Scut.java文件,使用&ldquo;javac Scut.java&rdquo;命令的输出文件是Scut.class
                      复制代码




                        A 错误 运行命令是 ***\*j\**ava + 你的 Java 程序的名字但是不加后缀** 所以这道题错在多了 **.class这个后缀**
                        B 正确
                        C javac 是编译命令,后跟 **你的 Java 程序名字加后缀**,也就是 **YourClassName.java** 所以答案正确
                        D JVM (Java 虚拟机)运行的**是编译后的字节码文件(以.class为后缀的文件)**,也就是 **YourClassName.class** 所以答案正确
                        # 🍚选择题6
                        下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的( )
                        - ``` public
                        复制代码




                          - ``` static
                          复制代码






                            static修饰某个字段时,肯定会改变字段创建的方式(每个被static修饰的字段对于每一个类来说只有一份存储空间,而非static修饰的字段对于每一个对象来说都有一个存储空间)
                            static属性是属于类的,所以对象共同拥有,所以既可以通过类名.变量名进行操作,又可以通过对象名.变量名进行操作
                            # 🥡选择题7```java class A { public int func1(int a, int b) { return a - b; } } class B extends A { public int func1(int a, int b) { return a + b; } } public class ChildClass { public static void main(String[] args) { A a = new B(); B b = new B(); System.out.println("Result=" + a.func1(100, 50)); System.out.println("Result=" + b.func1(100, 50)); } }
                            复制代码




                              - ``` Result=100 Result=100
                              复制代码




                                - ``` Result=150 Result=100
                                复制代码


                                其实很简单,涉及转型的题目,分为向上或者向下转型。


                                关键的来了,不论向上或者向下转型,都是一句话,“编译看左边,运行看右边”。也就是编译时候,会看左边引用类型是否能正确编译通过,运行的时候是调用右边的对象的方法。


                                就本题来说,编译时候会发现左边满足条件所以编译通过,运行时候又会调用右边也就是 class B 的方法,所以答案都是 150。

                                用户头像

                                Geek_b91541

                                关注

                                还未添加个人签名 2022.06.02 加入

                                还未添加个人简介

                                评论

                                发布
                                暂无评论
                                牛客java选择题每日打卡Day7_7月月更_Geek_b91541_InfoQ写作社区