承蒙各位厚爱,我们一起每天进步一点点!(鼠标选中空白处查看答案)
1、this代表了()的对象引用,super表示的是当前对象的()对象?
正确答案: C
当前类 当前类
当前类的父类 当前类
当前类 当前类的父类
以上都不正确
题解:
this代表当前对象,也就是当前类的对象的引用
super代表其父类对象
2、输出内容是:
1
2
3
4
5
6
7
8
9
10
11
12
|
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、下面程序的输出是:()
1
2
3
4
5
|
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、执行下列代码的输出结果是( )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
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、下面代码的输出结果是什么?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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、以下代码段执行后的输出结果为
1
2
3
4
5
6
7
|
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
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/weixin_43883917/article/details/118120840