本帖最后由 断天涯大虾 于 2017-3-23 10:03 编辑
(一)选择题(每题5分)
(1)下面程序的运行结果是: ( )
- String str1 = "hello";
- String str2 = "he" + new String("llo");
- System.out.println(str1 == str2);
复制代码A. true B. false C. I dont know
(2) 存在使 i+1<i的数吗?()A. yes B. no C. I dont know
(3) GC线程是否为守护线程?()A. yes B. no C. I dont know
(4) volatile关键字是否能保证线程安全?()A. yes B. no C. I dont know
(5) ArrayList list = new ArrayList(20);中的list扩充几次?()A. 0 B. 1 C. 2 D. 3 E. I dont know
(6) 新建一个流对象,下面哪个选项的代码是错误的?()A. new BufferedWriter(new FileWriter("a.txt")); B. new BufferedReader(new FileInputStream("a.dat"); C. new GZIPOutputStream(new FileOutputStream("a.zip")); D. new ObjectInputStream(new FileInputStream("a.dat"));
(7) getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果()
- public void getCustomerInfo(){
- try{
- //do something that may cause an Exception
- } catch(java.io.FileNotFoundException e){
- System.out.print("FileNotFoundException");
- } catch(java.io.IOException e){
- System.out.print("IOException");
- } catch(java.lang.Exception e){
- System.out.print("Exception");
- }
- }
复制代码A. IOException B. IOExceptionException C. FileNotFoundExceptionIOException D. FileNotFoundExceptionIOExceptionException
(8) 下面代码的运行结果为()
- import java.io.*;
- import java.util.*;
- public class foo{
- public static void main(String[] args){
- String s;
- System.out.println("s=" + s);
- }
- }
复制代码A. 代码得到编译,并输出 "s=" B. 代码得到编译,并输出 "s=null" C. 由于String s没有初始化,代码不能编译通过 D. 代码得到编译,但捕获到NullPointException异常
(9) System.out.println("5"+2);的输出结果应该是()A. 52 B. 7 C. 2 D. 5
(10) 下面的方法,当输入i为2的时候返回值是多少()
- public static int getValue(int i){
- int result = 0;
- switch(i){
- case 1:
- result = result + i;
- case 2:
- result = result + i*2;
- case 3:
- result = result + i*3;
- }
- return result;
- }
复制代码A.0 B.2 C.4 D.10
(二) 简答题
(1) 下面程序能正常运行结果为?
- public static void hello(){
- System.out.println("hello");
- }
- public static void main(String[] args){
- ((NULL)null).hello();
- }
复制代码
(2) 指出下列程序运行结果- public class Example{
- String str = new String("good");
- char[] ch = {'a','b','c'};
- public static void main(String[] args){
- Example ex = new Example();
- ex.change(ex.str,ex.ch);
- System.out.println(ex.str + " and ");
- System.out.println(ex.ch);
- }
- public void change(String str ,char ch[]){
- str = "test ok";
- ch[0] = 'g';
- }
- }
复制代码
(3) 下面程序的运行结果- public class Test1{
- public static void changeStr(String str){
- str = "welcome";
- }
- public static void main(String[] args){
- String str = "1234";
- changeStr(str);
- System.out.println(str);
- }
- }
复制代码
(4) 下面程序的运行结果- public class Test2{
- static boolean foo(char c){
- System.out.println(c);
- return true;
- }
- public static void main(String[] args){
- int i = 0;
- for(foo('A'); foo('B') && (i<2); foo('C')){
- i++;
- foo('D');
- }
- }
- }
复制代码
(5) 下面程序的运行结果- class HelloA{
- public HelloA(){
- System.out.println("HelloA");
- }
- {
- System.out.println("I am A class");
- }
- static {
- System.out.println("static A");
- }
- }
- public calss HelloB extends HelloA{
- public HelloB(){
- System.out.println("HelloB");
- }
- {
- System.out.println("I am B class");
- }
- static {
- System.out.println("static B");
- }
- public static void main(String[] args){
- System.out.println("---- main start ----);
- new HelloB();
- new HelloB();
- System.out.println("---- main end ----);
- }
- }
复制代码
解答
日积月累
在泛型中,<T>和T的区别是什么呢?很多人没有回答出来。正确的答案应该是这样的:<T>是定义,T是使用,在Java中遵守先定义后使用的原则。
在泛型中,有几种分类?估计也有很多人答不出来。正确的答案是: 泛型类,泛型方法,泛型接口。
|