• Java笔试/面试题目


    1、运算符优先级问题,下面代码的结果是多少?(笔试)

    public class Test {
        public static void main(String[] args) {
            int k = 0;
            int ret = ++k + k++ + ++k + k;
            // ret的值为多少
            System.err.println(ret);
        }
    }

    ret == 8

    ret == 1 + 1 + 3 + 3, K值不同;(栈空间)

    2、运算符问题,下面代码分别输出什么?(笔试)

    public class Test {
        public static void main(String[] args) {
            int i1 = 10, i2 = 10;
            System.err.println("i1 + i2 = " + i1 + i2);
            System.err.println("i1 - i2 = " + (i1 - i2));
            System.err.println("i1 * i2 = " + i1 * i2);
            System.err.println("i1 / i2 = " + i1 / i2);
        }
    }
    i1 + i2 = 1010  (优先级)
    i1 - i2 = 0
    i1 * i2 = 100
    i1 / i2 = 1

    3、下面代码的结果是什么?还是抛出异常?(笔试)

    public class Test {
        
        public void myMethod(String str) {
            System.err.println("string");    // str == "null"
        }
        
        public void myMethod(Object obj) {
            System.err.println("object");
        }
        
        public static void main(String[] args) {
            Test t = new Test();
            t.myMethod(null);   // null is not a instance of "Object", it's a null type;
                    // The null reference can always be cast to any reference type } }

    string

    4、假设今天是9月8日,下面代码输出什么?(笔试)

    public class Test {
    
        public static void main(String[] args) {
            Date date = new Date();
            System.err.println(date.getMonth() + " " + date.getDate());
        }
    }

    ?? 8 8

    5、下面代码的输出结果是什么?

    public class Test {
    
        public static void main(String[] args) {
            double val = 11.5;
            System.err.println(Math.round(val));
            System.err.println(Math.floor(val));
            System.err.println(Math.ceil(val));
        }
    }

    12
    11.0
    12.0

    6、编程输出一个目录下的所有目录及文件名称,目录之间用tab。(笔试)

    public class Test {
    
        public static void main(String[] args) {
            new Test().read("D:/test", "");
        }
        
        public void read(String path, String tab) {
            File file = new File(path);
            File[] childFiles = file.listFiles();   //返回当前文件夹下的所有文件的方法是listFiles()
            for (int i = 0; childFiles != null && i < childFiles.length; i++) {
                System.err.println(tab + childFiles[i].getName());
                if (childFiles[i].isDirectory()) {
                    read(childFiles[i].getPath(), tab + "\t");
                }
            }
        }
    }

    7、从键盘读入10个整数,然后从大到小输出。(笔试)

    public class Test {
    
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            // 注意这里的数组,不是int的
            Integer[] arr = new Integer[10];
            for (int i = 0; i < 10; i++) {
                arr[i] = in.nextInt();
            }
            Arrays.sort(arr, new Comparator<Integer>() {
                @Override
                public int compare(Integer o1, Integer o2) {
                    if (o1 > o2) return -1;
                    if (o1 < o2) return 1;
                    return 0;
                }
                
            });
            System.err.println(Arrays.toString(arr));
        }
        
    }

    8、下面代码的结果是什么?

    public class Test extends Base {
    
        public static void main(String[] args) {
            Base b = new Test();
            b.method();
            
            Test t = new Test();
            t.method();
        }
    
        @Override
        public void method() {
            System.err.println("test");
        }
        
    }
    
    class Base {
        public void method() throws InterruptedException {
            System.err.println("base");
        }
    }

    test
    test

    9、以下代码的结果是什么?

    public class Test extends Base {
    
        public static void main(String[] args) {
            new Test().method();
        }
    
        public void method() {
            System.err.println(super.getClass().getName());
            System.err.println(this.getClass().getName());
            
            System.err.println(super.getClass().getSuperclass().getName());
            System.err.println(this.getClass().getSuperclass().getName()); } }
    class Base { }

    CheckTest.Test
    CheckTest.Test
    CheckTest.Base
    CheckTest.Base

    10、true or false?

    public class Test {
    
        public static void main(String[] args) {
            String str1 = new String("abc");
            String str2 = new String("abc");
            System.err.println(str1.equals(str2));
            
            StringBuffer sb1 = new StringBuffer("abc");
            StringBuffer sb2 = new StringBuffer("abc");
            System.err.println(sb1.equals(sb2));
        }
    }

    true
    false

    11、输出的结果是什么?

    public class Test {
    
        public static void main(String[] args) {
            System.err.println(new Test().method1());
            System.err.println(new Test().method2());
        }
        
        public int method1() {
            int x = 1;
            try {
                return x;
            } finally {
                ++x;
            }
        }
        
        public int method2() {
            int x = 1;
            try {
                return x;
            } finally {
                return ++x;
            }
        }
    }

    1   (暂时无法解释.....)
    2

  • 相关阅读:
    asp读书笔记(二)内置对象
    网上收集的关于iframe的自适应高度代码js的
    第一遇到地震,虽然小点
    给网友写的控制页面元素高度的代码(js)
    给用户控件添加可枚举的属性
    标记(Tagging)能给网站带来的7大益处
    代码最重要的读者不再是编译器、解释器或者电脑,而是人!
    亚洲超大数据库会议(XLDB Asia 2012)
    每年15万美元!这是开发人员解决构造问题的总成本!
    华章IT图书书讯(2012年第7期)
  • 原文地址:https://www.cnblogs.com/surong/p/2470734.html
Copyright © 2020-2023  润新知