复习题 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.length6.如下定义二维数组操作错误的是()。
int a[][]={{1,2},{3}};(A ) a[0][1]=200( B) a[0].length( C) a[1][1]=100( D) a.length7. 以下数据类型存储空间最大的是(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) 1413. 用来存储键值对的容器是 ()。
(A )ArrayList( B ) LinkedList(C) HashSet( D) HashMap14、 java 中用来抛出异常的关键字是( C )。
(A) try(B) catch(C) throw(D) throws15.关于 finally块中的代码,以下说法不正确的是(A)。
(A ) try 块中的 return 语句会中断finally 块中语句的执行(B )无论 finally 块前的语句运行是否产生异常,其中的语句都会执行(C) finally 块中的语句通常中用作资源的清理- 1 -(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.以下C ollection 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.阅读程序,并写出程序运行结果22.阅读程序,并写出程序运行结果public class T21 {class TObject{static int init(){TObject(){System.out.println("A");System.out.println("A");return 0;}}void m(String s){static boolean test(int i){System.out.println("B");System.out.println("B");}return i<1;void m(int i){}System.out.println("C");static int add(int i){}System.out.println("C");void m(){return ++i;System.out.println("D");}}public static void main(String[] args) {public String toString(){for(int t=init();test(t);t=add(t)){return "E";System.out.println("D");}}}}public class T22 {}public static void main(String[] args) {- 2 -TObject obj=new TObject();void foo(){System.out.println(obj);System.out.println("F");obj.m();}obj.m(1);}obj.m("1");class B extends P{}void goo() {}System.out.println("B");答:输出结果为: D C B}23 阅读程序,并写出程序运行结果void koo(){abstract class P{System.out.println("K");P(){}System.out.println("P");}}public class T23 {abstract void goo();public static void main(String[] args) {} A a=new A();class A extends P{ a.goo();A(){ a.foo();super(); B b=new B();} b.koo();void goo() {}System.out.println("A");}}答:P A F P K24 阅读程序,并写出程序运行结果interface IT{}void t1();public void t2(int i) {void t2();System.out.println("E");}}abstract class TA implements IT{}public void t1() {public class T24 {System.out.println("A");public static void main(String[] args) { }IT obj=new TB();public void t3() {obj.t1();System.out.println("B");obj.t2();}TA aObj=(TA)obj;}aObj.t1();class TB extends TA{aObj.t3();public void t1() {TB bObj=(TB)obj;System.out.println("C");bObj.t2(100);}}public void t2() {}System.out.println("D");答:A E D C A B答:B C D C B E三、程序填空程序一 :如下程序测试Math.random 生成随机数的奇偶比率,仔细阅读程序和运行结果,补全空白处的- 2 -代码。
/**测试 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(inti=0;i<count;i++){int n=(int)(Math.random()*1000);number[i]=n;//在 number 数组中写入生成的随机数System.out.println("number["+i+"]="+number[i]);}return number; //返回生成的数组}/**计算给定数组的奇数的比率*@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行- 2 -number[99]=598奇数为 :52.0%偶数为 :48.0%程序二:以下程序是通过JDBC 读取数据表 Student 的基本操作,认真阅读程序和运行结果,补全程序的空白处。