zoukankan      html  css  js  c++  java
  • Java基础笔试练习(六)

    Java基础笔试练习(六)

    1.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为?

    A.隐藏
    B.覆盖
    C.重载
    D.Java不支持此特性

    答案:
    C

    解析:

    2.编译 Java 源程序文件产生的字节码文件的扩展名为()?

    A.java
    B.class
    C.html
    D.exe

    答案:
    B

    解析:
    送分题

    3.以下程序的运行结果是() ?

    public class Increment
    {
        public static void main(String args[])
        {
            int a;
            a = 6;
            System.out.print(a);
            System.out.print(a++);
            System.out.print(a);
        }
    }
    
    

    A.666
    B.667
    C.677
    D.676

    答案:
    B

    解析:
    a++很好记的,表示先用后+,而++a表示先+后用。看+在前在后,也决定第一步。

    4.有以下程序片段且Interesting不是内部类,下列哪个选项不能插入到行1。( )

    1.
    2.public class Interesting{
    3. // 省略代码
    4.} 
    

    A.import java.awt.*;
    B.package mypackage;
    C.class OtherClass{ }
    D.public class MyClass{ }

    答案:
    D

    解析:
    在同一个java原文件中,可以有多个class类,但是只有有一个公共的 public class

    5.Math.round(11.5) 等于多少 (). Math.round(-11.5) 等于多少 ( )?

    A.11 ,-11
    B.11 ,-12
    C.12 ,-11
    D.12 ,-12

    答案:
    C

    解析:

    • floor:意为地板,指向下取整,返回不大于它的最大整数
    • ceil:意为天花板,指向上取整,返回不小于它的最小整数
    • round:意为大约,表示“四舍五入”,而四舍五入是往大数方向入。
    • Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11而不是-12。

    6.一个以“.java”为后缀的源文件

    A.只能包含一个public类,类名必须与文件名相同
    B.只能包含与文件名相同的public类以及其中的内部类
    C.只能有一个与文件名相同的public类,可以包含其他非public类(不考虑内部类)
    D.可以包含任意public类

    答案:
    C

    解析:
    .java文件可以包含多个类,唯一的限制就是:一个文件中只能有一个public类,并且此public类必须与文件名相同。而且这些类和写在多个文件中没有区别。

    7.关于Float,下列说法错误的是() ?

    A.Float是一个类
    B.Float在java.lang包中
    C.Float a=1.0是正确的赋值方法
    D.Float a= new Float(1.0)是正确的赋值方法

    答案:
    C

    解析:
    1.Float是类,float不是类.
    2.查看JDK源码就可以发现Byte,Character,Short,Integer,Long,Float,Double,Boolean都在java.lang包中.
    3.Float正确复制方式是Float f=1.0f,若不加f会被识别成double型,double无法向float隐式转换.
    4.Float a= new Float(1.0)是正确的赋值方法,但是在1.5及以上版本引入自动装箱拆箱后,会提示这是不必要的装箱的警告,通常直接使用Float f=1.0f.

    8.子类要调用继承自父类的方法,必须使用super关键字。

    A.正确
    B.错误

    答案:
    B

    解析:
    1、子类构造函数调用父类构造函数用super
    2、子类重写父类方法后,若想调用父类中被重写的方法,用super
    3、未被重写的方法可以直接调用。

    9.下列属于容器的组件有()?

    A.JButton
    B.JPanel
    C.Thread
    D.JTextArea

    答案:
    B

    解析:
    JPanel是Java图形用户界面(GUI)工具包中的面板容器类,包含在javax.swing包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField等,功能是对对窗体上的这些控件进行组合,相当于C++和C#中的Panel类。

    10.我们在程序中经常使用“System.out.println()”来输出信息,语句中的System是包名,out是类名,println是方法名。

    A.对
    B.错

    答案:
    B

    解析:
    system是java.lang中的一个类,out是System内的一个成员变量,这个变量是一个java.io.PrintStream类的对象,println就是一个方法了。

    11.正则表达式中,表示匹配非数字字符的字符是()?

    A.
    B.d
    C.B
    D.D

    答案:
    D

    解析:
    大写表示“非”,d表示digit数字。非数字就是D, w表示word,非单词就是W

    12.对于以下代码段,4个输出语句中输出true的个数是( )。

    class A{}
    class B extends A{}
    class C extends A{}
    class D extends B{}
    A obj = new D();
    System.out.println(obj instanceof B);
    System.out.println(obj instanceof C);
    System.out.println(obj instanceof D);
    System.out.println(obj instanceof A); 
    
    

    A.1
    B.2
    C.3
    D.4

    答案:
    C

    解析:
    D属于B,D属于A,D属于D,D不属于C.所以选C

    13.在Java中,HashMap中是用哪些方法来解决哈希冲突的?

    A.开放地址法
    B.二次哈希法
    C.链地址法
    D.建立一个公共溢出区

    答案:
    C

    解析:
    以上方法都是解决哈希填冲突的策略,但是在java.util.HashMap中,总体来说是使用的链地址法来解决冲突的。
    当然了,使用链地址法会导致get的效率从o(1)降至o(n),所以在Java8中,使用的是平衡树来解决提高效率的。

    14. 关于匿名内部类叙述正确的是? ( )

    A.匿名内部类可以继承一个基类,不可以实现一个接口
    B.匿名内部类不可以定义构造器
    C.匿名内部类不能用于形参
    D.以上说法都不正确

    答案:
    B

    解析:
    由于构造器的名字必须与类名相同,而匿名类没有类名,所以匿名类不能有构造器。

    15.下下面哪一项不是加载驱动程序的方法?

    A.通过DriverManager.getConnection方法加载
    B.调用方法 Class.forName
    C.通过添加系统的jdbc.drivers属性
    D.通过registerDriver方法注册

    答案:
    A

    解析:
    DriverManager.getConnection方法返回一个Connection对象,这是加载驱动之后才能进行的

    16.关于以下代码的说明,正确的是()?

    1. class StaticStuff
    2. {
    3. static int x=10;
    4. static { x+=5;}
    5. public static void main(String args[ ])
    6. {
    7. System.out.println(“x=” + x);
    8. }
    9. static { x/=3;}
    10. }
    
    

    A.4行与9行不能通过编译,因为缺少方法名和返回类型
    B.9行不能通过编译,因为只能有一个静态初始化器
    C.编译通过,执行结果为:x=5
    D.编译通过,执行结果为:x=3

    答案:
    C

    解析:

    先执行:
    1 static int x = 10;
    再执行两个静态块:
    1 static { x+=5; }
    2 static { x/=3; }
    最后执行main():
    1 System.out.println(“x=” + x);

    所以x = 10 -> x = x +5 = 15 -> x = x / 3 = 5 打印x=5

    17.以下集合对象中哪几个是线程安全的()?

    A.LinkedList
    B.ArrayList
    C.Vector
    D.Hashtable

    答案:
    C D

    解析:

    简单记忆线程安全的集合类:喂!SHE! 喂是指vector,S是指stack,H是指hashtable,E是指:Eenumeration

    18.下面哪些可能是重载的基本条件()(注意:是可能为重载的基本条件)

    A.参数的类型不同
    B.参数的顺序不同
    C.函数的返回值类型不同
    D.参数的个数不同

    答案:
    A B D

    解析:

    重载的概念是:
    方法名称相同,参数个数、次序、类型不同
    因此重载对返回值没有要求,可以相同,也可以不同
    但是如果参数的个数、类型、次序都相同,方法名也相同,仅返回值不同,则无法构成重载

    19.下面有关 java 类加载器,说法正确的是?()

    A.引导类加载器(bootstrap class loader):它用来加载 Java 的核心库,是用原生代码来实现的
    B.扩展类加载器(extensions class loader):它用来加载 Java 的扩展库。
    C.系统类加载器(system class loader):它根据 Java 应用的类路径(CLASSPATH)来加载 Java 类
    D.tomcat 为每个 App 创建一个 Loader,里面保存着此 WebApp 的 ClassLoader。需要加载 WebApp 下的类时,就取出 ClassLoader 来使用

    答案:
    A B C D

    解析:
    类的加载是由类加载器完成的,类加载器包括:根加载器(BootStrap)、扩展加载器(Extension)、系统加载器(System)和用户自定义类加载器( java.lang.ClassLoader 的子类)。从 Java 2 (JDK 1.2)开始,类加载过程采取了父亲委托机制( PDM )。 PDM 更好的保证了 Java 平台的安全性,在该机制中, JVM 自带的 Bootstrap 是根加载器,其他的加载器都有且仅有一个父类加载器。类的加载首先请求父类加载器加载,父类加载器无能为力时才由其子类加载器自行加载。 JVM 不会向 Java 程序提供对 Bootstrap 的引用。下面是关于几个类加载器的说明:

    • Bootstrap :一般用本地代码实现,负责加载 JVM 基础核心类库( rt.jar );
    • Extension :从 java.ext.dirs 系统属性所指定的目录中加载类库,它的父加载器是 Bootstrap ;
    • system class loader:又叫应用类加载器,其父类是Extension。它是应用最广泛的类加载器。它从环境变量 classpath 或者系统属性 java.class.path 所指定的目录中记载类,是用户自定义加载器的默认父加载器。
      用户自定义类加载器: java.lang.ClassLoader 的子类
      -父类委托机制是可以修改的,有些服务器就是自定义类加载器优先的。

    20.关于Java的一些概念,下面哪些描述是正确的:( )

    A.所有的Java异常和错误的基类都是java.lang.Exception, 包括java.lang.RuntimeException
    B.通过try … catch … finally语句,finally中的语句部分无论发生什么异常都会得到执行
    C.java中所有的数据都是对象
    D.Java通过垃圾回收回收不再引用的变量,垃圾回收时对象的finallize方法一定会得到执行
    E.Java是跨平台的语言,无论通过哪个版本的Java编写的程序都能在所有的Java运行平台中运行
    F.Java通过synchronized进行访问的同步,synchronized作用非静态成员方法和静态成员方法上同步的目标是不同的

    答案:
    B F

    解析:
    A:Java中所有错误和异常的父类是java.lang.Throwable
    B:基本数据类型不是对象,不能用new的方法获取,但是每个基本数据类型都对应着封装类型,这些封装类型为了解决基本数据类型面向对象用的。
    C:Java垃圾回收器负责回收无用对象占据的内存资源,但对象没有使用new获取了一块特殊区域,这块特殊区域的回收使用finallize()
    D:Java跨平台是因为有JVM的存在,Java的三个版本的运行需要各自不同的环境。

    推荐

    大厂笔试内容集合(内有详细解析) 持续更新中....

    ProcessOn是一个在线作图工具的聚合平台~

    文末

    欢迎关注个人微信公众号:Coder编程
    欢迎关注Coder编程公众号,主要分享数据结构与算法、Java相关知识体系、框架知识及原理、Spring全家桶、微服务项目实战、DevOps实践之路、每日一篇互联网大厂面试或笔试题以及PMP项目管理知识等。更多精彩内容正在路上~
    新建了一个qq群:315211365,欢迎大家进群交流一起学习。谢谢了!也可以介绍给身边有需要的朋友。

    文章收录至
    Github: https://github.com/CoderMerlin/coder-programming
    Gitee: https://gitee.com/573059382/coder-programming
    欢迎关注并star~
    微信公众号

  • 相关阅读:
    Qt生成随机数
    Qt调用系统DLL,判断网络连接状态
    Qt操作sqlite数据库
    Qt 操作注册表
    vs报错:RC1004 unexpected end of file found
    Qt操作ini文件
    Django Admin:自动选择当前用户
    BSTR转QString
    vue-cli4,vue3打包后页面无内容
    Qt 5.12.10 国际化
  • 原文地址:https://www.cnblogs.com/coder-programming/p/11683851.html
Copyright © 2011-2022 走看看