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 0 B 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 34 3.下面程序的输出结果是 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 99100 4.下面哪段代码可以通过编译并正常运行 (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,其它作参数都为false D 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 能编译并正常输出 1true C 不能通过编译 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 程序可通过编译并正常运行,结果输出10 B 程序可通过编译并正常运行,结果输出5 C 程序不能通过编译 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 分配了一个新的对象给变量b C 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.D 29.下面的程序输出(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 badbbb 30.已知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);l String s3=s1.toString(); String s4=new StringBuffer(s1).toString(); A 1 B 2 C 3 D 4 32.下面哪个方法调用时会改变原有对象(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.B B A.A C AB.AB D AB.B
评论列表
文章目录