java基础面试题答案
1、如下哪些不是java的关键字?
A)const B)NULL C) false D)this E) native
答:B
2、关于垃圾收集的哪些叙述是正确
A)程序开发者必须自己创立一个线程进行内存释放的工作
B)垃圾收集将检查并释放不在使用的内存
C)垃圾收集允许程序开发者明确指定并立即释放该内存
D)垃圾收集能够在期望的时间释放被java对象使用的内存
答:B
3、已知表示式 int m [ ] = {0,1,2,3,4,5,6};下面哪个表示式的值与数组下标量总数相等?
A)m.length() B)m.length C)m.length()+1 D)m.length-1
答:D
4、已知如下代码: public class Test { long a[] = new long [10]; public static void main(String arg[] ){ System.out.print(a[6]); } } 请问哪个语句是正确的?
A)Output is null. B)Output is 0 C)When compile, some error will occur. D)When running, some error will occur.
答:C
5、已知如下代码: public class Test { public static void main(String arg[] ) { int i = 5; do{ System.out.print(i); }while(--i>5); System.out.print(“finished”); } } 执行后的输出是什么?
A)5 B)4 C)6 D)finished
答:AD
6、已知如下代码:
switch (m) {
case 0: System.out.print(“Condition 0”);
case 1: System.out.print(“Condition 1”);
case 2: System.out.print(“Condition 2”);
case 3: System.out.print(“Condition 3”); default: System.out.print(“Other Condition ”); } 当m的值为什么时能输出“Condition 2”
A)0 B)1 C)2 D)3 E) 4 F)None
答:ABC
18、下面的哪些声明是合法的?
A)long 1 = 4990 B)int i = 4L C)float f =1.1 D)double d = 34.4 答:AD
23、给出下面代码:
public class Person{
static int arr[ ] =new int[10];
public static void main(String a [ ]){
System.out.println(arr[ 1 ]); } } 哪个选项是正确的?
A. 编译时将产生错误;
B. 编译时正确,运行时将产生错误;
C. 输出0;
D. 输出空。答:C
24、关于运算符>>和>>>描述正确的是
A. >>执行移动
B. >>执行翻转
C. >>执行有符号右移,>>>执行无符号右移
D. >>执行无符号右移,>>>执行有符号右移
答:C
26、选出Java语言中的关键词(多选)
A. NULL
B. sizeof
C. implements
D. extends
答:CD
27、现有下述代码,选择出能够打印出”Test2”的数字(多选)
switch(x){
case 1: System.out.println("Test1");
case 2:
case 3: System.out.println("Test2"); break; }
System.out.println("Test3");
A.0
B.1
C.2
D. 3
E. 4
答:CD
28、字符(char)的整型表示范围为
A. 0 . . . 32767 C. -256 . . . 255
B. 0 . . . 65535 D. -32768 . . . 32767
答:B
29、选择Java语言中的基本数据类型(多选)
A. byte
B. Integer
C. String
D. char
E. long
答:ADE
30、从下列选项中选择正确的Java表示式(多选)
A. int k=new String(“aa”);
B. String str=String(“bb”);
C. char c=74;
D. long j=8888;
答:CD
34、关于Java语言,下列描述正确的是(多选)
A. switch 不能够作用在String类型上
B. List, Set, Map都继承自Collection接口
C. Java语言支持goto语句
D. GC是垃圾收集器,程序员不用担心内存管理
答:AD
36、int[][] myArray=new int[][]{new int[]{5,6,2},new int[]{6,9,7,8,3},new int[]{3,2}}; myArray[2][2]的值是()
A. 9
B. 2
C. 6
D. 越界
答:D
37、下列描述中,那些符合Java语言的特征(多选)
A. 支持跨平台(Windows,Linux,Unix等)
B. GC(自动垃圾回收),提高了代码安全性
C. 支持类C的指针运算操作
D. 不支持与其它语言书写的程序进行通讯
答:ABD
46、给出下面代码段(多选)1、switch (m)2、{ case 0 :
System.out.println(“case 0”);
1. case 1: System.out.println(“case 1”); break;
2. case 2:
3. default : System.out.println(default”);
4. }
下列m 的哪些值将引起“default ”的输出?
A.0 B. 1 C. 2 D. 3
答:CD
48、main方法的返回类型是:
A.int B.void C.boolean D.static E. public
答:B
50、下列代码哪几行会出错
1) public void modify() {
2) int I, j, k;
3) I=100;
4) while(I>0){
5) j=I*2;
6) System.out.println(“The value of j is “ +j);
7) k=k+1;
8) I--;
9) }
10) }
A. line 4
B. line 6
C. line 7
D. line 8
答:C
53、下面正确的是
A)float f = 3.14; B)byte i = 225; C)long k = 33; D)int p[ ][ ]; 答:CD
54、下列创立数组的方法正确的是
A)int two Dim[ ][ ] = new int[4][ ]; B)int two Dim[ ][ ] = new int[ ][4]; C)int two Dim[ ][ ] = new int[4][5]; D)char a[ ] = {‘A’, ‘B’}; E)char c[ ]
= “ABC” ;
答:ACD
66、判断下列语句是否正确,如果有错误,请指出错误所在?
void foo(final int []arg){ if (arg.length > 1) arg[0] = 5; }
答:正确
81、现有1~100共一百个自然数,已随机放入一个有98个元素的数组a[98]。要求写出一个尽量简单的方案,找出没有被放入数组的那2个数,并在屏幕上打印这2个数。注意:程序不用实现自然数随机放入数组的过程。
答:
int[] b = new int[]{....存入98个随机的1~100的整数};