牛客java选择题每日打卡Day7

举报
京与旧铺 发表于 2022/05/27 20:09:22 2022/05/27
【摘要】 牛客java选择题每日打卡Day7👩‍💻博客主页:京与旧铺的博客主页✨欢迎关注🖱点赞🎀收藏⭐留言✒🔮本文由京与旧铺原创,csdn首发!😘系列专栏:java学习👕参考网站:牛客网💻首发时间:🎞2022年5月23日🎠🎨你做三四月的事,八九月就会有答案,一起加油吧🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦🎧最后的话,作者是一个新人,在很多方面还做的不好,欢迎大佬...

牛客java选择题每日打卡Day7

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

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

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

😘系列专栏:java学习

👕参考网站:牛客网

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

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

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

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


图片


🛒导航小助手🎪


🥫选择题1

下列说法正确的有( )

  •  构造方法的方法名必须与类名相同
  •  构造方法也没有返回值,但可以定义为void
  •  在子类构造方法中调用父类的构造方法,super() 必须写在子类构造方法的第一行,否则编译不通过
  •  一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个默认的构造方法,这个构造方法不执行任何代码

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

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

🥠选择题2

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

  •  HashMap使用键/值得形式保存数据
  •  HashMap 能够保证其中元素的顺序
  •  HashMap允许将null用作键
  •  HashMap允许将null用作值


Map集合类 key value
HashMap 允许为null 允许为null
TreeMap 不允许为null 允许为null
ConcurrentMap 不允许为null 不允许为null
HashTable 不允许为null 不允许为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”once followed by”FIXED”
  •  编译正确,输出”It is a account type”twice followed by”FIXED”
  •  编译正确,输出”It is a account type”thrice 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 i=Integer.parseInt(&rdquo;123a&rdquo;);将产生NumberFormatException
  •  int a[]=null; a[0]=1; 将产生NullPointerException
  •  输入输出流编程中,读和写时都要抛出IOException

查看正确选项

正确答案:A

异常分为运行时异常,非运行时异常和error,其中error是系统异常,只能重启系统解决。非运行时异常需要我们自己补获,而运行异常是程序运行时由虚拟机帮助我们补获,运行时异常包括数组的溢出,内存的溢出空指针,分母为0等!

🥙选择题5

关于java编译和运行命令叙述不正确的是? ( )


  •  运行&ldquo;java Scut.class&rdquo;
  •  运行&ldquo;java Scut&rdquo;
  •  编译 Scut.java文件,使用&ldquo;javac Scut.java&rdquo;命令的输出文件是Scut.class
  •  java这个命令的运行对象是Scut.class

A 错误 运行命令是 *j*ava + 你的 Java 程序的名字但是不加后缀 所以这道题错在多了 .class这个后缀

B 正确

C javac 是编译命令,后跟 你的 Java 程序名字加后缀,也就是 YourClassName.java 所以答案正确

D JVM (Java 虚拟机)运行的是编译后的字节码文件(以.class为后缀的文件),也就是 YourClassName.class 所以答案正确

🍚选择题6

下面哪个修饰符修饰的变量是所有同一个类生成的对象共享的( )

  •  public
  •  private
  •  static
  •  final


static修饰某个字段时,肯定会改变字段创建的方式(每个被static修饰的字段对于每一个类来说只有一份存储空间,而非static修饰的字段对于每一个对象来说都有一个存储空间)

static属性是属于类的,所以对象共同拥有,所以既可以通过类名.变量名进行操作,又可以通过对象名.变量名进行操作

🥡选择题7

  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=150
     Result=150
  •  Result=100
     Result=100
  •  Result=100
     Result=150
  •  Result=150
     Result=100


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

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

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。