zoukankan      html  css  js  c++  java
  • 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. 执行时抛出异常.

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


    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    MyCLI :一个支持自动补全和语法高亮的 MySQL/MariaDB 客户端
    pathlib:优雅的路径处理库
    MySQL索引连环18问
    Mysql 百万级数据迁移实战笔记
    强大的Json解析工具 Jsonpath 实战教程
    JavaScript 中的 Var,Let 和 Const 有什么区别
    【前端安全】从需求分析开始,详解前端加密与验签实践
    vue3开发企业级生鲜系统项目
    mysql随笔
    shiro相关Filter
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4866228.html
Copyright © 2011-2022 走看看