复习题3一、选择题1.JDK提供的编译器是(B)。
(A)java.exe (B)javac.exe(C)javap.exe (D)javaw.exe2.以下作为Java程序入口的main 方法声明正确的(C)。
(A)public void main(String args[])(B)public int main(String args[])(C)public static void main(String args[])(D)public static int main(String args[])3.以下标识符错误的是(C)。
(A)Public (B)张三(C)class (D)main4.java中定义字符串String s=”pzhu”,下面操作可以取得字符串长度的是(A)。
(A)s.length() (B)s.length (C)s.size() (D)length(s)5.如下定义数组,操作正确的是(D)。
int a[]={1,2,3};(A)a[3]=100 (B)a[0].length (C)a++ (D)a.length 6.如下定义二维数组操作错误的是()。
int a[][]={{1,2},{3}};(A)a[0][1]=200 (B)a[0].length (C)a[1][1]=100 (D)a.length 7. 以下数据类型存储空间最大的是( B )。
(A)byte (B)long(C)float (D)char8. 面向对象的三大特性,不包括如下( A)。
(A)异常(B)封装(C)继承(D)多态9、关于类的定义以下说法错误(B)。
(A)类定义使用class关键字(B)每个类中必须有一个main方法(C)一个包可以包含多个类(D)java中所有类都是Object类的子类10. 关于构造方法以下说法错误的是( D)。
(A)构造方法名必须与类名一致(B)构造方法可以重载(C)构造方法是通过new来调用(D)每个类都必须编写构造方法代码11.关于继承如下说法错误的是(C)。
(A)Java是单继承的(B)通过extends来定义继承(C)所有父类方法都可以被override的(D)继承呈现的是is a的关系12. 以下代码执行的结果是( C)。
System.out.println("攀枝花学院pzhu".length());(A)编译错误(B)运行错误(C)9 (D)14 13. 用来存储键值对的容器是( )。
(A)ArrayList (B)LinkedList (C)HashSet (D)HashMap 14、java中用来抛出异常的关键字是(C)。
(A)try (B)catch (C)throw (D)throws 15.关于finally块中的代码,以下说法不正确的是(A)。
(A)try块中的return语句会中断finally块中语句的执行(B)无论finally块前的语句运行是否产生异常,其中的语句都会执行(C)finally块中的语句通常中用作资源的清理(D)try块中的System.exit(1)语句会中断finally块中语句的执行16.关于Java字符串说法错误的是( B)。
(A)Java中的字符串是常量(B)Java中的字符串不是对象(C)Java中的字符串存储在常量池中(D)一个字符串定义后的长度不可变17.关于JDBC操作数据库,以下说法不正确的()。
(A)JDBC只能操作MySQL数据库(B)JDBC中定义的Connection,Statement,ResultSet都是接口(C)JDBC操作数据库必须要有相应的实现了JDBC接口的驱动(D)JDBC可以通过将客户端的SQL传递给数据库服务器来实现数据库的操作18.以下程序代码错误的是(B)。
abstract class P{}class A extends P{}abstract class B extends P{}(A)P p=new A();(B)P p=new B();(C)A a=new A();(D)P p=new P(){void foo(){}};19.以下Collection c创建有误的是(D)。
(A)Collection c=new ArrayList();(B)Collection c=new LinkedList();(C)Collection c=new HashSet();(D)Collection c=new HashMap();20. 以下程序代码错误的是(C)。
interface IA{void f();}(A)abstract class A implements IA{} (B)class A implements IA{void f(){}}(C)class A implements IA{void f(String s){}} (D)IA a=new IA(){void f(){}}二、程序阅读21.阅读程序,并写出程序运行结果public class T21 {static int init(){System.out.println("A");return 0;}static boolean test(int i){System.out.println("B");return i<1;}static int add(int i){System.out.println("C");return ++i;}public static void main(String[] args) { for(int t=init();test(t);t=add(t)){System.out.println("D");}}}22.阅读程序,并写出程序运行结果class TObject{TObject(){System.out.println("A");}void m(String s){System.out.println("B");}void m(int i){System.out.println("C");}void m(){System.out.println("D");}public String toString(){return "E";}}public class T22 {public static void main(String[] args) { TObject obj=new TObject();System.out.println(obj);obj.m();obj.m(1);obj.m("1");}}答:输出结果为:D C B23 阅读程序,并写出程序运行结果abstract class P{P(){System.out.println("P");}abstract void goo();}class A extends P{A(){super();}void goo() {System.out.println("A");}void foo(){System.out.println("F");}}class B extends P{void goo() {System.out.println("B");}void koo(){System.out.println("K");}}public class T23 {public static void main(String[] args) {A a=new A();a.goo();a.foo();B b=new B();b.koo();}}答:P A F P K24 阅读程序,并写出程序运行结果interface IT{void t1();void t2();}abstract class TA implements IT{ public void t1() {System.out.println("A");}public void t3() {System.out.println("B");}}class TB extends TA{public void t1() {System.out.println("C");}public void t2() {System.out.println("D"); 答:B C D C B E}public void t2(int i) {System.out.println("E");}}public class T24 {public static void main(String[] args) { IT obj=new TB();obj.t1();obj.t2();TA aObj=(TA)obj;aObj.t1();aObj.t3();TB bObj=(TB)obj;bObj.t2(100);}}答:A E D C A B三、程序填空程序一:如下程序测试Math.random生成随机数的奇偶比率,仔细阅读程序和运行结果,补全空白处的代码。
/** 测试Math.random生成随机数的奇偶比率*/public class T25 {/** 生成给定数量的0到1000随机整数,并把生成的随机存入到一个int数组中* @param int count要生成的随机数量* @return int[] 生成的随机数存储数组*/int[] createArray(int count){int number[]= new int[count]; //创建长度为count的int数组for(int i=0;i<count;i++){int n=(int)(Math.random()*1000);number[i]= n;//在number数组中写入生成的随机数System.out.println("number["+i+"]="+number[i]);}return numbe r ; //返回生成的数组}/**计算给定数组的奇数的比率*@param int[] number要计算的数组*@return double 奇数的比率*/double calculateOddRate(int[] number){int count=number.length; //读取数组元素的个数,即要计算平均数的整数个数double odd=0;//奇数计数for(int n:number){if( n%2==1){//如果n是奇数,奇数计数加1odd++;}}return odd/count;}public static void main(String[] args) {T25 t=new T25();int[] number=t.createArray(100);double oddRate=t.calculateOddRate(number);System.out.println("奇数为:"+oddRate*100+"%");System.out.println("偶数为:"+(1-oddRate)*100+"%");}}运行结果:number[0]=907…..//此处省略98行number[99]=598奇数为:52.0%偶数为:48.0%程序二:以下程序是通过JDBC读取数据表Student的基本操作,认真阅读程序和运行结果,补全程序的空白处。