zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Educational Codeforces Round 10 C. Foe Pairs 水题
    Educational Codeforces Round 10 B. z-sort 构造
    CDOJ 1048 Bob's vector 三分
    Educational Codeforces Round 10 A. Gabriel and Caterpillar 模拟
    第14届电子科大初赛民间盗版部分题目题解
    HDU 5654 xiaoxin and his watermelon candy 离线树状数组 区间不同数的个数
    HDU 5653 Bomber Man wants to bomb an Array. dp
    HDU 5652 India and China Origins 二分+并查集
    HDU 5651 xiaoxin juju needs help 数学
    HDU 5650 so easy 数学
  • 原文地址:https://www.cnblogs.com/surong/p/2470734.html
Copyright © 2011-2022 走看看