牛客网-Java专项练习04
答案设置为白色,框选即可显示
1.以下那些代码段能正确执行
A.
public static void main(String args[]) {
byte a = 3;
byte b = 2;
b = a + b;
System.out.println(b);
}
B.
public static void main(String args[]) {
byte a = 127;
byte b = 126;
b = a + b;
System.out.println(b);
}
C.
public static void main(String args[]) {
byte a = 3;
byte b = 2;
a+=b;
System.out.println(b);
}
D.
public static void main(String args[]) {
byte a = 127;
byte b = 127;
a+=b;
System.out.println(b);
}
答案:CD
解析:byte类型的变量在做运算时被会转换为int类型的值,故A、B左为byte,右为int,会报错;而C、D语句中用的是a+=b的语句,此语句会将被赋值的变量自动强制转化为相对应的类型。
2.在 Applet 中,方法执行的顺序是 ?( )
A.init(), start(), paint(),stop(),destroy().
B.init(),paint(),start(),stop(),destroy().
C.paint(),start(),stop(),destroy().
D.init(), start(),stop(),destroy(),paint().
答案:A
解析:init 初始化,start启动运行,paint 窗口最小化等时候需要暂停,stop 停止,destory 销毁;
3.This调用语句必须是构造函数中的第一个可执行语句。
A.正确
B.错误
答案:B
解析:this()和super()为构造方法,作用是在JVM堆中构建出一个对象。因此避免多次创建对象,同一个方法内只能调用一次this()或super()。同时为了避免操作对象时对象还未构建成功,需要this()和super()的调用在第一行实现【以此来创建对象】,防止异常。
4.JSP分页代码中,哪个步骤次序是正确的?
A.先取总记录数,得到总页数,最后显示本页的数据。
B.先取所有的记录,得到总页数,再取总记录数,最后显示本页的数据。
C.先取总页数,得到总记录数,再取所有的记录,最后显示本页的数据。
D.先取本页的数据,得到总页数,再取总记录数,最后显示所有的记录。
答案:A
解析:先取总记录数,得到总页数,再取所有的记录,最后显示本页的数据
5.针对以下代码,哪些选项执行后是true的:()
class CompareReference{
public static void main(String [] args){
float f=42.0f;
float f1[]=new float[2];
float f2[]=new float[2];
float[] f3=f1;
long x=42;
f1[0]=42.0f;
}
}
A.f1= =f2
B.x= =f1[0]
C.f1= =f3
D.f2= =f1[1]
答案:BC
解析:如果两个操作数其中有一个是double类型,另一个操作就会转换为double类型。否则,如果其中一个操作数是float类型,另一个将会转换为float类型。否则,如果其中一个操作数是long类型,另一个会转换为long类型。否则,两个操作数都转换为int类型。故,x==f1[0]中,x将会转换为float类型。