Java笔试题1

1. 下面的代码运行后,将输出什么结果?  

		String s1 = new String("Test");
		String s2 = new String("Test");
		if (s1 == s2)
			System.out.println("Same");
		if (s1.equals(s2))
			System.out.println("Equals");

A. Same     Equals  B.Same   C. Equals   D. 编译错误

代码分析:==是比较引用s1和s2本身的值,equals()方法是比较s1和s2所关联的String对象的内容


2. 如下代码 :

		int i =3; 
		System.out.print((i++)+(++i)-((++i)*(++i)));

执行的结果是 
A.-33  B.-34  C.-35 D.-36 

代码分析:

//************等同于如下代码*******************
		
		i = 3;
		
		int a = i++;
		//此时a=3, i=4
		int b = ++i;
		//此时b=5, i=5
		int c = ++i;
		//此时c=6, i=6;
		int d = ++i;
		//此时d=7, i=7
		
		int m = a + b - (c * d);
		//m = 3 + 5 - (6 * 7); 
		
		System.out.println(m);
		//****************************************


3. 如下代码:  

public static void main(String args[]) {
		System.out.println("value = " + switchIt(4));
	}

	public static int switchIt(int x) {
		int j = 1;
		switch (x) {
		case 1:
			j++;
		case 2:
			j++;
		case 3:
			j++;
		case 4:
			j++;
		case 5:
			j++;
		default:
			j++;
		}
		return j + x;
	}

输出结果是什么? 

 A. value = 3   B. value = 4    C. value = 5  D. value = 6   E. value = 7    F. value = 8  

代码分析:由于case 4后面没有写break语句,所以j++会执行3次,最后j=4,所以value=8


4.如下代码:  

	public void test(int x) {
		int odd = x % 2;
		if (odd) {
			System.out.println("odd");
		} else {
			System.out.print("even");
		}
	}
A. 编译失败.     B. "odd" 永远被输出.   C. "even" 永远被输出  D. "odd" 输出x的值,   E. "even" 输出x的值

代码分析:if的条件是一个boolean类型的值,所以这个地方写int类型的值会报错


5.下面程序输出结果 

	public static void main(String[] args) {
		try {
			badMethod();
			System.out.print("A");
		} catch (Exception ex) {
			System.out.print("C");
		} finally {
			System.out.print("B");
		}
		System.out.print("D");
	}

	public static void badMethod() throws Exception {
		throw new Exception();
	}

A.ABCD   B. 编译失败.   C. 显示C,退出程序.  D. 显示B,C,退出程序.    E. 显示CBD,退出程序. 

代码分析:try块当中,发生异常的语句之后的代码不会执行,发生异常后,代码会执行到catch块中,finally块中的代码无论什么情况都会执行。


6.下面代码 :

public class Test6 extends Base {

	public static void main(String[] args) {
		new Test6();
		new Base();
	}
}

class Base {
	Base() {
		System.out.print("Base");
	}
}
结果是什么? 

A. Base  B. BaseBase C. 编译失败. D. 代码运行但没有输出. E. 运行时抛出异常.

代码分析:子类构造器中会自动的去调用父类中无参构造器。


你可能感兴趣的:(Java笔试题1)