单项选择题

  1. 下列JavaDOC注释正确得是(**C**);

A. /阿拓老师很帅/
B. //阿拓老师很帅
/
C. /阿拓老师很帅/
D. /
阿拓老师很帅
/
我的选择:A
正确答案:C
解析
题目要求为JavaDoc注释,则是文档注释,而java支持3种注释,分别是单行注释、多行注释和文档注释。单行注释和多行注释都是用来描述和说明,而注释文档将用来生成HTML格式的代码报告。
所以正确答案为C,JavaDoc为文档注释。

  1. //单行注释
  2. /*
  3. *多行注释
  4. */
  5. /**
  6. *文档注释
  7. */


  1. 在Java语言中,下列运算符合法的是(A);

A. &&
B. <>
C. ===
D. :=
我的选择:C
正确答案:A
解析
A.&&是逻辑运算符中的逻辑与,当两个数为真,则条件为真,只要其中一个数为假,则条件为假。
B.<>单个为比较运算符。
C.===三个等于,当时我记得在拓哥的视频中说过,类似于一定等于的那种,并不算运算符合法。
D.:=,”:”冒号目前在两个地方见到,其一是三目运算符,其二是jdk1.5版本以上的加强for循环。
所以正确答案为A,&&逻辑与。

  1. 若下列所用变量均已经正确定义,以下表达式中不合法的是(**B**)

A.x>>3
B.+++j
C.a=x>y?x:y
D.x%4
我的选择:C
正确答案:B
解析
A.>>是移位符,即按位右位移,在二进制的基础上往右位移3位,左边补零,相当于除以2的位移字幕。
B.+ ++j,正确的是加上自增j这个变量,但是前面是+号,而无数可加,是为错
C.为三目运算符,如果x>y,则赋值给a,得出x,如果xD.%是取模,是以x为基础除以4的余数
所以正确答案为B。

  1. 为一个boolean类型变量赋值时,可以使用(**B**)

A.boolean = 1;
B.boolean a = (9>=10);
C.boolean a = “真”;
D.boolean a == false;
我的选择:A
正确答案:B
解析
A.粗心大意,没有变量,这么赋值呢,而且不能赋值为任何数字。
B.9>=10是比较条件,结果是false或者true其中一个结果,则可以使用。
C.boolean类型,是布尔型数据类型,不是引用类型,而且在Java中只能赋值true和false。
D.其中==是比较运算符,而不是赋值。
所以正确答案为B。

  1. 以下代码,执行结果为(**C**)

    1. public class IfTest{
    2. public static void main(String[] args){
    3. int x = 3;
    4. int y = 1;
    5. if(x=y)
    6. System.out.println("不相等");
    7. else
    8. System.out.println("相等");
    9. }
    10. }

    A.不相等
    B.相等
    C.第五行代码会引起编译错误
    D.程序正常执行,但没有任何输出结果
    我的选择:B
    正确答案:C
    解析
    AB.相等和不相等,是建立在程序正常执行的情况下,但是在if条件语句里面,x=y是赋值,而不是一个 条件语句,则是错误的。
    C.以为if是判断语句,使用if判断条件里必须是条件,而不是赋值,所以会出现编译错误。
    所以正确答案为C。

  2. 关于数组默认值,错误的是(**B**)

A.String—null
B.Boolean—true
C.float—0.0f
D.int—0
我的选择:C
正确答案:B
解析
Boolean是布尔值数据类型,只能有两个值,分别为true和false,而Boolean的默认值为false。
所以正确答案为B。

  1. 关于类的叙述正确的是(**D**)

A.在类中定义的变量称为类的成员变量,在别的类中可以直接使用
B.成员变量的作用范围仅仅是当前类的方法中,或当前类的控制流块中
C.使用别的类的方法仅仅需要引用方法的名字即可
D.若类没有定义构造方法,JVM都会为类生成一个默认的无参数构造方法
我的选择:B
正确答案:D
解析
A.包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来引用。
B.作用范围是整个类。
C.其他类中可以创建对象来调用。
所以正确答案为D。

  1. 给定Java代码如下所示,在//#处添加哪个选项,不可以构成方法重载(**D**)
    1. public class Test{
    2. public void fun(int x,int y,int z){}
    3. //#
    4. }
    A.public int fun(int x,int y,float z){return 0;}
    B.public int fun(char x,int y,int z){return 0;}
    C.public void fun(int x,int z){}
    D.public void fun(int z,int y,int x){}

我的选择:B
正确答案:D
解析
A.返回值不同,方法名字相同,参数类型不同,可以构成重载。
B.返回值不同,方法名字相同,参数类型不同,可以构成重载。
C.方法名字相同,参数类型相同,但是数量不同,可以构成重载。
D.方法名字相同,参数类型相同,参数数量相同,不可以构成重载。
重载:overload,名字一致,但是参数的个数、类型、顺序不一致即可重载
所以正确答案为D。

多项选择题

  1. 下列说法错误的有(**BCD**)

A.数组是一种对象
B.数组属于一种原生类
C.int number = []{31,23,33,43,35,63};
D.数组的大小可以任意改变
我的选择:ABCD
正确答案:BCD
解析
A.数组是一种对象,它的父类是Object类,也是通过new来创建的。
B.原生类只有八种,即数据类型 byte,short,char,int,long,float,double,boolean。
C. int[] number = new int[]{31,23,33,43,35,63};
int[] number = {31,23,33,43,35,63};
D.数组一旦定义大小,不可以随意更改大小。

所以正确答案为BCD。


总结

粗心大意是一大重点,看题需要细心和耐心。面向对象基础还是有些不牢固,以后还需努力。