《Java程序设计》课程试题


《  Java程序设计   》课程试题

                                          
一、单项选择题(20题;每题2分,共40分)
1、若数组a定义为int[][]a=new int[3][4],则a是___。
A)一维数组        B)二维数组        C)三维数组        D)四维数组
答案:B            (难度系数C  知识点: 数组)

2、    Java语言使用的字符码集是____。
A)Unicode        B)BCD        C)DCB        D)ASCⅡ
答案:A             (难度系数C  知识点:编码)

3、下列关于Java Application程序特点的描述中,错误的是 ___。
A) 该程序只能是一个名字与主类名相同的文件组成。
B)该程序中仅有一个主方法,并被包含在某个类中。
C) 该程序中没有不属于某个类的方法。
D)该程序实际上是一个类串。
答案:D    (难度系数C  , 知识点:JAVA语言特点)

4、下列属于Java合法的一组标识符是_____。
   A)void    define   "ABC"   _sys_tea
   B)If       _123    $points   myName               
   C) &5678    class    case     #time     
   D)DO     +static    25c     My_name          
答案:B  (难度系数C , 知识点:JAVA语言标识符)
5、在Java中,关键字_____使类不能派生出子类。
A) final       B)public        C)volatile      D)native
答案:A   (难度系数A , 知识点:继承)
6、以下关于循环语句描述正确的是___。
A) for循环不可能产生死循环
B)while循环不可能产生死循环
C) for循环不能嵌套while循环
D) 即使条件不满足do……while循环体内的语句也至少执行一次
答案:D  (难度系数B)知识点:循环 
7、以下对选择语句的描述错误的是___。
A)根据某一条件重复执行一部分代码直到满足终止循环条件为止
B) 可以根据条件控制程序流程,改变程序执行的顺序
C)选择语句可以嵌套使用
D)当条件满足时就会执行相应的语句
答案:A  (难度系数 C)知识点:选择结构
8、Java中___类提供了随机访问文件的功能. 
A)RandomAccessFile     B)RandomFile     C)File    D)AccessFile 
答案:A  (难度系数B)知识点:数据流
9、实现一个继承接口Runnable的类需要实现___方法。    
A)  start  B)run   C) wait  D)paint
答案:B  (难度系数B)知识点:多线程
10、可以改变容器布局的语句是___。
A)addLayout(myLayout)    B)layout(myLayout)
C) setLayout(myLayout)    D)setLayoutManager(myLayout) 
答案:C (难度系数B)知识点:GUI编程
11、下列代码的输出是______。
public class test{
     public static void main(String args[]){
System.out.print("IBM
01263ABC\".length( ));
}
}
A) 12                      B) 13        
C) 14                      D) 15
答案    A     (难度系数C   知识点: 字符串)        
12、下列关于构造方法的叙述中,错误的是___。
A)Java语言规定构造方法名与类名必须相同
B)Java语言规定构造方法没有返回值,但不用void声明
C)Java语言规定构造方法不可以重载
D)Java语言规定构造方法只能通过new自动调用
答案:C (难度系数B)知识点:构造方法
13、 关于被私有访问控制符private修饰的成员变量,以下说法正确的是___。
A)可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B)可以被两种类访问和引用:该类本身、该类的所有子类
C)只能被该类自身所访问和修改
D)只能被同一个包中的类访问
答案:C (难度系数B)知识点:类的继承
14、以下语句正确的是___。
A) x+1=5;    B) i++=1; C) a++b=1;    D)  x+=1;
答案:D  (难度系数B)知识点:表达式
15、以下结果为真(true)的是___。
A)10>’a’    B)’a’>20    C) !true   D)(3<5) && (4>10)
答案:B  (难度系数B)知识点:表达式
16、int a=’2’; a的值是___。
A)1  B)50 C)49 D)2
答案:B (难度系数B)知识点:表达式
17、下面选项中,___不可以用作变量名的首字符。
A)字母  B)下划线(_)  C)数字  D)美元符号(¥)
答案:C (难度系数C)知识点:变量
18、 在HTML中,用________标签来强制显示Applet。
A)  name,height,width       B)codebase, height,width    
 C) code,name                   D) code, height,width
答案:D (难度系数B)知识点:小应用程序
19、在JAVA编程中,基于线程的多任务处理环境中,执行特定任务的可执行代码的最小单位是__ _____。
   A)进程                       B)线程
C)应用程序                    D)服务
答案:B (难度系数A,知识点:线程)

20、intpublic 成员变量 MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是____。
A)public int MAX_LENGTH=100
B)final int MAX_LENGTH=100
C)public const int MAX_LENGTH=100
D)public final int MAX_LENGTH=100
答案:D;(难度系数:C;知识点:语法基础)

二、填空题(10题;每题2分,共20分)
1、表达式1/2*3的结果是____。
答案:0  (难度系数 B)知识点:表达式
2、定义一个包含7个元素的数组a,则该数组的最后一个元素是          。
答案:a[6]  (难度系数C)知识点:数组
3、在Java中只能实现单继承(Java不支持多重继承),但可通过         实现多重继承。
答案:接口 (难度系数 B)知识点:接口
4、 Applet的生命周期是有init()、start()、stop()、destroy()这4个方法构成的,在程序执行过程中,        方法只被调用执行一次,但 start()方法可以多次被调用执行。
答案:init( )  (难度系数B)知识点:小应用程序
5、在定义类时,指明类成员的权限修饰符有           、          
和               。
答案public  protected  private    难度系数B  知识点:类的定义

6 已知:int a[ ]={2,4,6,8};  则:表达式(a[0]+=a[1])+ ++a[2]值为_________
答案:_13_   (难度系数B        知识点:数组)
7 JDK提供的编译器是___。
答案:javac.exe (难度系数B)知识点:JAVA简介
8 设 x = 2 ,则表达式 ( x + + )/3 的值是        。
答案:0  (难度系数 B)知识点:表达式
9 构造方法只能通过         运算符调用,用户不能直接调用。
答案:new   (难度系数 B)知识点:构造方法
10线程同步执行过程中,wait()方法与        方法是匹配使用,否则易造成死锁。
答案:notify    (难度系数 A)知识点:线程同步

三、判断题(10题;每题1分,共10分)

1. ( )由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。 
答案:错            难度系数:   C        知识点:类继承

2.( )注释的作用是使程序在执行时在屏幕上显示//之后的内容。                    
答案:错            难度系数:   C        知识点:函数注释
3.( )在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。                                              
答案:错        难度系数:   B        知识点:异常处理
4. ( )Java是区分大小写的语言,关键字的大小写不能搞错,如果把类class写成Class或者CLASS,都是错误的。
答案:对  (难度系数B)知识点:关键字
5.( )JAVA语言对内存的释放是采用垃圾自动回收机制。JAVA虚拟机自动判断并收集“垃圾”,但一般不立即释放它们的存储空间。
答案:对  (难度系数B)知识点:内存回收
6.( )子类可以继承父类所有的成员变量和成员方法。
答案:错  (难度系数B)知识点:继承
7.(  )java程序是由若干个类定义组成的。
   答案 对   难度系数 C  知识点:程序结构

8.(  )在面向对象方法中,类的实例称为对象。()
答案:对;难度系数:C;知识点:面向对象基础。

9.( )即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。                                                                  

答案:对        难度系数:  C         知识点:构造函数    
10.()Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。  
答案:错          难度系数: C          知识点:类实例化

四、程序填空题(1题;每题5分,共5分)
1.以下为一个java的完整程序,它定义了一个类Car,并在程序中创建了一个该类的对象DemoCar,调用该对象的set_number方法设置车号属性为3388,调用该对象的show_number方法输出车号。
//Car.java
class Car
{ int car_number;
 void set_number(int car_num)
 {  car_number=car_num    ;} 
 void show_number()
 {  System.out.println(“My car No. is :”+car_number); }
}
}
//CarDemo.java
class CarDemo
{ public static void main(String args[])
   {   Car Democar=   (1)      ;//构造一辆车
        DemoCar.  (2)         ; //设置车号为3388
        DemoCar.   (3)     ; //显示车号
}
}
难度系数B    知识点:JAVA类特性
答案:(1)new  Car()
(2)set_number(3388)
(3)show_number()


五、读程序写结果(1题;每题5分,共5分)
1.写出下列程序在控制台窗口中的输出结果。
public class J_Hanoi
{
    public static void mb_hanoi(int n, char start, char temp, char end)
    {
        if (n<=1)
            System.out.println("将盘从" + start + "移到" + end);
        else
        {
            mb_hanoi(n-1, start, end, temp);
            System.out.println("将盘从" + start + "移到" + end);
            mb_hanoi(n-1, temp, start, end);
        } // if-else结构结束
    } // 方法mb_hanoi结束

    public static void main(String args[ ])
    {
        mb_hanoi(3, 'S', 'T', 'E');
    } 
} 
程序运行结果是:                  

(难度系数 B)
答案:将盘从S移到E
将盘从S移到T
将盘从E移到T
将盘从S移到E
将盘从T移到S
将盘从T移到E
将盘从S移到E
知识点:迭代

六、编程题(2题;每题10分,共20分)

1 从标准输入(即键盘)读入10个整数存入整型数组a中,然后逆序输出这10个整数。
难度系数A   
知识点:JAVA输入输出
答案:  
  import Java.io.* ;
  public class Reverse{
  public static void main(String args[ ]){ 
      int i,n=10 ;
    int a[ ]=new int[10];
    for(i=0;i<n;i++)
     try {
   BufferedReader br=newBufferedReader(new InputStreamReader(System.in));
   a[i]=Integer.parseInt(br.readLine( ));   // 输入一个整数
     } 
     catch (IOException e) { } ;
     for (i=n-1;i>=0;i--)
      System.out.print(a[i]+"  ");
      System.out.println( );
    }
  }

2设计雇员Employee类,记录雇员的情况,包括姓名、年薪、受雇时间,要求定义MyDate类作为受雇时间,其中包括工作的年、月、日,并用相应的方法对Employee类进行设置。编写测试类测试Employee类。要求使用自己的包。
(难度系数 A   知识点:类的定义 )
答案:package mypackage.employee;
  class MyDate{
  private int year;
  private int month;
  private int day;
  public MyDate(int year,int month,int day){
  this.year=year;
  this.month=month;
  this.day=day;
  }
  public int getYear(){
  return year;
  } 
  }
  public class Employee{
  private String name;
  private double salary;
  private MyDate hireDay;
  public Employee(String name,double salary,MyDate day){
  this.name=name;
  this.salary=salary;
  hireDay=day;
  }
  public void print(){
  System.out.println(name+ ""+salary+""+hireYear());
  }
  public int hireYear(){
  return hireDay.getYear();
  }
  }
  class TestEmployee{
  public static void main(String [] args){
  Employee a=new Employee("李明",20000,new MyDate(2000,10,1));
  Employee b=new Employee("王强",24000,new MyDate(1995,8,12));
  a.print();
  b.print();
  }
  }
原文地址:https://www.cnblogs.com/zjulanjian/p/10906246.html