java 2018.4

test 提交于 周五, 02/26/2021 - 17:34

第一部分选择题

一、单项选择题:本大题共l0小题,每小题l分,共10分。在每小题列出的备选项中

    只有一项是最符合题目要求的,请将其选出。

1.下面关于Java语言的说法中,错误的是 B

    A.Java是一个纯面向对象的语言

    B.Java语言中有指针、结构和类型定义的概念

    C.Java语言是与平台无关的,可以在不同的操作系统下运行

    D.Java语言具有自动无用内存回收机制

2.在Java语言中,int整型量在内存中占 C

    A.8位     B.16位

    C.32位    D.64位

3.在Java语言中,switch关键字之后的表达式的计算结果不能是 D

    A.char型    B.int型

    C.short型   D.10n9型

4.在Java语言中,类的多个实例对象所共享的变量被称为 A

  A.静态变量    B.全局变量

  C.实例变量    D.共享变量

5.以下对二维数组a的声明中,正确的是 C

  A.int a[4][6];             B.int a[4][6]=new int[4][6];

  C.int a[][]=new int[4][];  D.int a[][]=new int[][6];

6. Java允许一个类实现多个接口,从而实现了 C

    A. 单重继承     B. 方法覆盖

    C. 多重继承     D. 方法签名

7. 以下专门用于字符流处理的类是 B

    A. BufferedInputStream和BufferedOutputStream

    B. InputStreamReader和OutputStreamWriter

    C. FileInputStream和FileOutputStream

    D. ObjectInputStream和ObjectOutputStream

8. 绘图区域的坐标原点位于该区域的 左上角。

9. 方法setMnemonic()的作用是 位菜单项设置快捷键。

10. 以下方法中不能实现挂起线程的是 B

    A. sleep()      B. notify()     C. wait()       D. join()

 

二、填空题

 

11. 在Java虚拟机中可以运行Java的 字节码(或class) 文件。

12. 表达式-128>>4的值是 -8

13. 在异常处理中,包含有捕获及处理某种类型异常代码的是 catch 类。

14. 在Java中,允许多个方法使用同一个方法名,这就是方法名的 重载

15. 已知定义String s1=”ab”, s2=new String(“ab”);,则s1==s2的值是 false

16. 在接口中定义的成员变量默认为 终极(或final) 和静态属性。

17. 把对象转换为字节序列的过程成为对象的 序列化

18. 每个由BorderLayout管理的容器通常被划分为 5 个区域。

19. 要显示标准确认对话框,可使用JOptionPane类中的 showConfirmDialog() 方法。

20. 线程一共有四种状态:新建、可运行状态、死亡及 阻塞

 

三、简答题

 

21. 请写出Java语言中标识符的命名规则。

标识符是由字母、数字、下划线或美元符组成的字符串,其中数字不能作为标识符的开头,并区分大小写。

 

22. 请写出package语句和import语句的区别。

①package语句为包语句,每个文件最多只有一个,且必须放在文件开始的地方。

②import语句为引入语句,可以没有,也可以有多个,如果有,必须放在所有类定义的前面。

 

23. 请写出与数组相比,Vector对象的特点。

①Vector对象的大小可以根据需要来改变。

②Vector对象保存的元素的类型可以不一样。

 

24. 请写出用Thread类的子类创建线程并启动线程所包含的步骤。

①从Thread类派生出一个子类。

②实现run()。

③用该类创建一个对象。

④用start()方法启动线程。

 

25. 请写出Java语言中的事件处理机制。

事件被直接送往产生这个事件的组件,组件需要注册一个或多个侦听程序。侦听程序的类中包含了事件处理程序。用来接收和处理该事件。

 

四、程序填空题

 

26. 以下fact方法的功能是求n的阶乘。

static long fact(int n){

        int i; long f=1;

        for(i=1;i<=n;i++)

            f=f*i;

        return f;

}

27. 以下程序读取键盘输入,当按下回车时,将输入的内容显示在屏幕上。

import java.io.*;

public class Test27{

    public static void main(String [] args){

        try{

            InputStreamReader dis=new InputStreamReader(System.in);

            BufferedReader reader=new BufferedReader(dis);

            String s;

            while((s=reader.readLine())!=null){

                System.out.println(s);

            }

            reader.colse();

        }catch(IOException e){

            System.out.println(e);

        }

    }

}

28. 以下paintComponent方法利用Graphics2D绘制一个左上角坐标是(10,30),边长为50的红色正方形。

public void paintComponent(Graphics g){

    Graphics2D g2d=(Graphics2D)g;

    g2d.setColor(Color.red);

    Rectangle2D rec=new Rectangle2D.Double(10,30,50,50);

    g2d.draw(rec);

}

 

五、程序分析题

 

29. 阅读下列程序,写出该程序的输出结果。

    public class Test29{

        public static void main(String[] args){

            String s=”This Is A String!”;

            String s1=s.toLowerCase();

            System.out.println(“s1=”+s1);

            StringBuffer s2=new StringBuffer(s);

            System.out.println(“s2.length=”+s2.length());

            StringBuffer s3=s2.replace(2,4,”at”);

            System.out.println(“s3=”+s3);

        }

    }

结果:

s1=this is a string!

s2.length=17

s3=That Is A String!

 

30. 阅读下列程序,请写出该程序的输出结果。

    class Test{

        public void methodA(){

            System.out.println(“Call Test’s methodA()”);

        }

        public void methodB(){

            System.out.println(“Call Test’s methodB()”);

            methodA();

        }

    }

    class Test30 extends Test{

        public void methodA(){

            System.out.println(“Call Test30’s methodA()”);

        }

        public static void main(String args[]){

            Test30 g=new Test30();

            g.methodA(); g.methodB();

        }

    }

结果:

Call Test30’s method()

Call Test’s method()

Call Test30’s method()

 

31. 阅读下列程序,请写出该程序的功能。

    class MyThread extends Thread{

        public MyThread(String s){setName(s);}

        public void run(){

            for(int i=0;i<6;i++){

                System.out.println(getName());

                try{sleep(500);

                }catch(InterruptedException e){}

            }

        }

    }

    public class Test31{

        public static void main(String args[]){

            new MyThread(“线程A”).start();

            new MyThread(“线程B”).start();

        }

    }

该程序随机输出“线程A”“线程B”,分别是6次。

 

六、程序设计题

 

32. 请编写方法int[] invertArray(int []a),该方法返回一个数组b,b中元素顺序为数组a中元素的逆序。

int[] invertArray(int []a){

//代码如下

int []b=new int[a.length];

for(int i=0,i<a.length;i++){

    b[i]=a[a.length-i-1];

}

return b;

//代码

}

 

33. 以下MyWindow类根据给定的选择项目表构造一组复选按钮,当某个复选按钮的选择状态有改变(从选中边长未选中,或从未选中变成选中)时,复选按钮的侦听程序将在右边文本框中输出所有选择项目状态。

注:这里是给定程序的部分代码,你要编写的代码是改变复选按钮状态时所完成的事件。

import javax.swing.*;import java.awt.*;import java.awt.event.*;

class MyWindow extends JFrame implements ItemListener{

    JTextArea text; JCheckBox[] box;

    String boxName[]={“张三”,”李四”,”王五”};

    MyWindow(String s){

        super(s);

        Container con=this.getContentPane();

        con.setLayout(new GridLayout(1,2));

        setLocation(100,100);

        JPanel panel=new JPanel();

        int len=boxName.length;

        panel.setLayout(new GridLayout(len 1));

        box=new JCheckBox[len];

        for(int i=0;i<len;i++){

            box[i]=new JCheckBox(boxName[i],false);

            box[i].addItemListener(this);

            panel.add(box[i];

        }

        text=new JTextArea(4,10);

        con.add(panel); con.add(text);

        setVisible(true);   pack();

    }

    public void itemStateChanged(ItemEvent e){

        text.setText(null);

    //此处为编写代码

        for(int i=0;i<box.length;i++){

            if(box[i].isSelected())

                text.append(boxName[i]+”被选中\n”);

            else

                text.append(boxName[i]+”没有被选中\n”);

        }

 

    //代码结束

    }

}

public class Test33{

    public static void main(String args[]){

        new MyWindow(“试题33”);

    }

}

 

Article type