2019年10月29日_java_2
考点1 java程序命令文件名
编译java程序的命令文件是( )
- A
java.exe - B
javac.exe - C
applet.exe
展开/折叠
正确答案: B解析
javac.exe是编译功能javaCompilerjava.exe是执行程序,用于执行编译好的.class文件javadoc.exe用来制作java文档jdb.exe是java的调试器javaprof.exe是剖析工具
考点2 循环
以下代码的循环次数是
1 | public class Test { |
- 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 | public class Test { |
- A -1
- B 2
- C 1
- D -2
展开/折叠
正确答案: D解析 求余运算本质上是减法
- 求余(取模运算)结果与被除数符号相同
- 取余模运算都属于除法,除法就可看作减法,-12-(-5)-(-5)
考点4 构造函数的正确格式
尝试编译以下程序会产生怎么样的结果?()
1 | public class MyClass { |
- A 编译错误将发生在(1),因为构造函数不能指定返回值
- B 编译错误将发生在(2),因为该类没有默认构造函数
- C 编译错误将在(3)处发生,因为该类没有构造函数,该构造函数接受一个int类型的参数
- D 该程序将正确编译和执行
展开/折叠
正确答案: C解析
(1)处代码,虽然方法名和类名相同,不过由于void的修饰,所以它并不是一个构造方法,只是一个普通方法。
因此这个类仍然只有默认的无参构造器,所以(2)处代码正确
(3)处代码,没有带参数构造器 所以错误。
考点5 静态成员和普通成员的执行顺序
以下代码执行后输出结果为( )
1 | public class 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 | String str = ""; |
输出结果为:
- 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标识符