`
IrenBJ
  • 浏览: 27430 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

某公司的java笔试题,来测测你的基础如何吧

    博客分类:
  • java
阅读更多

这是一套提供给中级以上程序员使用的笔试题:

1。

public class Test {

	public static boolean get() {
		try {
		       return  false;
		} finally {
		       return  true;
		}
	}
	
	public static void main(String[] args) {
		System.out.println(get());
                }
}

 

求打印结果?

2。以下哪些变量名的定义是不合法的?

String a , a.b , 0a , _a , a_ , a0 ;

 

3。

public static void main(String[] args) {
         String classPath = "java.lang.String";
         System.out.println(classPath.replaceAll(".", "/"));
}

 

求打印结果?

4。

public static void main(String[] args) {
         StringBuilder sb = new StringBuilder();
         switch(1) {
	case 1 : sb.append("Hello a");
	case 2 : sb.append("b");
	case 3 : sb.append("c");
	default : sb.append("d");
          }
          System.out.println(sb.toString());
}

 求打印结果?

5。

public class Increment {
    public static void main(String[] args) {
        int j = 0;
        for (int i = 0; i < 100; i++)
            j = j++;
        System.out.println(j);
    }
}

 

求打印结果?

6。

public class HelloGoodbye {
    public static void main(String[] args) {
        try {
            System.out.println("Hello world");
            System.exit(0);
        } finally {
            System.out.println("Goodbye world");
        }
    } 
}

 

写出打印结果并给出简单描述。

7。

import java.util.*;

public class DatingGame {
    public static void main(String[] args) {
        Calendar cal = Calendar.getInstance();
        cal.set(1999, 12, 31); // Year, Month, Day
        System.out.print(cal.get(Calendar.YEAR) + " ");

        Date d = cal.getTime();
        System.out.println(d.getDay());
    }
}

 

写出打印结果?

 

。。。。。。

总共20多个题吧,太多了,后续再加上

主要还有涉及内部类、异常处理、final方法、final域、浮点数的精度问题、集合类HashMap、HashSet的操作,泛型、包装类、char、short和int值的混合计算、静态变量和方法的初始化(类的初始化)

接口和抽象类的区别,还有写sql的,比较简单。

另外,有两个上机笔试题,上机测试是在笔试通过之后才有的流程,二选一

1。 编写一个类,将指定路径下的所有文件的名称打印出来(递归方法)

2。 给你一个文本文件,请找出文件中数据的规律,并且将指定日期范围内的数据列表抽取出来(io操要比较熟悉)

记不起来了,以上是我在机器里跑了一遍的,拿过来跟大家分享下

写了这么多,好辛苦啊,希望朋友们别抨我口水哈,欢迎投精,我会继续补充剩下的那些笔试题的。

14
12
分享到:
评论
8 楼 mingjie115 2010-06-04  
第五题
程序运行时,对象j初始化为0,
循环开始,计算 j = j++;
先对左边的j进行=(赋值运算),即j = 0;
然后右边的j进行++(自增一),即j = 1;
但要注意的是,自增一的并不是左边的j,而是右边的j,不管右边的j怎样变化,只要他没有对左边的j有赋值运算,那么j的值仍然是0。
所以循环出来之后j的值为0。
之后的循环如上所述。
7 楼 zjjgogogo 2010-06-04  
感谢楼主,小弟今日又长见识了
6 楼 DepthJava 2010-06-03  
5题  先赋值,后相加。所以相加前,一直是0
5 楼 truth315 2010-06-03  
你这题目很多都是《JAVA解惑》上面的!公司考这种题完全是在玩人,太恶心了!
4 楼 IrenBJ 2010-06-03  
将 j = j++;解析得到下面的代码段
int tmp = j;
j = j+1;
j = tmp;
你该明白了吗?帖子里这段解释也是很好理解的
   10:  iload_1      // 把0压入栈
   11:  iinc    1, 1 // 把索引为1的局部变量加1
   14:  istore_1     // 再把栈里的变量赋值给索引为1的局部变量,也就是赋值0

正确理解j++和++j的含义这道题就简单了
3 楼 anderkey 2010-06-03  
帖子里面的解释乱七八糟的,你有没有标准答案啊
2 楼 IrenBJ 2010-06-03  
飞雪无情 写道
搂住。能解释下第五道题不?

我在论坛里也发了这个讨论帖子,你可以去看看,里面有很详细的解答,呵呵http://www.iteye.com/topic/681784
1 楼 飞雪无情 2010-06-03  
搂住。能解释下第五道题不?

相关推荐

Global site tag (gtag.js) - Google Analytics