日常Java练习题(每天进步一点点系列)

简介: 日常Java练习题(每天进步一点点系列)

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

正确答案: C 你的答案: 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 你的答案: 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 你的答案: 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 你的答案: 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 你的答案: 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 你的答案: 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 你的答案: 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 你的答案: C(正确)

-7

-3

编译错误

-5


题解:

答案是 编译错误。

这题编译错误在于这一句: i = ++(i++);

++( ) 括号里面必须是一个变量,而 i ++ 是一个字面量。


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

正确答案: A C D 你的答案: A C D (正确)

static

package

private

public


题解:

普通类(外部类):只能用public、default(不写)、abstract、final修饰。

(成员)内部类:可理解为外部类的成员,所以修饰类成员的public、protected、default、private、static等关键字都能使用。

局部内部类:出现在方法里的类,不能用上述关键词来修饰。

匿名内部类:给的是直接实现,类名都没有,没有修饰符。


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

正确答案: A C D 你的答案: 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.png


答案汇总:

1、正确答案: C

2、正确答案: C

3、正确答案: D

4、正确答案: C

5、正确答案: D

6、正确答案: D

7、正确答案: A

8、正确答案: C

9、正确答案: A C D

10、正确答案: A C D


以上部分题解来自牛客评论区,感谢评论区大佬的解释。


相关文章
|
4月前
|
存储 Java
创建一个乘法练习题生成器 using Java
创建一个乘法练习题生成器 using Java
|
5月前
|
人工智能 Java
Java练习题-输出二维数组对角线元素和
Java练习题-输出二维数组对角线元素和
|
5月前
|
存储 Java 索引
Java练习题-获取数组元素最大值
Java练习题-获取数组元素最大值
Java练习题-获取数组元素最大值
|
5月前
|
Java
<Java SE> 数组详解大全(附带练习题).一维数组、二维数组、数组拷贝、数组遍历...
<Java SE> 数组详解大全(附带练习题).一维数组、二维数组、数组拷贝、数组遍历
33 0
|
5月前
|
Java 索引
Java练习题-用冒泡排序法实现数组排序
Java练习题-用冒泡排序法实现数组排序
|
5月前
|
Java
Java练习题-键盘录入字符串实现大小写转换
Java练习题-键盘录入字符串实现大小写转换
|
5月前
|
Java
Java练习题-输出斐波那契(Fibonacci)数列
Java练习题-输出斐波那契(Fibonacci)数列
|
5月前
|
存储 Java
Java程序设计练习题8异常处理
Java程序设计练习题8异常处理
139 0
|
5月前
|
算法 Java 程序员
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
51 0
Java数组全套深入探究——进阶知识阶段4、一维数组练习题
|
5月前
|
Java
java字符串练习题8、同构字符串
java字符串练习题8、同构字符串
47 0
java字符串练习题8、同构字符串
下一篇
无影云桌面