1.下列JavaDOC注释正确的是(C)
A./阿拓老师好帅/
B.//阿拓老师好帅/
C./**阿拓老师好帅/
D./阿拓老师好帅**/
解析:1.单行注释 “//“
2.多行注释 / /
3.文档注释 /** /
DOC为文档,应选C.
2.执行语句int a=’2’后,a的值是(B)
A.2
B.50
C.49
D.0
分析:选D的想法是:’2’是字符,不能直接赋值给整形变量a。可能这两者发生转化了,这个地方有点不清楚,就选择了默认值0。
3.十进制16的十六进制表示形式是(A)
A.0X10
B.0X16
C.0XA
D.016
解析:十进制 16 可化为二进制 00…..0000 0001 0000 ,每四个比特位分为一组。
0001 每个比特位上的数字分别乘以2的次幂 得到结果1
0000 每个比特位上的数字分别乘以2的次幂 得到结果0十六进制表示形式以0X开头
所以结果是0X10
4.若下列所用变量均已正确定义,以下表达式中不合法的是( B )
A.x>>3
B.+++j
C.a=x>y?x:y
D.x%4
解析:A: >>——按位右位移 合理
B:没有+++运算符。(选此选项时,以为是+ ++)
C:a=x>y?x:y——-条件运算符 合理
D:%———取余算数运算符 合理
5. 以下代码,执行结果为(A)
public class Test{
public static void main(String[]args){
char c=65;
System.out.println(“c=”+c.)
}
}
A.c=65
B.c=A
C.编译错误
D.执行错误
分析:当时选 C.编译错误 的想法是:认为 char c=65这一行代码编译错误,c是字符型变量,65是整型常量。
6.在java中下列关于自动类型转换说法正确的是(A,D)
A.基本数据类型和String相加结果一定是字符串类型
B.char类型和int类型相加结果一定是字符
C.double类型可以自动转换为int
D.char+int+double结果一定是double
解析:
B. char类型也可以转化为int类型,再与int类型相加得到int类型,所以不一定是字符
C.double类型可以强制转化为int类型
7.下列输出结果是(C)
int a=0;
while(a<5){
switch(a){<br /> case0:case3:a=a+2;<br /> case1:<br /> case2:a=a+3;<br /> default:a=a+5;<br /> }<br />}<br />A.0<br />B.5<br />C.10<br />D.其他
解析:case后的代码里没有break,所以switch后的代码都执行一遍,最终得到a的值为10
8.下列代码输出结果是(D)
int i=10;
while(i>0){
i=i++;
if(i==10){
break;
}
A.while循环执行十次
B.死循环
C.循环一次都不执行
D.循环执行一次
解析:由第三行代码i=i++,得到i=10.直接执行下一行代码if(i==10){
break;
}
break结束循环,只执行一次
9.代码如下,运行结果是(C)
public static void main(String[]args){
int i=1;
int j=1;
for(;i<=5;){
for(;j<=5;){
if(j==3){
break;
}
System.out.println(j++);
}
i++;
}
System.out.print(“-“);
System.out.print(“i”);
System.out.print(“j”);
}
A.1212121212-63
B.1212121212-66
C.12-63
D.12-66
解析:当j=1,j++为1. j=2时,j++为2.当j=3时,执行break语句,跳出j的循环.等循环结束i=6,j=3
10.执行完代码 int[] x=new int[25]后,以下说法正确的是(A)
A.x[24]为0
B.x[24]未定义
C.x[25]为0
D.x[0]为null
解析:定义数组里的元素为整形,数组未赋值前应存储默认值,而整型的默认值为0,A选项正确.
C选项,数组索引越界 D选项,x[0]不是String类型,默认值不为null.
11.代码如下,选项说法正确的是(A)
public class ArrayTest{
public static void main{
int f1[],f2[];
f2=f1;
System.out.println(“f2[0]=”+f2[0]);
}
}
A.打印f2[0]=0
B.打印f2[0]=NAN
C.第三行会产生编译时异常
D.第五行会产生编译时异常
解析:定义的数组f1,f2里的元素为整型.但是没有给数组赋值,所以数组里的元素取默认值0
12.下列说法错误的是 (B.C.D)
A.数组是一组对象
B.数组属于一种原生类
C.int number=[]{31.23.33.43.35.63};
D.数组的大小可以任意改变
解析:对A,B选项的概念感到陌生,小本本记录:数组是一组对象,数组不属于原生类
C选项定义数组错误,应改为:int number[]={31.23.33.43.35.63};
D选项,数组的大小一旦定义不可更改
13.下列合法的数组说明语句是(D)
A.int a[]=”String”;
B.int a[5]={0.1 ,2,3,4};
C.char a=”String”;
D.char a[]={0,1,2,3,4,5};
解析:A选项,定义数组内元素为整型,不能存字符串
B选项,定义数组内元素为整型,不能存浮点型
C选项,定义数组错误,应改为 char a[]=”String”;
14.下面不是创建数组的正确语句是(C)
A.float f[][]=new float[6][6];
B.float []f=new float[6];
C.float f[][]=new float[][6];
D.float [][]f=new float[6][];
分析:C选项中没有定义大数组的长度
15.给定java代码如下所示,在//#处添加哪个选项,不可以构成方法重载(D)
public class Test{
public void fun(int x,int y, int z){
//#0
}
}
A.public int fun(int x,int y, int z){return 0}
B.public int fun(char x,int y, float z){return 0}
C.public void fun(int x,int y){}
D.public void fun(int z,int y, int x){}
解析:参数列表的参数类型,个数,顺序不同就可以构成方法重载
D选项,参数类型,个数与所给代码相同
16.有以下程序片段且interesting不是内部类,下列哪个选项不能插入到1行(D)
1.
2.public class Interesting{
3.//#代码
4.}
A.import java.util;
B.package mypackage;
C.class OtherClass{}
D.public class MyClass{}
解析:一个.java文件中只能有一个public修饰的类,所以D选项不能插入到1行
