JAVA程序设计课程考试试卷专升本考研期末考试真题参考题目(二)

一、选择题

1、编译下列源程序会得到哪些文件?( D )
  class A1{
  }
  class A2{
  }
  public class B{
   public static void main(String args[]){
   }
  }
A、编译不成功 B、只有B.class
C、只有A1.class和 A2.class文件 D、有A1.class、A2.class和B.class文件
2、Java应用程序的入口方法是( D )
A、init() B、start() C、paint() D、main()

3、Java JDK中运行的命令是( B   )
A、jdb B、 java C、javah D、 javac
4、下列哪一项不是Java保留字?( B )
A、abstract B、struct C、this D、break
5、下列整型数据类型中,需要内存空间最多的是( D )
A、int B、byte C、short D、long
6、java程序运行时,用于判定两个对象实例的相等运算符是( C )
A、instanceof B、equal C、 == D、以上都对
7、下列程序段运行后,变量x,y,z的值描述正确的是( A )
int x=2;
int y=(x++)*2;
int z=(- -y)*3;
A、x的值是3,y的值是3,z的值是9 B、x的值是3,y的值是3,z的值是12
C、x的值是2,y的值是3,z的值是9 D、x的值是2,y的值是2,z的值是12
8、下列关于变量的叙述哪个是错的?( B  )
A、局部变量在使用前必须被初始化
B、实例变量用关键字static声明
C、在方法中定义的局部变量在该方法被执行时创建
D、实例变量是类的成员变量
9、已知变量定义:
int i = -1;
String s = null;
下列代码哪项不会抛出空指针异常:( C )
A、if( i>0 | s.length() ==0 ){ … } B、if( i>0 || s.length() ==0 ){ … }
C、if( i>0 && s.length() ==0 ){ … } D、if( i>0 & s.length() ==0 ){ … }

10、下列语句会造成数组new int[10]越界是( C )
A、a[0]+=9 B、a[9]=10; C、for(int i=0;i<=10;i++) a[i]++; D、–a[9]
11、关于数组作为方法的参数时,在方法中修改数组的值,下列描述正确的是( B )
A、原数组不变 B、原数组改变 C、数组是否改变不确定 D、以上三项不对
12、定义了int型二维数组a[5][7]后,数组元素a[2][5]前的数组元素个数为( C )
A、17 B、18 C、 19 D、25
13、在一个类中定义多个方法名相同的方法,称为方法的( C )
A、重写 B、改写 C、 重载 D、多态
14、Java语言的类间的继承关系是( A  )
A、单重的 B、不能继承 C、线程的 D、多重的
15、类定义中可以定义构造方法,它是一类特殊的方法,定义类的构造方法的条件错误的是( A )
A、参数列表必须为空 B、没有返回值
C、名字应该与类名相同 D、构造方法可以重载
16、Java兼容给定是强类型语言,它对变量类型的检查非常严格,同时也提供了一些赋值兼容原则,赋值兼容原则规定( D )
A、在继承树中允许向上赋值,既父类实例可以赋值给同类变量,还可以赋值给其子类的变量
B、在继承树种不允许向下赋值,既子类实例不允许赋值给父类变量
C、在继承树种不允许向下赋值,既父类实例不允许赋值给子类变量
D、在继承树中允许向上赋值,既子类实例可以赋值给同类变量,还可以赋值给其祖先类的变量
17、访问权限修饰符有public、private、protected和默认修饰符(没有写任何修饰符),他们既可以用来修饰类,也可以用来修饰类中的成员,使用无修饰符的成员不可见情况有( C )
A、同一包中的非子类 B、同一类
C、不同包中的子类 D、同一包中的子类
18、哪个关键字可以抛出异常? ( A )
A、throw B、try C、throws D、finally

19、System类位于以下那个包中?( C )
A、java.io B、java.util C、java.lang D、java.awt
20、下列说法中错误的一项是( B )
A、线程创建时已经确定了提供线程体的对象
B、在程序中通过调用 Thread类的run()方法创建线程对象
C、java的线程体由Thread类的run()方法定义
D、java中每一个线程都有自己的名字
21、关于日期时间类的描述错误的是( C )。
A、Calendar类不能使用new运算符创建实例对象;
B、日期格式化对象DateFormat和SimpleDateFormat类可以通过他们的方法parse返回一个Date对象;
C、SimpleFormat为DateFormat的子类,其处理功能没有DateFormat强;
D、new Date().getTime()获得的数表示当前时间到1970年第一天开始时间的毫秒数;

22、Integer类是基本数据int的封装类,下列不能返回Integer实例对象的是( D )。
A、Integer.parseInt(“123”); B、Integer.valueOf(“123”);
C、new Integer(“123”); D、没有正确答案;

23、System类能进行垃圾回收的方法为( A )。
A、gc B、currentTimeMillis C、getTime D、exit
24、String类中能实现从原字符串中提出一个子串的方法名为( B )
A、lastIndexOf B、substring C、replace D、toCharArray
25、下列不是Java的输入输出流的是( B )
A、字符流 B、文本流 C、文件流 D、字节流
26、File类的方法delete()返回的数据类型为? ( A )
A、boolean B、Integer C、String D、int
27、JPanel默认的布局管理器是( B )
A、BorderLayout B、FlowLayout
C、CardLayout D、GridLayout
28、每一个GUI程序中必须包含一个什么组件? ( C )
A、标签 B、按钮 C、容器 D、菜单

二、填空题

1、在Java程序设计中,程序员创建Java源文件,然后编译器把它们转化为字节码文件。
2、整数类型是用来表示整数的数据类型,Java提供了4种整型量,分别是 byte 、short、int 和long,他们在内存总占用的字节数依次从小到大,分别为 1 个、2个、4个和8个。
3、Java中预定义的数据类型中都有对应的常量,对于整型直接数,他的形式又有多种,以1-9开头的正负整数为十进制数,以0开头的正负整数为八进制数,以0x或者0X开头的正负整数为十六进制数,以 0b 开头的为二进制数
4、逻辑类型也称为布尔类型,它的值只有两个,即“真”和“假”,它在内存中只占1个字节。他的常量值为truefalse
5、java语言中使用关键字final修饰的成员变量为 常量
6、Java定义的变量要求赋初值,如果没有显式赋值,整型变量获得的值是 0 ,实型变量的值是0.0,布尔类型数据的量是false,复合数据变量的值是分null
7、表达式中仅含有逻辑运算符的表达式称为逻辑表达式,逻辑表达式的运算结果是一个 布尔值或逻辑值
8、Java程序中当两个操作数为byte或short时,其运算结果的类型为 int
9、在Java中,一切都是对象,类中包含两个部分,分别是变量和方法。类中定义的变量称为 成员变量
10、java中定义包使用的关键字是 package

三、判断题

1、Java中规定,java是单继承,既直接的父类只能有一个。【 √ 】
2、2、1、Java语言for 语句中的逻辑表达式必须返回一个逻辑值,该部分也是可选的,当逻辑表达式为空时,默认规定为恒假。【 × 】
3、1、当break语句单独使用时,如果是在一个循环语句中,则表示不再执行余下的循环语句,也就是放弃执行当前循环。【 × 】
4、1、在类的定义中,如果所定义的类是从某一个父类派生而来,那么父类的名字应写在extends之后,Java中只允许多重继承,既直接父类可以有多个。【 × 】
5、定义类的方法时,必须定义方法的返回数据类型,如果方法不返回任何值,返回类型定义为void 。【 √ 】
6、如果程序员没有在定义类的时候定义构造方法,那么该类就没有构造方法。【 × 】7、如果方法的参数是基本数据类型,则直接将实参的值传递给方法体,方法内对形参的任何修改,不会改变实参的原来值。【 √ 】
8、 java语言中的所有异常类都是java.lang.Throwable的子类。【 √ 】
9、用任何方式创建数组时,都必须指定数组的长度。【 √ 】
10、在定义一个类中,如果所定义的类需要从多个接口派生而来,那么父类的名字应该写在implements之后,Java中允许接口的多继承,多个接口之间使用逗号分开。【 √ 】
11、在Java语言中,当定义一个变量为基本数据类型时,Java的JVM就为该变量分配内存,并给该变量赋初值,当定义一个复合数据类型变量时,该变量代表该类型对象的引用名,Java的JVM并不为对象创建内存空间,该变量引用的值为null。【 √ 】
12、每个类都有构造方法,并允许构造方法的重载。【 √ 】
13、如果程序员没有在定义类的时候定义构造方法,那么在编译该类时候,编译器会自动添加一个无参数的构造方法。【 √ 】
14、定义类的方法时,必须定义方法的返回数据类型,如果方法不返回任何值,返回类型可以不写。【 × 】
15、如果方法的参数是基本数据类型,则直接将实参的值传递给方法体,方法内对形参的任何修改,会改变实参的原来值。【 × 】
16、Java应用程序处理异常的方式有捕捉异常方式和转移异常方式。【 √ 】
17、一个异常处理中 finally语句块只能有一个或者可以没有。 【 √ 】
18、在Java程序多线程程序设计中,run()方法的实现有实现Runnable接口和继承Thread类。【 √ 】
19、多个线程并发执行时,各个线程中语句的执行顺序是确定的,但是线程之间的相对执行顺序也是确定的。【 × 】
20、数组可以声明为任何数据类型。【 √ 】

四、简答题

1、举例说明方法重载和重写的区别?
答案:方法重载:参数类型和数量不同,方法名相同,与访问修饰符和返回值类型都无关
方法重写(覆盖):参数类型和数量,方法名一定相同,只是实现的功能不同,所允许访问范围不能小于原方法,所抛异常不能比原方法多。

2、给方法传递数组参数与传递基本数据类型变量的值有何不同?
答案:对于基本数据类型参数,传递的是实参的值。对于数组类型的参数,参数值是数值的引用,给方法传递的是这个引用。

3、Java类中的方法参数为int[][] a,在该方法中如何获得该数组存储数据的行数和每行的数据个数?
答案:行数r:int r=a.length;
每行数据个数c(列数):
int c;
for(int i=0;i<r;i++)
c=a[i].length;

4、启动一个线程是用run()还是用start()?为什么?
答案:启动一个线程用start(),使线程所代表的虚拟处理机处于可运行状态,这意味着它可以有JVM来调度和执行,这并不意味着线程就立即执行。run()方法可以产生必须退出的标志来停止一个线程。
巧记:马拉松比赛时,先start(),选手才开始run()

5、Java流被称为字节流和字符流,两者的区别是什么?
答案:它们处理数据的类型不同,读写的时候一个是按字节读写,一个是按字符

6、什么是流?流式输入和输出有什么特点?
答案:流是根据连续传输特性命名的一种信息序列,也可以认为是一种抽象的数据结构。
特点是:

  1. 先进先出。先被写入的数据,在读取时吓你被读取
  2. 顺序存取。不能随机访问中间的数据
  3. 只读或者只写。要么是输入流,要么是输出流

7、简述Java郁郁阿奴异常处理机制的优点?
答案:可以预防错误的程序代码或系统错误所造成的不可预期的结果发生,增加程序的灵活性,可读性和健壮性。

8、Thread 和Runnable有什么不同?
答案:Runnable是接口,Thread是类并且实现了接口Runnable,第二Runnable没有start()方法,要想启动线程必须调用Thread中的start方法,例如new Thread(r).start();自定义线程时,runnable是比较灵活的

9、String和StringBuffer类的区别?
答案:在连接字符串操作中,StringBuffer效率比String效率更高,String改变的时候是改变地址,而StringBuffer才改变的值。

10、线程的控制方法sleep()和wait()有什么区别?
答案:sleep()方法让线程进入睡眠转态,睡眠过后自动醒来
wait()方法让线程进入等待转态,直到被另一线程唤醒

五、应用编程题

1、基于面向对象设计思想编程实现从标准输入中读取1个浮点数,表示一个圆的半径,设计一个圆Circle类型,通过读取的数创建一个Circle对象,通过调用该对象完成计算该圆的面积。
要求:主程序名为Question.java.计算的面积标准输出,结果保留2位小数。

参考答案:
Question.java文件内容如下:
import java.util.*;
class Question
{
public static void main(String[] args)
{
double r;
Scanner in=new Scanner(System.in);
r=in.nextDouble();
Circle cr=new Circle®;
System.out.printf(“圆的面积=%.2f\n”,cr.getArea());
}
}

class Circle
{
private double r,area;
public Circle(double r){
this.r=r;
area=Math.PIrr;
}
public double getArea(){
return area;
}

}

猜你喜欢

转载自blog.csdn.net/GTWZeus/article/details/106856529