2019年10月29日_java_2

考点1 java程序命令文件名

编译java程序的命令文件是( )

  • A java.exe
  • B javac.exe
  • C applet.exe
展开/折叠 正确答案: B

解析

  • javac.exe是编译功能javaCompiler
  • java.exe是执行程序,用于执行编译好的.class文件
  • javadoc.exe用来制作java文档
  • jdb.exejava的调试器
  • javaprof.exe是剖析工具

考点2 循环

以下代码的循环次数是

1
2
3
4
5
6
7
8
9
10
public class Test {
public static void main(String args[]) {
int i = 7;
do {
System.out.println(--i);
--i;
} while (i != 0);
System.out.println(i);
}
}
  • A 0
  • B 1
  • C 7
  • D 无限次
展开/折叠 正确答案: D

解析

每次循环都是减去2,7-2n恒不等于0,所以循环一直持续下去

考点3 C语言指针

int a[]= {1,2,3,4,5}, int *p = a, 下列表达式与 ++*p 相同的是()

  • A *++p
  • B a[0]
  • C ++a[0]
  • D *p++
展开/折叠 正确答案: C

解析

为什么java的题中老是出现C语言的题
*p指针指向第一位,也就是a[0]
++*p就是++a[0]

考点4 负数求余运算

以下代码段执行后的输出结果为

1
2
3
4
5
6
7
public class Test {
public static void main(String args[]) {
int x = -5;
int y = -12;
System.out.println(y % x);
}
}
  • A -1
  • B 2
  • C 1
  • D -2
展开/折叠 正确答案: D

解析 求余运算本质上是减法

  • 求余(取模运算)结果与被除数符号相同
  • 取余模运算都属于除法,除法就可看作减法,-12-(-5)-(-5)

考点4 构造函数的正确格式

尝试编译以下程序会产生怎么样的结果?()

1
2
3
4
5
6
7
8
9
public class MyClass {
long var;
public void MyClass(long param) { var = param; }//(1)
public static void main(String[] args) {
MyClass a, b;
a =new MyClass();//(2)
b =new MyClass(5);//(3)
}
}
  • A 编译错误将发生在(1),因为构造函数不能指定返回值
  • B 编译错误将发生在(2),因为该类没有默认构造函数
  • C 编译错误将在(3)处发生,因为该类没有构造函数,该构造函数接受一个int类型的参数
  • D 该程序将正确编译和执行
展开/折叠 正确答案: C

解析

(1)处代码,虽然方法名和类名相同,不过由于void的修饰,所以它并不是一个构造方法,只是一个普通方法。
因此这个类仍然只有默认的无参构造器,所以(2)处代码正确
(3)处代码,没有带参数构造器 所以错误。

考点5 静态成员和普通成员的执行顺序

以下代码执行后输出结果为( )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class Test
{
public static Test t1 = new Test();
{
System.out.println("blockA");
}
static
{
System.out.println("blockB");
}
public static void main(String[] args)
{
Test t2 = new Test();
}
}
  • A blockAblockBblockA
  • B blockAblockAblockB
  • C blockBblockBblockA
  • D blockBblockAblockB
展开/折叠 正确答案: A

解析

  • 静态块:用static申明,JVM加载类时执行,仅执行一次
  • 构造块:类中直接用{}定义,每一次创建对象时执行
  • 执行顺序优先级:静态块>main()>构造块>构造方法
  • 静态块按照声明的顺序执行,先执行public static Test t1 = new Test();所以先输出blockA
  • 然后执行静态块,输出blockB
  • 最后执行main方法中的Test t2 = new Test();输出blockA

考点6 String类的split方法

1
2
String str = "";
System.out.print(str.split(",").length);

输出结果为:

  • A 0
  • B 1
  • C 出现异常
展开/折叠 正确答案: B

解析

就是单纯的分片成列表,因为不含有’,‘,所以就成为[""]这样的列表

考点7 集合Collection接口子接口

以下哪些继承自Collection接口()

  • A List
  • B Set
  • C Map
  • D Array
展开/折叠 正确答案: AB

解析

考点8 Java合法标识符

下列可作为java语言标识符的是()

  • A a1
  • B $1
  • C _1
  • D 11
展开/折叠 正确答案: ABC

解析

java中标识符由

  • 字母,数字,下划线, 美元符组成
  • 首位不能为数字
  • Java关键字不能当作Java标识符