您的位置:首页 > 职场人生

收录各种猥琐的Java笔试/面试题目

2012-11-23 16:27 260 查看
本文收录各种猥琐的Java笔试/面试题,一些比较容易忘记的,不定期更新。也希望大家在底下留言,贴出自己碰到或看到的各种猥琐笔试、面试题目。


J2EE基础部分

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

[java] view
plaincopy

package test;

public class Test {

public static void main(String[] args) {

int k = 0;

int ret = ++k + k++ + ++k + k;

// ret的值为多少

System.err.println(ret);

}

}

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

[java] view
plaincopy

package test;

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);

}

}

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

[java] view
plaincopy

package test;

public class Test {

public void myMethod(String str) {

System.err.println("string");

}

public void myMethod(Object obj) {

System.err.println("object");

}

public static void main(String[] args) {

Test t = new Test();

t.myMethod(null);

}

}

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

[java] view
plaincopy

package test;

import java.util.Date;

public class Test {

public static void main(String[] args) {

Date date = new Date();

System.err.println(date.getMonth() + " " + date.getDate());

}

}

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

[java] view
plaincopy

package test;

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));

}

}

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

[java] view
plaincopy

package test;

import java.io.File;

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();

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");

}

}

}

}

不要觉得很简单,最起码你要记得返回当前文件夹下的所有文件的方法是listFiles(),isDirectory别拼错了。
7、从键盘读入10个整数,然后从大到小输出。(笔试)

[java] view
plaincopy

package test;

import java.util.Arrays;

import java.util.Comparator;

import java.util.Scanner;

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));

}

}

自己手写排序算法的可以无视此题,如果是Arrays.sort()的,请注意Comparator与Comparable接口的区别,别搞混了。
8、下面代码的结果是什么?

[java] view
plaincopy

package test;

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");

}

}

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

[java] view
plaincopy

package test;

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().getSuperclass().getName());

}

}

class Base {

}

10、true or false?

[java] view
plaincopy

package test;

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));

}

}

11、输出的结果是什么?

[java] view
plaincopy

package test;

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;

}

}

}

这样呢?输出什么

[java] view
plaincopy

package test;

public class Test {

public static void main(String[] args) {

System.err.println(method());

}

public static boolean method() {

try {

return true;

} finally {

return false;

}

}

}

12、方法m1和m2有区别吗?什么区别

[java] view
plaincopy

package test;

public class Test {

public static void main(String[] args) {

}

public synchronized void m1() {

}

public static synchronized void m2() {

}

}

13、true or false?理由

[java] view
plaincopy

package test;

public class Test {

public static void main(String[] args) {

Integer i1 = 127;

Integer i2 = 127;

System.err.println(i1 == i2);

i1 = 128;

i2 = 128;

System.err.println(i1 == i2);

}

}

14、true or false?理由

[java] view
plaincopy

package test;

public class Test {

public static void main(String[] args) {

String str1 = "a";

String str2 = "a";

String str3 = new String("a");

System.err.println(str1 == str2);

System.err.println(str1 == str3);

str3 = str3.intern();

System.err.println(str1 == str3);

}

}

15、true or false?理由

[java] view
plaincopy

package test;

public class Test {

public static void main(String[] args) {

System.err.println(12 - 11.9 == 0.1);

}

}

16、以下代码输出是什么?

[java] view
plaincopy

package test;

import java.math.BigInteger;

public class Test {

public static void main(String[] args) {

BigInteger one = new BigInteger("1");

BigInteger two = new BigInteger("2");

BigInteger three = new BigInteger("3");

BigInteger sum = new BigInteger("0");

sum.add(one);

sum.add(two);

sum.add(three);

System.out.println(sum.toString());

}

}

17、输出的结果是什么?12345?根据单词排序?还是?

[java] view
plaincopy

package test;

import java.util.HashSet;

import java.util.Iterator;

import java.util.Set;

public class Test {

public static void main(String[] args) {

Set<String> set = new HashSet<String>();

set.add("one");

set.add("two");

set.add("three");

set.add("four");

set.add("five");

for (Iterator<String> it = set.iterator(); it.hasNext();) {

System.err.println(it.next());

}

}

}

18、如何迭代Map容器,别所大概是......,手写个试试?

19、以下代码输出的结果(笔试选择题)

[java] view
plaincopy

public class Test {

public static void main(String[] args) {

System.err.println(args.length);

}

}

/*

A. null B. 0 C. Test

D. Exception in thread "main" java.lang.NullPointerException

*/

20、下面为一个单例的实现代码,请指出代码中有几个错误或不合理之处,并改正。

[java] view
plaincopy

public class Test {

public Test instance = null;

public static Test getInstance() {

if (instance == null) {

instance = new Test();

return instance;

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: