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){

    1. switch(a){<br /> case0:
    2. 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行