JAVA基础测试题班级 姓名 分数 一、选择题1.下面程序的运行结果是 12int i=0;while(true){if(i++>10)break;System.out.println(i);}2.下面程序的运行结果是 8int a=2;switch(a){case 1: a+=1;break;case 2: a+=2;case 3: a+=3; break;case 4: a+=4; break;default : a=0;}System.out.println(a);}3.下面程序的运行结果是 A B D C B D C B public class J_Test {static boolean mb_fun(char c){System.out.println(c);return true;}public static void main(String[] args) {int i=0;for(mb_fun('A');mb_fun('B')&&(i<2);mb_fun('C')){i++;mb_fun('D');}}}4.下面哪些单词不是JAVA的关键字( A D )A sizeof B abstract C null D String5.下面哪个语句不会产生编译错误( C )A float a=2.0; B char c="a";C byte b=25; D boolean d=null;6.下面哪些语句可以通过编译( A C D )A float a=1; B float b=1.0; C float c=2e1f; D float d=0x1234;7.下面程序的运行结果是 ( D ) int a=3, b=1;if(a==b)System.out.println("a="+a);A a=1 B a=3 C 编译错误 D 正常运行但没有输出8.下面程序的运行结果是 B int a=1,b=2;int c=(a+b>3?a++:++b);A a=2,b=3 B a=1,b=3 C a=1,b=2 D c=false9.下面程序的运行结果 cpublic class J_Test { public static int mb_fun(int c){return (c%2);}public static void main(String[] args) {if(mb_fun(3))System.out.println("1");else System.out.println("2");}}A 1 B 2 C 编译错误 D 运行时错误10.当整数变量值为多少时,会输出" message 2" B C D switch(i){Case1: System.out.println("Message1");case 2: Case3: System.out.println("Message2");break;}A 0 B 1 C 2 D 3 E 411.下面程序的运行结果,哪个是正确的 A byte b=1;while(++b>0);System.out.println("LOOP");A 运行程序将会进入死循环导致无输出B 每运行一次程序则输出一次LOOP并退出C 每运行一次程序,会输出多次LOOPD 程序中含有编译错误12.写出下面程序的运行结果 J_SuperClass J_SubClass public class J_SuperClass {J_SuperClass(){System.out.println("J_SuperClass");}}Class J_SubClass extends J_SuperClass{J_SubClass(){System.out.println("J_SubClass");}Publicstaticvoidmain(String args[]){new J_SubClass();}}13.写出下面程序的运行结果 Testpublic class J_base {public void mb_method(){System.out.println("base");}}Public class J_Test extends J_base{public void mb_method(){System.out.println("Test");}publicstaticvoid main(String[] args) {Object a=new J_Test();((J_base)a).mb_method();}}14.下面的程序输出是: J_Test::mb_method J_Test::mb_methodStatic J_Test::mb_method J_Test::mb_methodStaticpublic class J_SuperClass{void mb_method(){System.out.println("J_SuperClass::mb_method");}static void mb_methodStatic(){ System.out.println("J_SuperClass::mb_methodStatic");}} publicclassJ_Testextends J_SuperClass{void mb_method(){System.out.println("J_Test::mb_method");}static void mb_methodStatic(){ System.out.println("J_Test::mb_methodStatic");}Publicstaticvoid main(String args[]){J_SuperClass a=new J_Test();a.mb_method();a.mb_methodStatic();J_Test b=new J_Test();b.mb_method();b.mb_methodStatic();}}15.下面程序输出的结果: 编译进出错public class J_Test{static int m_data =0;public int mb_method(){m_data++;return m_data;}public static void main(String args[]){J_Test a=new J_Test();J_Test b=new J_Test();J_Test c=new J_Test();a.mb_method();b.mb_method();c.mb_method();int i=a.mb_method();System.out.println(i);}}16.关于下面程序,哪些结论是正确的 public class J_Test{public J_Test(){System.out.println("2");}public static void main(String args[]){J_Test s=new J_Test();s.J_Test();System.out.print("1");}}A 程序可以通过编译并正常运行,结果输出21;B 程序可以通过编译并正常运行,结果输出221C 程序无法通过编译D 程序可以通过编译,但无法正常运行17.关于下面程序,哪些结论是正确的 Cpublic class J_Super {public int m_dataSuper;public J_Super(int d) {m_dataSuper = d;}}PublicclassJ_Testextends J_Super {public int m_data;public J_Test(int ds, int d) {m_data = d;super(ds);}public static void main(String args[]) {J_Test s = new J_Test(2, 3);System.out.println(s.m_data + s.m_dataSuper);}}A 程序可以通过编译度正常运行,输出5B 程序可以通过编译并正常运行,输出23C 程序无法通过编译,没有输出D 程序可以通过编译,但无法正常运行18.关于下面的程序,哪些结论是正确的 D public class J_Super {public J_Super() {System.out.println("1");}}public class J_Sub extends J_Super {public J_Sub() {System.out.println("2");}}public class J_Test extends J_Sub{public J_Test (){super.super();System.out.println("3");}public static void main(String args[]) {J_Test s = new J_Test();}}A 程序可以编译并正常运行,结果为123B 程序可以编译并正常运行,结果为13C 程序可以编译并正常运行,结果为213D 程序无法编译19.关于下面程序的结论,哪些结论是正确的 C class J_SubClass extends J_Test{}public class J_Test{J_Test(int i) {System.out.println(i);}public static void main(String args[]){J_SubClass a=new J_SubClass();}}A 不能通过编译,因为类J_Test没有定义无参的构造方法B 不能通过编译,因为类J_SubClass没有定义无参的构造方法C 不能通过编译,没有实现J_SubClass(int i)构造方法D 可以成功通过编译20.下面的程序输出什么 A public class J_Test{int m_i=2;String m_s=null;public J_Test() {m_i=3;m_s="constructor";}public static void main(String args[]){J_Test app=new J_Test();System.out.println(app.m_i+app.m_s);}}A 3null B 3constructor C 2constructor D 2null21. 关于JAVA的垃圾回收机制,下面哪些结论是正确的 B A 程序可以任意指定释放内存的时间B JAVA程序不能依赖于垃圾回收的时间或者顺序C 程序可明确地标识某个局部变量的引用不再被使用D 程序可以显式地立即释放对象占有的内存22.下面程序的运行结果正确的是 Bclass J_Class {public int m_data=3;}public class J_Test{public static void main(String args[]){Object a=(Object)new J_Class();J_Class b=(J_Class)a;System.out.println("data="+b.m_data);}}A 能编译,结果输出data=3B 不能编译C Object a=(Object)newJ_Class();会抛出一个异常D J_Class b=(J_Class)a会抛出一个异常23.关于下面程序,哪个结论是正确的 Bclass J_SuperClass {}public class J_SubClass extends J_SuperClass{public static void main(String args[]){J_SuperClass a=new J_SuperClass();J_SubClass b=new J_SubClass();b=(J_SubClass)a;}}A 无法通过编译,因为没有构造方法B 可以通过编译,但在运行时将出错C 可以通过编译,也可以正常运行D 无法通过编译,b=(J_SubClass)a错误24.下面程序在指定位置插入哪句会导致程序输出“sub” class J_base{}class J_SubClass extends J_base{public String mb_getString(){return "sub";}public static void main(String args[]){J_base app=new J_SubClass();//插入需要的语句}}A System.out.println(app.mb_getString());B System.out.println((J_base)app.mb_getString());C System.out.println((J_SubClass)app.mb_getString());D System.out.println(((J_SubClass)app).mb_getString());25.下面程序在指定位置插入哪句会导致程序输出“sub” D class J_base{public String mb_getString(){return "base";}}class J_SubClass extends J_base{public String mb_getString(){return "sub";}public static void main(String args[]){J_base app=new J_SubClass();//插入需要的语句}}A System.out.println(app.mb_getString());B System.out.println((J_base)app.mb_getString());C System.out.println((J_SubClass)app.mb_getString());D System.out.println(((J_SubClass)app).mb_getString());26.下面程序的正确结论是 class J_base{}class J_SubClass extends J_base{public String mb_getString(){return "sub";}public static void main(String args[]){J_SubClass app=(J_SubClass)new J_base();System.out.println(((J_SubClass)app).mb_getString());}}A 发生编译错误B 能编译但不能运行C 能编译能运行,输出subD ((J_SubClass)app).mb_getString() 是不正确的语法27.下面程序的输出结果是 class J_base{public int m_data=5;public void mb_print(){System.out.print(m_data);}}class J_SubClass extends J_base{public int m_data=2;public void mb_print(){System.out.print(m_data);}public static void main(String args[]){J_base app=new J_SubClass();app.mb_print();System.out.println(app.m_data);}}A 22 B 55 C 25 D 5228.下面哪些方法置于指定位置会导致编译错误 public class J_Super {public float getNum(){return 3.0f;}}public class J_Sub extends J_Super{//指定位置}A public float getNum(){return 4.0f;}B public void getNum(){}C public void getNum(double d){}D public double getNum(float d){return 4.0d;}29.已知字母a和b对应的数值分别是97和98,关于下面程序哪些选项是正确 public class J_Test {static char m_name;static int m_age;public static void mb_setData(char n){m_name=n;}public static void mb_setData(int age){m_age=age;}public static void main(String[] args) {mb_setData((int)'a');mb_setData((char)98);System.out.println(m_name+" "+m_age);}}A 结果输出 a 98 B 结果输出 b 97 C 结果输出 b 98 D 结果输出a 9730.下面程序哪些结论是正确的 public class J_Test {static short m_index;static int m_age;public static void mb_setData(short n){m_index=n;}public static void mb_setData(int age){m_age=age;}public static void main(String[] args) {mb_setData(98);System.out.println(m_index+" "+m_age);}}A 结果输出 98 0 B结果输出0 98C 结果输出 0 0 D 结果输出98 98E 程序编译错误31.下面程序哪些结论是正确的 public class J_Test {static short m_index;static int m_age;public static void mb_setData(short n){m_index=n;}public static void main(String[] args) {mb_setData(98);System.out.println(m_index+" "+m_age);}}A 结果输出 98 0 B结果输出0 98C 结果输出 0 0 D 结果输出98 98E 程序编译错误