当前位置 : 主页 > 编程语言 > java >

Java日常练习题,每天进步一点点(8)

来源:互联网 收集:自由互联 发布时间:2021-08-21
目录 1、this代表了()的对象引用,super表示的是当前对象的()对象 2、输出内容是: 3、下面程序的输出是:() 4、执行下列代码的输出结果是( ) 5、下面代码的输出结果是什么? 6、Math.floor
目录
  • 1、this代表了()的对象引用,super表示的是当前对象的()对象?
  • 2、输出内容是:
  • 3、下面程序的输出是:()
  • 4、执行下列代码的输出结果是( )
  • 5、下面代码的输出结果是什么?
  • 6、Math.floor(-8.5)=( )
  • 7、ArrayList list = new ArrayList(20);中的list扩充几次
  • 8、以下代码段执行后的输出结果为
  • 9、若需要定义一个类,下列哪些修饰符是允许被使用的?( )
  • 10、Servlet的生命周期可以分为初始化阶段,运行阶段和销毁阶段三个阶段,以下过程属于初始化阶段是()。
    • 答案汇总:
  • 总结

    承蒙各位厚爱,我们一起每天进步一点点!(鼠标选中空白处查看答案)

    1、this代表了()的对象引用,super表示的是当前对象的()对象?

    正确答案: C

    当前类 当前类

    当前类的父类 当前类

    当前类 当前类的父类

    以上都不正确

    题解:
    this代表当前对象,也就是当前类的对象的引用
    super代表其父类对象

    2、输出内容是:

    public static void main(String[] args) {
    Thread t = new Thread() {
    public void run() {
    my360DW();
    }
    };
    t.run();
    System.out.print("DW");
    }
    static void my360DW() {
    System.out.print("360");
    }
    

    正确答案: C

    DW

    360

    360DW

    都不输出

    题解:
    本题意在考察开启线程的方法t.start()和直接调用t.run()的区别。但在题目中没有提现 注:直接调用线程的run()方法不是开启线程,就是普通调用,会直接执行run()方法中的内容

    3、下面程序的输出是:()

    String x="fmn";
    x.toUpperCase();
    String y=x.replace('f','F');
    y=y+"wxy";
    System.out.println(y);
    

    正确答案: D

    FmNwxy

    fmnwxy

    wxyfmn

    Fmnwxy

    题解:
    String x=“fmn”; “fmn”是在常量池里的不可变对象。
    x.toUpperCase(); 在堆中new一个"FMN"对象,但无任何引用指向它。
    String y=x.replace(‘f',‘F'); 在堆中 new一个"Fmn"对象,y指向它。
    y=y+“wxy”; 在堆中 重新new一个"Fmnwxy"对象, 修改y指向,现在y指向它。

    4、执行下列代码的输出结果是( )

    public class Demo{
     public static void main(String args[]){
       int num = 10;
       System.out.println(test(num));
    }
    public static int test(int b){
       try
       {
        b += 10;
        return b;
       }
       catch(RuntimeException e)
       {
       }
       catch(Exception e2)
       {
       }
       finally
       {
        b += 10;
        return b;
       }
      }
    }
    

    正确答案: C

    10

    20

    30

    40

    题解:
    如果finally块中有return语句的话,它将覆盖掉函数中其他return语句。所以是30

    5、下面代码的输出结果是什么?

    public class ZeroTest {
        public static void main(String[] args) {
         try{
           int i = 100 / 0;
           System.out.print(i);
      }catch(Exception e){
           System.out.print(1);
           throw new RuntimeException();
      }finally{
           System.out.print(2);
      }
          System.out.print(3);
     }
     }
    

    正确答案: D

    3

    123

    1

    12

    题解:
    1、inti = 100/ 0; 会出现异常,会抛出异常,System.out.print(i)不会执行,
    2、catch捕捉异常,继续执行System.out.print(1);
    3、当执行 thrownewRuntimeException(); 又会抛出异常,这时,除了会执行finally中的代码,其他地方的代码都不会执行,因此执行完finally语句块之后,程序终止了

    6、Math.floor(-8.5)=( )

    正确答案: D

    (float)-8.0

    (long)-9

    (long)-8

    (double)-9.0

    题解:
    Math.floor(x) 返回小于等于x的最接近整数,类型为double
    Math.floor() 表示向下取整,返回double类型 (floor—地板)
    Math.ceil() 表示向上取整,返回double类型 (ceil—天花板)
    Math.round() 四舍五入,返回int类型

    7、ArrayList list = new ArrayList(20);中的list扩充几次

    正确答案: A

    0

    1

    2

    3

    题解:
    Arraylist默认数组大小是10,扩容后的大小是扩容前的1.5倍,最大值小于Integer 的最大值减8,如果新创建的集合有带初始值,默认就是传入的大小,也就不会扩容

    8、以下代码段执行后的输出结果为

    public class Test {
    public static void main(String args[]) {
    int i = -5;
    i =  ++(i++);
    System.out.println(i);
    }
    }
    

    正确答案: C

    -7

    -3

    编译错误

    -5

    题解:
    答案是 编译错误。
    这题编译错误在于这一句: i = ++(i++);
    ++( ) 括号里面必须是一个变量,而 i ++ 是一个字面量。

    9、若需要定义一个类,下列哪些修饰符是允许被使用的?( )

    正确答案: A C D

    static

    package

    private

    public

    题解:
    普通类(外部类):只能用public、default(不写)、abstract、final修饰。
    (成员)内部类:可理解为外部类的成员,所以修饰类成员的public、protected、default、private、static等关键字都能使用。
    局部内部类:出现在方法里的类,不能用上述关键词来修饰。
    匿名内部类:给的是直接实现,类名都没有,没有修饰符。

    10、Servlet的生命周期可以分为初始化阶段,运行阶段和销毁阶段三个阶段,以下过程属于初始化阶段是()。

    正确答案: A C D

    加载Servlet类及.class对应的数据

    创建servletRequest和servletResponse对象

    创建ServletConfig对象

    创建Servlet对象

    题解:
    Servlet的生命周期一般可以用三个方法来表示:
    init():仅执行一次,负责在装载Servlet时初始化Servlet对象
    service() :核心方法,一般HttpServlet中会有get,post两种处理方式。在调用doGet和doPost方法时会构造servletRequest和servletResponse请求和响应对象作为参数。
    destory():在停止并且卸载Servlet时执行,负责释放资源
    初始化阶段:Servlet启动,会读取配置文件中的信息,构造指定的Servlet对象,创建ServletConfig对象,将ServletConfig作为参数来调用init()方法。所以选ACD。B是在调用service方法时才构造的
    在这里插入图片描述

    答案汇总:

    1、正确答案: C

    2、正确答案: C

    3、正确答案: D

    4、正确答案: C

    5、正确答案: D

    6、正确答案: D

    7、正确答案: A

    8、正确答案: C

    9、正确答案: A C D

    10、正确答案: A C D

    总结

    本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注自由互联的更多内容!

    网友评论