2017年10月高等教育自学考试《Java语言程序设计(一)》试题
课程代码:04747
一、单项选择题
1.编译Java应用程序源程序会产生字节码文件,字节码文件的扩展名为(B) A..java B..class C..html D..exe 2.表达式-1>>1的值是(B) A.232-1 B.-1
C.216-1 D.2147483647
3.为类C定义一个int类型的变量x,使得只有同类和同包的其它类能使用代码C.x就可引用它,则定义x的形式为(A)
A. static int x; B. public int x; C. protected static int x; D. public static int x;
4. 设有字符串变量String s1=\则以下表达式的值为true(D)
A. s1.compareTolgnoreCase(s2) B. s1.compareTo(s2) C. s1==s2 D. s1.equals(s2) 5.在以下Swing的类中,属于容器的是(A)
A. JDialog B. JButton C. JTextArea D. JList
6.在以下叙述中,属于CardLayout布局特点之一的是(D) A.多个组件从上到下排列 B.容器只能放置一个组件 C.容器被分成网格状 D.多个组件拥有同一个显示空间
7.Java组件可以使用抽象类Toolkit提供的静态方法获得一个缺省的Toolkit对象,这个静态方法是(C)
A. getlmage(String name) B. getlmage(URL ur1) C. getDefaultToolkit() D. getToolkit()
8.一个线程要从运行状态自动进入就绪状态,需要使用的方法是(C) A.notify() B.sleep() C.yield() D.wait()
9.程序将创建输入流的代码写在try-catch语句结构中,其目的是捕获并处理(C) A.文件太长异常 B.打开文件太多异常 C.文件找不到异常 D.文件含有病毒异常
10.在Java语言中,用来处理驱动程序的加载和建立新数据库连接的类是(A)
A. DriverManager B. Statement C. Connection D. ResultSet
二、填空题
11.Java源文件中最多只能有一个 public 类,其他类的个数不限。 12.Java语言使用的字符集是 Unicode 。
13.在Java语言中,package语句必须出现在源程序文件的 起始行 。 14.以下代码的输出结果是 45 。 Integer x = 234567;
System.out.println(x.toString().substring(2,4));
15.在Java程序中,设置文本区对象myArea能自动换行的语句是 myAreasetLineWrap(true); 。 16.Java语言为处理鼠标事件提供了多个接口,其中能处理鼠标拖动和鼠标移动两种事件的接口是 MouseMotionListener 。
17.Graphics2D类定义了多种图形的状态属性,其中用来控制线条的宽度、笔形样式、线段连接方式或短划线图案的属性是 stroke 。
18.当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程继续执行的要求,这时线程A就要等待线程B完成修改工作,这种线程相互等待称为 线程的同步 。
19.使用RandomAccessFile类的 writeChar() 方法可以向文件写入一个字符。
20.使用语句对象作数据库查询,能获得带游标的结果集ResultSet对象,此对象中将游标移到最后一行之后的方法是 afterLast() 。
三、简答题
21.请写出“条件x=2与y=3有且只有一个成立”的表达式。 答:x==2&&y!=3||x!=2&&y==3 (或 x==2!=y==3)
22.以下代码定义了一个类,请用注释中的编号指出其中有错的代码行。 class Test22{int x;
Test22(int x){this.x=x;}) //1 Test22(){Test22(10);} //2 int f(){ //3
inta=1; x=a; //4 void g(){ int y; //5 y=a+x; //6 } }
答:2、3、6
23.请写出在java.awt.event中,用来检测并对事件做出反应的模型所包括的三种对象。 答:源对象、监视器对象和事件对象。
24.请写出在Java语言中,关键字synchronized的作用。
答:使用关键字synchronized定义临界段,能对共享对象的操作上锁。 25.请写出采用缓冲式输入方式,按行输入文件内容的步骤。
答:先创建FileReader对象,再利用FileReader对象创建BufferedReader对象,然后对该对象使用readLine()方法。
26.已知服务器的IP地址为host,端口号为port,请写出为客户端建立到服务器的套接字对象mySocket的代码(可能发生的例外类型为IOException)。
答:try{
Socket mySocket: new Socket(host, port); }catch(IOException e){ }
四、程序填空题
27.方法int countDigitNum(int[]a,d)的功能是求己知数组a中元素值为d的个数。 static int countDigitNum(int []a, d){ int s=0;
for(int i=0; i 28.面板子类MyPanel实现在面板上放置一个单选列表框,列表框上的选项条目由创建该类对象时的参数提供。当某个选项被单击时,类的监视程序在指定的文本框中输出选中选项条目。程序将单选列表框放置于滚动面板中,并要求滚动面板的垂直滚动条总是可见。以下是类MyPanel的定义。 class MyPanel extends JPanel implements ListSelectionListener { JList list; JTextField t~; MyPanel(String listItems[], JTextField tf) { this.tf = tf; list = new JList(listitems); list.setVisibleRowCount(2); list.setSelectionMode(ListSelectionModel. S]NGLE_SELECTlON); list. addListSelectionListener(this); JScrollPane jsp = new JScrollPane(list); jsp.setVerticalScrollBarPolicy(JScrollPane. VERTICAL SCROLLBAR ALWAYS ); add(jsp); } public void valueChanged(ListSelectionEvent e) { if(e.getSource0 == list) { tf. setText(list. getSelectedValue() + \被选中\\n\ } } } 29.面板子类MyPanel实现在面板监视鼠标单击事件,当鼠标在面板上单击时,面板的背景色就会循环改变。以下是类MyPanel的定义。 class MyPanel extends JPanel implements MouseListener { int index = 0; Color bgColorA[] -- { Color.red, Color.yellow, Color.blue }; MyPanel(){ addMouseListener(this); index = 0;