JAVA基础测试题班级 姓名 分数 1.下面程序的输出是什么 C public class J_Class {static int m_data=0;}public class J_Test {public static void main(String args[]) {J_Class a=new J_Class();J_Class b=new J_Class();a.m_data=1;b.m_data=2;System.out.println(a.m_data);}}A 0B 1 C 2 D 编译错误2.下面程序的输出是什么 B class J_base { public int m_data=1; public String mb_method(){ return "2"; }}public class J_Test extends J_base{public int m_data=3;public String mb_method(){return "4";}public static void main(String args[]) {J_base app=new J_Test();System.out.println(app.m_data+app.mb_method());}}A 12 B 14 C 32 D 343.下面程序的输出结果是 B public class J_Test {public static void main(String args[]) {int i = 99;mb_operate(i);System.out.println(i+100);}//int是基本数据类型,方法内的改变不会影响到方法外static void mb_operate(int i){i+=100;}}A 99 B 199 C 299 D 991004.下面哪段代码可以通过编译并正常运行 (A B c) A Character c=new Character('x');B int primitive=1234; Integer wrappendInt=new Integer(primitive);C Boolean wB=new Boolean("junk")//其中的参数除了是单词true(不分大小写)时为true,其它作参数都为falseD Long wLong=new Long("here");//以字符串作参数时,必须是数字类型的字符串5.已知:Integer a=new Integer(0);Integer b =new Integer(0);Long c=new Long(0);下面哪些表达式返回true( B D) A a==b //两个不同的对像,地址不同B a.equals(b) C a.equals(c)//类型不同 D a.equals(0)6.下面程序的输出是 (12) public class J_Test {public static void main(String args[]) {String s[]={"1","2"};mb_swap(s[0],s[1]);System.out.println(s[0]+s[1]);}static void mb_swap(String s0,String s1){//方法内的改变不会影响到方法外String t=s0;s0=s1;s1=t;}}7.下面程序的输出是 (21) public class J_Test {public static void main(String args[]) {String s[]={"1","2"};mb_swap(s);System.out.println(s[0]+s[1]);}static void mb_swap(String s[]){//数组是复合数据类型,方法内的改变会影响到方法外String t=s[0];s[0]=s[1];s[1]=t;}}8.下面程序段被执行后,s1的值是("12") ,s2的值是("1234") ,s3的值是(1234) ,b的值是(false) String s1="12";String s2=s1.concat("34");//常量连接变量为变量String s3=s1+"34";//常量连接变量为变量boolean b=(s2==s3);9.下面程序运行后s1的值为("abc") ,s2的值为("def") String s1="abc";String s2="def";s2.toUpperCase();s1.concat(s2);10.下面的程序的运行结果是a为("java"),b为("javaC") public class J_Test {public static void main(String args[]) {String a=new String("java");StringBuffer b=new StringBuffer("java");mb_method(a,b);}public static void mb_method(String s,StringBuffer t){s.replace('j', 'i');t=t.append("C");}}11.填写空白的位置,使整个表达式完整void mb_method()(throws Exception){ ( throw )new Exception("Exception i mb_mb_method");}12.下面程序输出14 public class J_Test {public static void main(String args[]){try{System.out.print("1");if(true){return;}}catch (RuntimeException e) {System.out.print("2");return;}catch (Exception e2) {System.out.print("3");return;}finally{System.out.print("4");}System.out.print("End!");}}13.下面程序输出2:0,3:4,4:4,5:4,public class J_Test {public static void main(String args[]){int i=0;try{for(i=0;i<10;i++){try{if(i%3==0){throw new Exception();}System.out.print("1:"+i+",");}catch (Exception e2) {System.out.print("2:"+i+",");i+=2;if(i%3==2)throw new Exception();return;}finally{i*=2;System.out.print("3:"+i+",");}System.out.print("End!");}}catch (Exception e2) {System.out.print("4:"+i+",");return;}finally{System.out.print("5:"+i+",");}System.out.print("End!");}}14.下面哪些语句会发生编译错误(C)A int []a;B int []b=new int[10];C int c[]=new int[];//没有确定数组大小 D int d[]=null;15.下面哪些语句会发生编译错误(A B C D)A int [10]a;//声明时不能确定大小B int [10]b=new int[5];//声明时不能确定大小C int c[10]=new int[10];//声明时不能确定大小 D int d[10]=null;//声明时不能确定大小16.下面哪些语句会发生编译错误(A B D) A int a={1,2,3,4};//a是个变量加[]B int b={2,3,3};//b是个变量,加[]C int c[]={1,3,3,5}; D int []d={2 3 4 5};没有‘,’17.下面哪些语句会发生编译错误(A B C ) A int a[]=new {1,2,3};B int []b=new [1,3,4];C int c[]=new (1,3,4);D int []d=new int[5];18.关于下面程序,哪些结论是正确的(D)public class Array {public static void main(String args[]){int a[]=new int[5];boolean b[]=new boolean[5];System.out.print(a[1]);System.out.print(b[5]);//数组越界}}A 能编译并正常输出0flase B 能编译并正常输出 1trueC 不能通过编译D 能编译,但不可运行19.下面哪些语句会发生编译错误(A B D) A double a[]=new double(3);//()改为[]B double b[][]=new double[];//后面也要是二维数组C double[]c=new double[3]; D double d[]={1.0 2.0 3.0};//没有逗号20.下面哪些语句不会发生编译错误(A E ) A String a[]={"1","2","3",null};B String b[]={"1","2",'c'};//'c'不是字符串C String c[5]=new String[5];//声明不能有大小 D String d[]=new String[2]{"1","5"};//动态初始化确定了大小之后不能又静态初始化确定大小E String e[]=new String[]{"1","2"};21.下面哪些语句会发生编译错误(A) A int a[][]=new int[][3];//没有确定一维,不能确定二维B int b[][]={{1,2},{2,3},{1,2,3}};C String s[][]=new String[2][];D String t[][]={{"Can","I"},{"help","you","?"}};22.下面哪些语句会发生编译错误(D) A int a[][]=new int[5][5]; B int [][]b=new int[5][5];C int []c[]=new int [5][5];D int [][]d=new int[25];//int [][]d=new int[25][]23.关于下面的程序,哪些结论是正确的(C)public class Array {public static void main(String args[]){int a[]=new int[5];a.length=10;//length属性是常量,不能改变它的大小,编译时发生错误System.out.println(a.length);}}A 程序可通过编译并正常运行,结果输出10B 程序可通过编译并正常运行,结果输出5C 程序不能通过编译D 程序可通过编译,但不能运行。24.假设已经定义了变量String s="string";则下列哪些语句可以通过编译(A D) A int a=s.length();B int b=s.length;//字符串只有length方法,没有length属性C char c=s[3]//没有分号,并且字符串不能同数组一样用s[3]这样的格式 D s+=3;25.假设已经定义了变量String s1="1";String s2="2";String s3="3";则下列哪些语句可以通过编译(A D)A s3=s1+s2;B s3=s1-s2;C s3=s1&s2;D s3=s1.toString();26.下面代码中将哪些选项语句插入在指定位置可以使程序输出“test”(A B C )public class Array {public static void main(String args[]){String a="java";String b="java";//指定位置{System.out.print("test");}}}A if(a==b) B if(a.equals(b)) C if(a.equalsIgnoreCase(b)) D if(a.compareTo(b)) // int compareTo(String anotherString)按字典顺序比较两个字符串 返回值为int不能作为条件语句27.已知已经定义了两个变量( A C)String s1="ja";String s2="va"; 下面哪些变量与字符串常量“java”指向同一对象 A String a="ja"+"va";//常量加常量为常量B String b=new String("java");//new 分配了一个新的对象给变量bC String c="java".toString(); D String d=s1+s2; //变量加变量为变量28.下面的程序输出(A) public class Array {public static void main(String args[]){String a=new String("A");StringBuffer b=new StringBuffer("B");mb_operate(a, b);System.out.println(a+"."+b);}static void mb_operate(String x,StringBuffer y){x=new String("C");y=new StringBuffer("D");}}A A.B B A.D C C.B D C.D29.下面的程序输出(B) public class Array {String m_string=new String("good");String m_array[]={"aaa"};public static void main(String args[]){Array array=new Array();array.mb_operate(array.m_string, array.m_array);System.out.println(array.m_string+array.m_array[0]);}public void mb_operate(String s,String []sa){s="bad";sa[0]="bbb";}}A goodaaa B goodbbb C badaaa D badbbb30.已知String s="today"; 则下面哪句会返回“day”(B ) A s.substring(2,4); B s.substring(2);C s.substring(3);D s.substring(3,5);31.下面代码共生成几个String对象(C) String s1="hello";String s2=s1.substring(2,3);lString s3=s1.toString();String s4=new StringBuffer(s1).toString();A 1 B 2C 3 D 432.下面哪个方法调用时会改变原有对象(C) A String的toUpperCase() B String的replace()C StringBuffer的reverse() D StringBuffer的length()33.下面的程序输出(A.B) public class Array {String m_string="1234";public static void main(String args[]){StringBuffer a=new StringBuffer("A");StringBuffer b=new StringBuffer("B");mb_operate(a,b);System.out.print(a+"."+b);}static void mb_operate(StringBuffer x,StringBuffer y){x.append(y);y=new StringBuffer("AB");}}A A.BB A.AC AB.ABD AB.B