河南财大成教《JAVA面向对象设计》高起专原题及答案

后沟二蛋 发表于 2024-11-26 23:54:41|来自:中国 | 显示全部楼层 |阅读模式

河南财大成教《JAVA面向对象设计》高起专原题及答案 图1

 河南财大成教《JAVA面向对象设计》高起专原题及答案  图1

1、下面关于Java语言的描述中,哪些是正确的( )
A.Java程序运行时,需要将后缀名为.java的源文件进行编译。
B.Java虚拟器不可以解释执行.class文件。
C.Java程序是由操作系统负责解释执行的。
D.Java程序运行时,必须经过编译和解析两个步骤。
答案:A

2、以下关于三元运算符的说法中,正确的是()
A.三元运算符第一个表达式的结果必须是boolean类型值。
B.三元运算符第一个表达式的结果可以是任意类型的值。
C.三元运算符只能得到基本类型的结果。
D.以上说法都不对。
答案:A

3、Java提供了4种访问级别,以下控制级别由小到大依次列出正确的是()
A.private、default、protected public
B.default、private、protected public
C.protected、default、private、public
D.protected、private、default、public
答案:A

4、关键字( )可以抛出异常?
A.transient
B.throws
C.throw
D.static
答案:C

5、下列语句片段
int a=10, b=4,c=20,d=6;
System.out.printIn(a++*b+c*--d);
结果为( )
A.144
B.28
C.140
D.不能执行
答案:C

6、下列选项中,按照箭头方向,不可以进行自动类型转换的是( )
A.byte→int
B.int→long
C.double→long
D.short→int
答案:C

7、下列程序的运行结果是
class Demo{
  private String name;
  Demo(String name){this.name=name;}
  private static void show(){
          System.out.printIn(name);
   }
   public static void main(String[] args){
         Demo d = new Demo("lisa");
         d.show();
   }
}
A.输出lisa
B.输出null
C.输出name
D.编译失败,无法从静态上下文中引用非静态变量name
答案:D

8、下列关于JDK和JRE的说法中,错误的是( )
A.JDK是java开发核心组件,是用来编译解释java程序的核心组件
B.JDK包括Java编译器、Java文档生成工具、Java打包工具等
C.JRE是个单独的软件,所以安装JDK后,还需要单独安装JRE
D.JRE是java运行环境,用来支持java程序的运行
答案:C

9、有一个类A,以下为其构造函数的声明,其中正确的是(  )
A.void A(int x){...}
B.A(int x){...}
C.a(int x){...}
D.void a(int x){...}
答案:B

10、方法内的变量:(  )
A.一定在方法内所有位置可见  
B.可能在方法内的局部可见
C.可以在方法外可见      
D.方法外也可用
答案:B

11、下列选项中,不属于比较运算符的是( )
A.=
B.==
C.<
D.<=
答案:A

12、下面哪种不是Java的数据类型( )
A.基本类型
B.数组类型
C.类
D.界面类型
答案:D

13、用abstract定义的类( )
A.可以被实例化
B.不能派生子类
C.不能被继承
D.只能被继承
答案:D

14、在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。
A.try子句
B.catch子句
C.finally子句
D.throw子句
答案:C

15、下面选项中,哪个类不是Object的子类?()
A.String类
B.System类
C.Math类
D.int
答案:D

16、下列选项中,关于类的继承说法正确的是( )
A.一个类只能有一个直接父类
B.多个类可以继承一个父类
C.在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类
D.Java允许多重继承
答案:ABC

17、throws的作用:(  )
A.表示方法可能会抛出异常   
B.表示后面是方法的输出量
C.方法的标志,每个方法都必须有
D.没有意义
答案:A

18、对象使用时,下面描述错误的是( )
A.通过“.”运算符调用成员变量和方法
B.通过成员变量的访问权限设定限制自身对这些变量方法的调用
C.将一个对象申明为类的成员时,必须在使用前为其分配内存
D.在方法中使用对象作为参数时,采用引用调用
答案:B

19、关于super的说法正确的是:
A.是指当前对象的内存地址
B.是指当前对象的父类对象的内存地址
C.是指当前对象的父类
D.可以用在main()方法中
答案:C

20、下列代码中 if(x>0) {System.out.println(“first”);} else if(x>-3) {System.out.println(“second”);} else {System.out.println(“third”);} 要求打印字符串为“second”时,x的取值范围是(  )
A.x<=0并且x>-3
B.x>0
C. x>-3
D.x<=-3
答案:A

21、下列选项中,不属于Java中关键字的是( )
A.const
B.false
C.final
D.try
答案:A

22、在Java中,实现用户界面功能的包是()
A.java.io
B.java.lang
C.java.util
D.java.aw
答案:D

23、如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( )
A.public
B.private
C.protected
D.transient
答案:C

24、对于已经被定义过可能抛出例外的语句,在编程时:(  )
A.必须使用try/catch语句处理例外,或用throws将其抛出
B.如果程序错误,必须使用 try/catch语句处理例外
C.可以置之不理
D.只能使用try/catch语句处理
答案:A

25、字符流与字节流的区别在于  (  )
A.前者带有缓冲,后者没有
B.前者是块读写,后者是字节读写
C.二者没有区别,可以互换使用
D.每次读写的字节数不同
答案:D

26、下列关键字中,用于创建类的实例对象的是( )
A.class
B.new
C.private
D.void
答案:B

27、请阅读下面的程序片段
int x=1, y=1;
if(x++==2&++y==2){
        x=7;
}
System.out.println("x="+x+",y="+y)
下列选项中,哪一个是程序的运行结果( )
A.x=1 , y=1
B.x=7, y=2
C.x=7, y=1
D.x=2 , y=2
答案:D

28、声明一个数组,_____ a = new String[]{"张三", "tom"}; 横线处中应该填写的内容是()
A.int
B.double
C.String[]
D.String
答案:C

29、声明一个数组,【 】 a = new String[]{};【 】中应该填写的内容是()
A.int
B.double
C.String[]
D.String
答案:C

30、下列叙述中,正确的是()
A.声明变量时必须指定一个类型
B.Java认为变量number与Number相同
C.Java中唯一的注释方式是"//"
D.源文件中public类可以有0或多个
答案:A

31、下列选项中关于二维数组的定义,错误的是()
A.int[][]arr = new int[][2];
B.int[][]arr = new int[1][2];
C.int[][]arr = new int[2][];
D.int[][]arr = {{1},{2,3},{4,5,6}};
答案:A

32、java里面表示字符串的类有两种:String和( )。
A.Buffer
B.StringBuffer
C.DataBuffer
D.BufferString
答案:B

33、在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。
A.try子句
B.catch子句
C.finally子句
D.throw子句
答案:C

34、在JDK安装目录下,用于存放可执行程序的文件夹是()
A.bin
B.jre
C.lib
D.db
答案:A

35、下列关于父类方法重写的描述中,错误的是()
A.方法重写时,子类的权限修饰符必须大于或者等于父类的权限修饰符
B.子类重写父类方法时,重写的方法名、参数列表以及返回值类型必须和父类保持一致
C.方法重写的前提是必须存在着继承关系。
D.子类继承父类后,可以重写父类定义的所有方法
答案:D

36、下列关键字中,哪个不能修饰接口中的成员变量?()
A.public
B.static
C.final
D.private
答案:D

37、下列选项中,哪些选项用于构成JDK开发环境( )
A.Java运行工具
B.Java编译工具
C.Java打包工具
D.Java文档生成工具
答案:ABCD

38、下面关于构造方法的调用,正确的是()
A.构造方法在类定义的时候被调用
B.构造方法在创建对象的时候被调用
C.构造方法在调用对象方法时被调用
D.构造方法在使用对象的变量时被调用
答案:B



阶段练习-作业1


一、 单选
1、 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A.java
B.class
C.html
D.exe
答案:B

2、 Java程序的执行过程中用到一套JDK工具,其中java.exe是指( )
A.Java文档生成器
B.Java解释器
C.Java编译器
D.Java类分解器
答案:C

3、 Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点(  )
A.安全性
B.多线程
C.跨平台
D.可移植
答案:B

4、 Java编程所必须的默认引用包为( )
A.java.sys包
B.java.lang包
C.java.new包
D.以上都不是
答案:D

阶段练习-作业2

一、 单选

1、在Java中,属于整数类型变量的是( )
A.single
B.double
C.byte
D.char
答案:B

2、下列语句片段
        int a=10,b=4,c=20,d=6;
        System.out.printIn(a++*b+c*--d)
结果为()
A.144
B.28
C.140
D.不能执行
答案:C

3、下列语句片段:
int a=-67,b=116,c=78;
int d=~a | b&c;
System.out.printIn(d);  的结果为(  )
A.70
B.67
C.78
D.56
答案:A

4、给出下面代码:
        public class test{
        static int a[]=new a[10];
        public static void main(String args[]){
        System.out.printIn(arr[10]);
        }
        }
A.编译时将产生错误
B.编译时正确,运行时将产生错误;
C.输出零;
D.输出空。
答案:A

5、下面哪些选项是正确的main方法说明? ( )
A.public main(String args[])
B.public static void main(String args[])
C.private static void main(String args[])
D.void main()
答案:B

6、System类在哪个包中( )
A.javA.util
B.java.io
C.java.awt
D.java.lang
答案:D

7、下列代码哪几行会出错:(  )
1)publiv void modify(){
2)int I,j,k;
3)I=100;
4)while(I>0){
5)j=I*2;
6)System.out.printIn("This value ofj is" + j)
7)k=k+1;
8)I--;
9)}
10)}
A.line 1
B.line 6
C.line 7   
D.line 8
答案:A

阶段练习-作业3

一、 单选
1、 下列关于for循环和while循环的说法中哪个是正确的(  )
A.while循环能实现的操作,for循环也都能实现
B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C.两种循环任何时候都可替换
D.两种循环结构中都必须有循环体,循环体不能为空
答案:D

2、 在Java中,不属于整数类型变量的是( )
A.double
B.long
C.int
D.byte
答案:D

3、 Java变量中,以下不属于复合类型的数据类型是( )
A.类
B.字符型
C.数组型
D.接口
答案:B

4、 JAVA程序经常用到“递归”,“递归”的基本思想是( )
A.“让别人反复调用自己”      
B.“自己反复调用别人”
C.“自己反复调用自己”       
D.以上说法都不对
答案:B

二、 多选
5、判断下列标识符是正确,答案写在()。(多选)
A.Java_proc
B.科学家
C._bit
D.5job
E.t.45
F.%tools
G.100.8
H.name
答案:ABCH

6、Math类是标准的数学类,它提供了一些基本数学运算的方法()。(多选)
A.绝对值abs()
B.指数运算exp()
C.对数运算log()
D.平方根sqrt()
E.三角函数sin(),cos(),tan()
F.求最大值max()、求最小值min()
G.求乘方pow()
答案:ABCDEFG

阶段练习-作业5

一、 单选
1、对象使用时,下面描述错误的是( )
A.通过“.”运算符调用成员变量和方法
B.通过成员变量的访问权限设定限制自身对这些变量方法的调用
C.将一个对象申明为类的成员时,必须在使用前为其分配内存
D.在方法中使用对象作为参数时,采用引用调用
答案:B

2、定义一个名为“MyClass”的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:( )
A.private class MyClass extends Object
B.class MyClass extends Object
C.public class MyClass
D.private class MyClass extends Object
答案:C

3、Java中访问限定符不包括( )
A.public
B.private
C.default
D.final
答案:D

4、构造方法何时被调用( )
A.类定义时
B.创建对象时
C.调用对象方法时
D.使用对象的变量时
答案:B

5、如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( )
A.public
B.private
C.protected
D.transient
答案:C

阶段练习-作业7

1、class Value{
        public int i = 15;
}
public class Test{
        public static void main(Sting argv[]){
        Test t = new Test( );
        t.first( );
        }
}
public  void first(){
        int i=5;
        Value v=new Value();
        v.i =25;
        second(v,i);
        System.out.println(v.i);
}
public  void second(Value v,int i){
        i=0;
        v.i =20;
        Value val = new Value();
        v = val;
        System.out.println(v.i + "" + i);
}
A.15 0 20
B.15 0 15
C.20 0 20
D.0 15 20
答案:A

2、public class static{
        static{
        int x=5;
        }
        static int x,y;
        public static void main(Sting args[]){
        x--;
        myMethod();
        System.out.println(x + y + ++x);
}
        public  static void myMethod(){
        y=x++ + ++x;
        }
}
A.编译错误
B.输出1
C.输出2
D.输出3
答案:D

3、class MyParent {
        int x, y;
        MyParent(int x, int y){
                this.x = x;
                this.y = y;
        }
        public int addMe(int x, int y){
                return this.x+x+ y+ this.y;
        }
        public int addMe(MyParent myPar) {
                return addMe(myPar x, myPar.y);
        }
}
class MyChild extends MyParent{
        int z;
        MyChild (int x, int y, int z){
                super(x,y);
                this.z = z;
        }
        public int addMe(int x. int y, int z){
                retuin this.x+x+ this.y+ y+ this.z + z:
        }
        public int addMe(Mychild mychi){
                return addMe(myChi.x, myChi.y, myChi .z);
        }
        public int addMe(int x, int y){
                return thisx + x+ this.y+ y;
        }
}
public class MySomeOne {
        public static void main(String args[]){
                MyChild mychi=new Mvchild(10,20,30);
                MyParent myPar = new MyParent(10,20);
                int x=myChi.addMe(10,20,30);
                int y= myChi addMe(mychi);
                int z= myPar.addMe(myPar);
                System.out.println(x+y+z);
}
A.300
B.240
C.120
D.180
答案:A

阶段练习-作业8

1、class MyThread extends Thread {
        public void run(){
                System.out.printin("MyThread: run()");
        }
        public void start() {
                System.out.println("MyThread: start()");
        }
class MyRunnable implements Runnable {
        public void run(){
                System.out.println("MyRunnable: run()");
        }
        public void start() {
                System.out.println("MyRunnable: start()");
        }
}
public class Mylest {
        public static void main(String args[]){
                MyThread myThread = new MyThread();
                MyRunnable myRunnable = new MyRunnable();
                Thread thread = new Thread(myRunnable);
                my Thread.start();
                thread.start();
        }
}
A.打印MyThread: start() 后面跟 MyRunnable: run()
B.打印MyThread: run() 后面跟MyRunnable: start()
C.打印MyThread: start() 后面跟MyRunnable: start()
D.打印MyThread: run() 后面跟MyRunnable: run()
答案:A

2、// 文件名:SuperclassX.java
package packageX;
public class SuperclassX{
        protected void superclassMethodX(){}
                int superclassVarX;
}
//文件名:Subclass Y.java
1.package packagex packageY;
2.
3.public class SubclassY extends SuperclassX
4.{
5.        SuperclassX objX = new SubclassY();
6.        SubclassY objY=new SubclassY();
7.        void subclasslMethodY()
8.        {
9.                objY.superclassMethodx();
10.                int i;
11.                i= objY.superclass VarX;
12.    }
12. }
A.第5行编译错
B.第9行编译错
C.第11行意外
D.都不是
答案:D

3、程序段如下:
1.class MyClass
2.{
3.void myMethod(int i) {System.out.printn("int version");}
4.void myMethod(string s){System.out.println("String version"');}
5.public static void main(String args[])
6.{
7.        MyClass obj= new MyClass();
8.        char ch ='c';
9.        obj.myMethod(ch);
10.}
11.}
A.第四行编译出错
B.第九行抛出例外
C.输出结果:int version
D.输出结果:String version
答案:C

4、publie class ThrowsDemo {
        static void throwMethodO {
                System.out.println("Inside throwMethod");
                throw new lllegalAccessException("demo");
        }
        public static void main(String args[]){
        try{
                throwMethod();
        }catch (lllegalAccessException e){
                System.outprintln("Caught " + e);
                }
        }
}
A.编译错
B.运行错
C.编译成功,但是没有输出结果
D.以上都不是
答案:A

5、class X{
        Y b=new Y();
        x(){
        System.out.print("X");
        }
}
class Y{
        Y() {
                System.out.print("Y");
        }
}
public class Z extends X{
        Y y=new Y();
        Z(){
                System.out.print("Z");
        }
        public static void main(String[] args){
                new Z();
        }
}
A.Z
B.YZ
C.XYZ
D.YXYZ
答案:D

6、public class MyThread implements Runnable {
        String myString= "Yes ";
        public void run() {
                this.myString ="No ";
        }
public static void main(String[] args){
        MyThread t =new MyThread();
        new Thread(t).start();
        for (int i=0,; i< 10; i++)
                System out.print(t.myString);
        }
A.打印yes yes yes yes yes yes
B.打印no no no no no no no no
C.打印yes no yes no ye no ye no
D.不确定
答案:D

阶段练习-作业10

1、下面( )是正确的接口。
A、interface A
        {
        Void print(){ };
        }
B、abstract interface A
        {
        print();
        }
C、{
        Abstract vpid print(){};
        }
D、interface A
        {
        void print();
        }
答案:D

2、在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。
A.try子句
B.catch子句
C.finally子句
D.throw子句
答案:C

3、当方法遇到异常又不知如何处理时,下列哪种说法是正确的( )。
A.捕获异常           
B.抛出异常
C.声明异常           
D.嵌套异常
答案:C

4、关键字( )可以抛出异常?
A.transient
B.throws
C.throw
D.static
答案:C

5、下面是一个有错的程序:
1 package payroll;
2 class EmployeeNames {
3 public static String[] names={"a","b"};
4 public static String[] getNames(){
5 return names;
6         }
7 }
另一个文件
8 package client
9 import payroll.EmployeeNames;
10   public class TraderNames extends EmployeeNames{
11  public String[] traders ={"e","d"};
12  }
下面有四个改正项,哪个答案能改正程序?(  )
A.8 package client;
B.2 protected class EmployeeNames{
C.1 package paryroll;
D.9 import payroll.EmployeeNames
答案:A

6、  String str = " Java"
        StringBufer buffer = new StringBuffer(str);
        if(str.equals(buffer)){
                System.outprintln("Both are equal");
}else{
        System.out.println("Both are not equal");
}
A.both are not equal
B.both are equal
C.编译错
D.运行错
答案:A

7、class Parent{
        private void method1(){
        System.out.println("Parent's method1()");
        }
        public void method2(){
                System.out.println("Parent's method2()");
                method1();
        }
}
class Child extends Parent {
        public void method1(){
                System.out.println("Child's method1()");
        }
        public static void main(String args[]){
                Parent p = new Child();
                p.method2();
        }
}
A.编译错
B.运行错
C.打印parent’s method2() parent’s method1()
D.打印 parent’s method2() child’s method1()
答案:C

8、下面程序段的编译和运行的结果是什么?
String s1 = new String(" Test");
String s2 = new String("Test");
if(s1==s2) System.out.println("Same");
if (s1 equals(s2)) System.out.println("Equals");
A.Same Equal
B.Equals
C.Same
D.编译错
答案:B

9、那一行的输出结果是 false?
1. public class MyClass
2. {
3.        static String s1 = "I am unique!";
4.        public static void main(String args[])
5.        {
6.        String s2 = "I am unique!";
7.        String s3 = new String(s1);
8.        System.out.println(s1==s2);
9.        System.out.println(s1.equals(s2));
10.        System.out.printn(s3 ==s1);
11.        System.out.println(s3 .equals(s1));
12.        System.out.println(TestClass.s4 ==s1):
13.        }
14.}
15.
16.class TestClass
17.{
18.         static String s4 = "I am unique!";
19.}
A.10 和12行
B.12行
C.8和10行
D.都不是
答案:D

阶段练习-作业11

1、指出下列程序运行的结果()
public class Example{
String str=new string("good");
char [] ch={'a','b','c'};
public static void main(string args []){
Example ex=new Example();
ex.change(ex,str,ex,ch);
System.out.print(ex.str+"and");
System.out.print(ex.ch);
}
public void change(String str,char ch []){
str="test ok",
ch [0]='g'
}
}
A.good and abc
B.good and gbc
C.test ok and abc
D.test ok and gbc
答案:B

2、运行下列程序,会产生的结果是()
public class X extends Thread implements Runable{
public void run() {
System.out.println("this is run()");
}
public static void main(String args [])
}
Thread t=new Thread(new X());
t.start();
}
}
A.第一行会产生编译错误
B.第六行会产生编译错误
C.第六行会产生运行错误
D.程序会运行和启动
答案:A

3、对于catch子句的排列,下列哪种是正确的( )
A.父类在先,子类在后
B.子类在先,父类在后
C.有继承关系的异常不能在同一个try程序段内
D.先有子类,其他如何排列都无关
答案:A

4、J2SDK的下载,下列哪步可进入J2SE下载页面( )
B.点击左侧“Download”链接
C.点击页面中的“Java 2 Platform,Standard Edition”了;链接
D.点击页面中“J2SE 1.4.2”链接
答案:C

5、 Java中,数值类型值中可能出现的符号是( )
A.R
B.D
C.T
D.Y
答案:B

6、构造方法何时被调用( )
A.类定义时
B.创建对象时
C.调用对象方法时
D.使用对象的变量时
答案:B

7、下面的表达式中正确的是( )
A.String s=″你好″;int i=3;s+=i;
B.String s=″你好″;int i=3;if(i==s){s+=i};
C.String s=″你好″;int i=3;s=i+s;
D.String s=″你好″;int i=3;s=i+;
答案:A

8、哪个布局管理器使用的是组件的最佳尺寸( )
A.FlowLayout
B.BorderLayout
C.GridLayout
D.CardLayout
答案:A

9、在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。
A.try子句
B.catch子句
C.finally子句
D.throw子句
答案:C

10、要从文件″file.dat″文件中读出第10个字节到变量C中,下列哪个方法适合( )
A.FileInputStream in=new FileInputStream(″file.dat″);in.skip9.;int c=in.read();
B.FileInputStream in=new FileInputStream(″file.dat″);in.skip10.;int c=in.read();
C.FileInputStream in=new FileInputStream(″file.dat″);int c=in.read();
D.RandomAccssFile in=RandomAccssFile(″file.dat″);in.skip9.;int c=in.readByte();
答案:A

11、如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词( )
A.public
B.private
C.protected
D.transient
答案:C

12、运行下列程序的结果是()
abstract class MineBase{
abstract void amethod();
static int i;
}
public class Mine extends MineBase
{
public static void main(String args[ ]) {
int [] ar new int [5];
for(i=0;i System.out.println(ar );
}
}
A.打印5个0
B.编译出错,数组args[]必须初始化
C.编译出错,Mine应声明为abstract
D.出现IndexOutOfBoundes的例外
答案:C

13、下列运算结果默认为float的是( )
A.100/10
B.100*10
C.100F+10
D.100D-10
答案:A

14、 下列语句byte b=011;System.out.priftln(b);输出结果为( )
A.B
B.11
C.9
D.1
答案:C

15、在Java中,不属于整数类型变量的是( )
A.double
B.long
C.int
D.byte
答案:A

16、下面属于Java关键字的是( )
A.NULL
B.IF
C.do
D.goto
答案:C

17、下面哪个语句是正确的( )
A.Object o=new Button(″A″);    
B.Button b=new Object(″B″);
C.Panel p=new Frame();       
D.Frame f=new Panel();
答案:A

18、Java语言中,下列标识符错误的是( )
A.diss
B.—name
C.&count
D.—j
答案:C

19、Java变量中,以下不属于复合类型的数据类型是( )
A.类
B.字符型
C.数组型
D.接口
答案:B

20、Java中哪个类提供了随机访问文件的功能( )
A.RandomAccessFile类
B.RandomFile类
C.File类
D.AccessFile类
答案:A

阶段练习-作业13

1、java里面表示字符串的类有两种:String和( )。
A.Buffer
B.StringBuffer
C.DataBuffer
D.BufferString
答案:B

2、以下程序段的结果是: ( )
char a[]= {'a', 'b','c', 'd'};
char b[]= new char[4];
b=a;
for (inti= 3;i> 0; i--)
        System.out.print((char)b);
A.abcd
B.dcba
C.abc
D.dcb
答案:D

3、以下程序段的结果是: ()
String str= "abcdefehijk";
String s= "bcde";
int index = 0;
index= str.indexOf(s, index);
str=str.substring(0, index)+ str.substring(index+4);
System.out.println(str);
A.abcdefghijk
B.afghijk
C.abcde
D.bcdefghijk
答案:B

简答练习-作业1

一、 简答
1、 简述Java语言的主要特点。
答案:Java语言有下面一些特点:简单、面向对象、分布式、解释执行、健壮、安全、体系结构中立、可移植、高性能、多线程以及动态性。Java语言有下面一些特点:简单、面向对象、分布式、解释执行、健壮、安全、体系结构中立、可移植、高性能、多线程以及动态性。

2、 简述Java程序的可移植性。
答案:与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。同时,Java的类库中也实现了了与不同平台的接口,使这些类库可以移植。另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java系统本身也具有可移植性。 “Write once, run everywhere”也许是Java最诱人的特点。用Java开发成的系统其移植工作几乎为零,一般情况下只需对配置文件、批处理文件作相应修改即可实现平滑移植。

二、 判断
3、J2EE(Java 2 Platform Enterprise Edition)企业版是以企业为环境而开发应用程序的解决方案。()
A.正确
B.错误
答案:对

4、J2ME(Java 2 Platform Micro Edition)——小型版是致力于消费产品和嵌入式设备的最佳解决方案。()
A.正确
B.错误
答案:对

5、J2SE(Java 2 Platform Standard Edition)——标准版为桌面开发和低端商务应用提供了可行的解决方案。()
A.正确
B.错误
答案:对

6、Java是区分大小写的语言,关键字的大小写不能搞错,如果把类class写成Class或者CLASS,都是错误的。()
A.正确
B.错误
答案:对

7、Java源程序编写好之后,以文件的形式保存在硬盘或U盘上,源文件的名字可以随便取的,它不一定与程序的主类名一致。()
A.正确
B.错误
答案:错

8、在JDK命令行开发工具中,用编译程序javac.Exe编译生成的文件是二进制可执行文件。()
A.正确
B.错误
答案:错

9、Java程序可以分为Java Application和Java Applet两类,这两类程序的运行方式是相同的。()
A.正确
B.错误
答案:错

10、操作系统Microsoft Wndows95/98/2000/XP/2003、Linux、UNIX、Mao OS等都是支持Java虚拟机的操作系统。()
A.正确
B.错误
答案:对

11、 Javac是Java编译器,用来将Java源程序编译成Java字节码的程序。字节码文件名和源文件名相同,扩展名是.class。()
A.正确
B.错误
答案:对

12、appletviewer 是Java小程序浏览器,可以执行HTML文件中的 Java小程序, Applet。它是个模拟浏览器,可以显示Applet的运行结果。()
A.正确
B.错误
答案:对

简答练习-作业2

一、简答
1、在JBuilder 9集成开发环境建立你的工程文件名myjava.jpx,把myfirstapp.java添加到myjava.jpx,并运行看结果。
答案:略

2、在你的D盘或E盘建立子文件夹myjava,用写字板编辑一个Java程序myfirstapp.java,保存在myjava目录下。程序实现在屏幕显示“你好,这是我的第一个Java程序。”分别用Java Application和Java Applet 2种形式实现。
答案:略

3、简述保留字。
答案:保留字(关键字)是Java语言本身使用的标识符,它有其特定的语法含义。所有的Java关键字将不能被当作一般的标识符使用。如:for、while、boolean等都是Java语言的保留字关键字。

4、简述标识符。
答案:在Java源程序代码中程序员需要标识和使用的各种元素如变量、函数、类和对象的名称就是标识符(identifier)。包括:包名称、类名、变量名、常量名、标号、方法名等。标识符要符合下面的规则。

简答练习-作业3

一、 简答
1、简述Java的基本数据类型。

答案:基本数据类型包括: integer(整数),floating (浮点数), Boolean (布尔变量),Character or String(字符或字符串)。

2、简述Java的表达式和运算符。
答案:表达式是由标示符、常量、变量和运算符组成,是程序的基本组成部分。 运算符指明对各种操作数所进行的运算,Java提供了丰富的运算符,Java语言的基本运算符分为算术运算符、逻辑运算符、关系运算符和位运算符4大类。同时也可以使用圆括号将一个表达式的几个部分组合到一起,并根据标准的代数规则建立优先地位。

3、简述Java的方法(method)。
答案:方法(method)是类的一个成员,它和面向过程程序设计中的函数有很多类似之处。由于它是类的一个重要组成部分。

二、 判断
4、若循环变量在for语句前面已经有定义并具有循环初值,则初始语句可以为空(分号不可省略)。()
A.正确
B.错误
答案:对

5、do…while循环的执行过程是无条件执行循环体一次,在根据判断条件决定是否继续执行循环体。()
A.正确
B.错误
答案:对

6、Java语言的任何类型,包括整型、浮点型、字符和布尔型都可以使用运算符“==”来比较是否相等,用运算符“!=”来判断是否不等。()
A.正确
B.错误
答案:对

7、Java语言提供了三个专门的循环控制语句:for语句、while语句和do…while语句。()
A.正确
B.错误
答案:对

8、Java语言提供了三个专门的循环控制语句:for语句、while语句和do…while语句。()
A.正确
B.错误
答案:对

9、程序中的break语句是用于退出switch的,若无则程序将不再比较而是依次执行所有语句。()
A.正确
B.错误
答案:对

简答练习-作业4

一、 简答
1、编写一个程序,随机产生10个小写字母,并判断是元音字母、半元音字母还是复音字母。
答案:如图所示<img src="https://qitem.jxjypt.cn/course/upload/image/20220816/1660640116090035186.png" title="image.png" alt="image.png"/><img src="https://qitem.jxjypt.cn/course/upload/image/20220816/1660640131770021406.png" title="image.png" alt="image.png"/>

2、编写程序,找出50~100之间的所有素数。
答案:如图所示

3、什么是类?什么是对象?类和对象有何联系?
答案:在面向对象程序设计里,类是定义一个对象的属性和方法的蓝本。对象就是一组变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。类是对象的模板,对象是类的实例,可以从一个类中创建许多对象。

4、方法的重载和方法的覆盖有什么不同?
答案:方法重载,指的是在类中创建多个具有相同名称,但使用不同参数的方法,Java虚拟机根据传递给方法的参数个数和类型决定调用哪个重载方法。方法的覆盖指在子类中重新定义父类中已有的方法,对于重写的方法,运行时系统根据调用该方法的实例的类型来决定选择哪个方法调用。

5、类变量和实例变量有何区别?
答案:由static修饰的变量称为类变量,当系统在程序中第一次遇到一个类时,便会拷贝一份所有的类变量在内存里。然后那些由此类产生的实例便可分享这些类变量。 实例变量指不是用static修饰的变量,可供实例方法使用。实例变量会复制于每一个从类产生的实例中。

6、抽象类和抽象方法有什么特点?
答案:① 一个抽象类里可以没有抽象方法,但含有抽象方法的类必定为抽象类。 ② 抽象类不能被实例化为对象,而只能作为其它类的超类,并且必须被继承。 ③ 若某子类继承自一个抽象类,而该子类不是抽象类,则子类需用覆盖的方式来实例化超类中的所有抽象方法。抽象方法可再与public、protected复合使用,但不能与final、private和static复合使用。 ④ 抽象方法只有方法声明,不能有方法体。

二、 判断
7、若循环变量在for语句前面已经有定义并具有循环初值,则初始语句可以为空(分号不可省略)。()
A.正确
B.错误
答案:对

8、do…while循环的执行过程是无条件执行循环体一次,在根据判断条件决定是否继续执行循环体。()
A.正确
B.错误
答案:对

9、标号提供了一种简单的break语句所不能实现的控制循环的方法,当在循环语句中遇到break后面有标号时,不管其它控制变量如何,都会终止标号的循环体。()
A.正确
B.错误
答案:对

10、Java的类库是系统提供的已实现的标准类的集合,是Java编程的API,它可以帮助开发者方便、快捷地开发Java程序。()
A.正确
B.错误
答案:对

11、Java的基础类库包java.Lang也要经过import语句引用。()
A.正确
B.错误
答案:错

12、Java程序中使用 import java.io.*;表示要引入带*的类。()
A.正确
B.错误
答案:错

13、Java.awt包是 Java语言用来构建图形用户界面(GUI)的类库,它包括了许多界面元素和资源,主要在 3个方面提供界面设计支持:低级绘图操作;图形界面组件和布局管理和界面用户交互控制和事件响应。( )
A.正确
B.错误
答案:对

14、Vector the Vecto =new Vector(100,100);这个语句创建了名称为the Vector的向量类对象,它的每个成员的容量为100,共有10个元素。()
A.正确
B.错误
答案:错

简答练习-作业5

1、编译并运行下面的程序,运行结果为()
publie class 11
{
        public static void main (Sting[] args)
        {
        T1 a=new T1();
        a.method(8);
        a.method(1,2f);
        }
        void method(float i)
        {
        System.out.println( "foat: "+i);
        }
        void method(long i)
        {
        System.out.println(" long: "+i);
        }
}
(2)定义类A和类B如下:
class A
{
        int a=1;
        double d=2.0;
        void show()
        {
        System.out.println( "Class A:a= "+a+"td="+d);
        }
}
dass B extends A
{
        float a=3.0f;
        String d="Java program.";
        void show()
        {
        super.show();
        System.out.println( "Class B: a= "+a+"\td="+d);
        }
}
(1)若在应用程序的main方法中有以下语句:
        A a=new A();
        a.show();
        则输出的结果如何?
(2)若在应用程序的main方法中定义类B的对象b:
A b=new B():
b.show();
则输出的结果如何?
答案:如图所示<img src="https://qitem.jxjypt.cn/course/upload/image/20220816/1660640324092057726.png" title="image.png" alt="image.png"/>

二、 填空
2、在子类中使用关键字_______做前缀可调用被子类覆盖的父类中的方法。
答案:super

3、Java中所有类都是_______类的子类。
答案:Object

4、通过_______运算符就能实现对对象成员变量的访问和对象方法的调用。
答案:圆点

5、类的构造方法的名称必须与_______名相同。
答案:类

6、类方法只能处理用关键字_______修饰的对象。
答案:static

简答练习-作业6

一、简答
1、Java的成员变量修饰符有哪几种?其中哪种修饰符限定的范围最大?
答案:答:成员变量的修饰符有public、protected、private、static、final、transient、volatile七种。Public修饰符的限定范围最大。

2、写出下列关键字的意义和运用场合:①final;②finalize;③finally。
答案:答:final,finally,finalize的区别如下:final用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally是异常处理语句结构的一部分,表示总是执行。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

3、作用域public,private,protected,以及不写时的区别
答案:如图所示

4、请定义一个名为Card的扑克牌类,该类有两个private访问权限的字符串变量face和suit:分别描述一张牌的牌面值(如:A、K、Q、J、10、9、…、3、2等)和花色(如:“黑桃”、“红桃”、“梅花”和“方块”)。定义Card类中的public访问权限的构造方法,为类中的变量赋值;定义protected访问权限的方法getFace(),得到扑克牌的牌面值;定义protected访问权限的方法getSuit(),得到扑克牌的花色;定义方法toString(),返回表示扑克牌的花色和牌面值字符串(如“红桃A”、“梅花10”)。
答案:<p>如图所示<img src="https://qitem.jxjypt.cn/course/upload/image/20220817/1660704626067060201.png"title="image.png"alt="image.png"/></p>

二、判断
5、内部类可以访问外层类的任何变量,包括私有的。()
A.正确
B.错误
答案:对

6、匿名类可以有构造器,声明时候不能带参数。()
A.正确
B.错误
答案:错

7、抽象方法可以是static的。()
A.正确
B.错误
答案:错

8、构造器没有任何返回类型,哪怕是void也不行。()
A.正确
B.错误
答案:对

9、只要类中显式地定义一个,那么Java不会再为你定义一个默认的构造器。()
A.正确
B.错误
答案:对

10、构造方法可以被继承。()
A.正确
B.错误
答案:错

11、方法的参数变量不能是final的()
A.正确
B.错误
答案:错

12、一个Java类可以有多个父类,这称作多继承.()
A.正确
B.错误
答案:错

简答练习-作业7

1、abstract class Name {
private String name;
public abstract boolean isStupidName(String name){}
}
A.正确
B.错误
答案:B

2、abstract class Something {
        private abstract String doSomething();
}
A.正确
B.错误
答案:B

3、public class Something{
         public int addOne(final int x){
                return ++x;
        }
}
A.正确
B.错误
答案:B

4、public class Something {
        public static void main(String[] args) {
                Other o=new Other;
                new Something().addOne(o);
                }
                public void addOne(final Other o){
                0.i++;
                }
        }
        class Other {
                public int i;
        }
A.正确
B.错误
答案:A

5、class Something {
        int i;
        public void doSomething() {
                System.out.println("i= " + i);
        }
}
A.正确
B.错误
答案:A

二、 填空
6、class FatherClass {
        public FatherClass(){
                System.out.println("FatherClass Create");
        }
}
public class ChildClass extends FatherClass {
        public childclass() {
                System.out println("ChildClass Create");
        }
        public static void main(String[] args)
        {
        FatherClass fc = new FatherClass();
        ChildClass cc =new ChildClass();
        }
}
答案:FatherClass CreateFatherClass CreateChildClass Create

简答练习-作业8

1、class Something {
        final int i;
        public void doSomething() {
                System.out.println("i= " + i);
        }
}
A.正确
B.错误
答案:B

2、interface Playable {
        void play();
}
interface Bounceable {
        void play();
}
interface Rollable extends Playable, Bounceable {
        Ball ball = new Ball('PingPang");
        }
class Ball implements Rollable {
        private String name;
        public String getName(){
                return name;
        }
public Ball(String name){
        this name = name:
}
public void play() {
        ball = new Ball("Football");
        System.out.println(ball.getName());
        }
}
A.正确
B.错误
答案:B

简答练习-作业9

1、Error类和Exception类有什么区别?
答:Error类及Exception类是Throwable类的两个直接子类。Error类描述的是内部系统错误,包括动态链接失败、虚拟机错误等,Java程序不做处理。Exception类描述的是程序和外部环境引起的错误,这些错误能通过程序捕获和处理,Exception类是Java程序中需要大量处理的。

2、接口和抽象类有什么区别?
答:从本质上讲,接口是一种特殊的抽象类,然而它们又有区别: ①接口只包含常量,而抽象类则不一定。 ②接口中不能有非抽象的方法,但抽象类中可以有。 ③一个类能实现多个接口,但只能有一个父类。 ④接口并不属于继承结构,它实际与继承无关,无关的类可以实现同一个接口。

3、什么是包?为什么要使用包?
答:包(package)是类的容器。由于Java编译器为每个类生成一个字节码文件,且文件名与类名相同,因此同名的类有可能发生冲突。为了解决这一问题,Java提供包来管理类名空间。此外一旦创建了一个类,并想重复地使用它,那么把它放在一个包中将是非常有效的。

二、 改错

4、public class MyClass
{
        public static void main(String ags[])
        {
        myMethod();
        }
        public void myMethod() throw MyException
        {
                throws(new MyException());
        }
}
class MyException
{
        public String toString()
        {
                return("用户自定义的异常");
        }
}
答:这段程序有如下的错误: ① 用户自定义的异常MyException必须是系统类Exception的派生类。 ② 定义一个方法抛出异常需要使用关键字throws,而不是throw。 ③ 抛出异常的语句需要使用关键字throw,而不是throws。 ④ 因为方法main()调用可能会抛出异常的方法myMethod(),所以需要定义语句来处理myMethod()抛出给main()的异常。 ⑤ main()方法是静态的static方法,它只能调用、操作同样是static的静态方法或静态域,而不能调用属于具体对象而不是屑于整个类的方法myMehtod<)。为了让main()方法成功地调用myMethod(),必须把myMathod()也定义成static方法。

5、在空白处填上合适的语句。
public class ServerTimedOutException extends Exception
{
        private int port;
        public ServerTimedOutException(String message, int port)
        {
                super(message);
                this.port= port;
        }
        public int getPort()
        {
                return port;
        }
}
class Client
//在下行空白出填上声明抛弃ServerTimedOutException异常的语句
public void connectMe(String serverName)_______________________________
{
        int success;
        int portToConnect = 80;
        success=open(serverName, portToConnect);
        if(success ==-1)
                {
                //在下行空白处填上抛出ServerTimedOutException异常的语句
                _____________________________________________________________
                }
        }
}
答: throws __ServerTimedOutException__________  throw new ServerTimedOutException

6、创建包需要使用的关键字是______,而且该语句应该是整个“.java”文件的______。
答案:Pakage、第一条语句

7、按异常处理不同可分为捕获异常、声明异常和( )三种。
答案:抛出异常

8、 Java语言中, 通常把可能发生异常的方法调用语句放到try块中,并用紧跟其后的( )块来捕获和处理异常。
答案:Catch

9、接口中的成员只有静态常量和( )。
答案:抽象方法

10、Throwable类是类库( )包中的一个类,它派生了两个子类:( )和( )。
答案:Java.lang、Error、Execption

简答练习-作业10

1、什么是异常?为什么要进行异常处理?
答:异常,是指由于程序运行时发生错误,从而导致程序错误结束。 在进行程序设计时,错误的产生是不可避免的,没有异常处理代码的程序,在运行时发生错误则可能非正常结束,引起严重问题。因此,Java给程序员提供了处理运行时错误的功能,称为异常处理。

2、简述异常处理的过程。
答:程序运行时出现错误时,创建异常对象,抛出异常对象,捕获该异常对象并进行处理。

简答练习-作业11

1、继承是的一个特点,继承支持()类概念。
答案:对象|层次

2、数据库的设计通常可以分为这样四个步骤:需求分析、() 、()和物理设计。
答案:概念设计|逻辑设计分析

3、在C+ +中,声明构造函数和析构函数时,()使用const或volatile关键词。
答案:不能

4、文件类()是java.io中的一个重要的非流类,里面封装了对文件系统进行操作的功能。
答案:File

5、Java语言通过接口支持( )继承,使类继承具有更灵活的扩展性。
答案:多重

6、抛出异常的程序代码可以是(),或者是JDK中的某个类,还可以是JVN。
答案:Java应用程序

7、按异常处理不同可分为运行异常、捕获异常、声明异常和()几种。
答案:抛出异常

8、变量类型有两大类:()和复合类型。
答案:基本类型  

9、Java语言的各种数据类型之间提供两种转换,自动转换和()。
答案:强制转换

简答练习-作业12

1、一个空数组与一个长度为0的数组有什么区别?
答: 一个空数组是指不包括任何Object引用的数组对象。而一个长度为0的数组是指有0个元素的数组对象。

2、Vector对象的大小与容量之间有什么区别?
答:一个Vector对象的大小是包含的Object引用的实际数量。而容量是指为Object引用分配的存储空间的数量。

3、String类和StringBuffer类的主要区别是什么?1. 指出下列程序运行的结果( )
答:String类:用于比较两个字符串,查找和抽取串中的字符或子串,字符串与其他类型的转换等,String类对象的内容一旦被初始化就不能再改变。StringBuffer类:用于内容可以改变的字符串,可以将其他各种类型的数据增加、插入到字符串中,也可以翻转字符串中原来的内容。

4、程序阅读题并写出运行结果
import java util.*;
public class TestVector{
        public static void main(String[] args){
                Vector vec=new Vector();
                print(vec);
                vec.addElement("C");
                print(vec);
                vec addElement("D");
                print(vec);
                for(int i=0;i<4;i++)
                        vec.addElement("E");
                print(vec);
}
        static void print(Vector vec)
        {
                System out.printn("vec-"+vec);
                System.out.print("vec.size="+vec.size());
                System out.println("\tvee.capacity="+vec,capacity());
                System.out.printn("\n");
        }
}
答:如图所示<img src="https://qitem.jxjypt.cn/course/upload/image/20220817/1660707077544053853.png" title="image.png" alt="image.png"/>

5、所谓缺省构造函数就是没有参数的构造函数。()
A.正确
B.错误
答案:A

6、对象成员变量在对象创建时会获得一个缺省的初始值。()
A.正确
B.错误
答案:A

7、Java数组随时可以改变大小。()
A.正确
B.错误
答案:B

8、 InputStream和OutputStream读写的数据是8位的。()
A.正确
B.错误
答案:A

9、Java是强类型语言。()
A.正确
B.错误
答案:A

10、 Java没有指针,引用不能等同于指针。()
A.正确
B.错误
答案:A

11、 protected的成员只能被继承类成员存取。()
A.正确
B.错误
答案:B

12、任何的Applet都完全不能访问本地资源。()
A.正确
B.错误
答案:B

13、Anonymous Inner Class (匿名内部类) 可以extends(继承)其它类。()
A.正确
B.错误
答案:A

14、final类是为防止他人从你的类上派生新类,此类是不可继承的。()
A.正确
B.错误
答案:A

15、super()和this()方法只能在构造函数里调用。()
A.正确
B.错误
答案:A

16、接口的所有方法默认都是public,abstract和non-static的。()
A.正确
B.错误
答案:A

17、接口可以声明成final。()
A.正确
B.错误
答案:B

简答练习-作业13

1、已知整数数组a有六个元素,其值分别为25、36、47、32、21、16,(11) 请设计一个程序求它的总和及平均值。
答: 一个空数组是指不包括任何Object引用的数组对象。而一个长度为0的数组是指有0个元素的数组对象。

2、编写一个程序,用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行从大到小的排序。
答:一个Vector对象的大小是包含的Object引用的实际数量。而容量是指为Object引用分配的存储空间的数量。

3、 编程将字符串"Mary was a"改为"Mary had a book."。
答:String类:用于比较两个字符串,查找和抽取串中的字符或子串,字符串与其他类型的转换等,String类对象的内容一旦被初始化就不能再改变。StringBuffer类:用于内容可以改变的字符串,可以将其他各种类型的数据增加、插入到字符串中,也可以翻转字符串中原来的内容。

二、 填空
4、设有数组定义:int b[]={10,20,30,40,50,60,70}; 则执行以下几个语句后的输出结果是
int s=0:
for( int i=0 ;i< b.length;i+ +)
if(i%2==1) s += b;
System.out.println(s);
答案:120

综合体

1、编写一Java应用程序,在主线程中创建一个显示5个“Hello!”的线程并启动运行。
答案:<img src="https://qitem.jxjypt.cn/course/upload/image/20220812/1660289512432041709.png" title="image.png" alt="image.png"/>Hello
回复

使用道具 举报

全部回复0 显示全部楼层
暂无回复,精彩从你开始!

快速回帖

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则