收藏 分销(赏)

全国自考Java语言程序设计(一)模拟试卷(一).doc

上传人:人****来 文档编号:9758345 上传时间:2025-04-06 格式:DOC 页数:46 大小:139.50KB 下载积分:12 金币
下载 相关 举报
全国自考Java语言程序设计(一)模拟试卷(一).doc_第1页
第1页 / 共46页
全国自考Java语言程序设计(一)模拟试卷(一).doc_第2页
第2页 / 共46页


点击查看更多>>
资源描述
全国自考Java语言程序设计(一)模拟试卷(一) 窗体顶端 一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下列正确的句子是() (1分) A:float 3.14; B:byte i=225; C:int k=33L; D:int p[][]; 2.当使用类中的read()方法时,如果没有读入一个字节数据时,返回值为() A:0 B:-1 C:true D:false 3.能够支持 javadoc 命令的文档注释形式是() (1分) A:/**...// B:/*...*/ C:// D:/**...*/ 4.以下程序代码的输出结果是() int x=100; System.out.println(5.5+x/8); (1分) A:18 B:17.5 C:9.5 D:5.512 5.当用户在文件对话框中选择了文件并按下了“打开/保存”按钮后,程序可利用一个方法取得文件对象,并针对这个对象使用getName()取得文件名,使用getPath()取得文件的路径,则这个方法是() (1分) A:getFile() B:getSelectFile() C:getSelectedFile() D:getDescription() 6.在 Java 中,表示换行符的转义字符是() (1分) A:A B:B C:C D:D 7.一个实现Runnabel接口的类必须要实现的方法是() (1分) A:start() B:run() C:sleep() D:init() 8.下列有关Java的叙述错误的是() (1分) A:强类型语言 B:与平台无关 C:可以使用汉字变量名 D:不检查数组下标越界 9.下列有关数组的叙述错误的是() (1分) A:数组是将一组相同类型的数据顺序存储,组成一种复合数据类型 B:在Java语言中,数组是一种引用类型,数组名如同对象名一样,是一种引用 C:对于多维数组,从最高维开始,可以对每一维分配不等长的空间 D:在Java语言中,数组元素可以互相赋值,而数组名不能直接赋值 10.当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程B完成修改工作,这种现象称为() (1分) A:线程的同步 B:线程的互斥 C:线程的调度 D:线程的就绪 二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。 1.在switch 语句中,通过语句退出 switch 语句,使程序从整个 switch 语句后面的第一条语句处开始执行。 (2分) 2.在 Java 中所有实现的多维数组,实际上是由一维数组构成的。 (2分) 3.为实现线程同步,Java语言提供了notify()、notifyAll()和三个方法供线程在临界段中使用。 (2分) 4.Java语言使用Unicode字符集,共有个字符。 (2分) 5.闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。如果年份用整数类型变量y表示,则y年是闰年的条件用逻辑表达式可描述为。 (2分) 6.Java语言中,逻辑类型用关键字标识,也称布尔类型。 (2分) 7.Java程序能实现多线程并行执行,为了让一个线程暂停执行,其他线程有机会被执行,可对要暂停的线程执行方法。 (2分) 8.Java应用程序和小应用程序都由一个或多个扩展名为的文件组成。 (2分) 9.将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。 (2分) 10.键盘事件的接口是。 (2分) 三、程序填空题(本大题共5小题,每空2分,共20分) 1.下面小应用程序启动后自动播放一个声音文件“1.wav”。 import java.applet.*; public class Class3001 extends Applet { public void start() { =getAudioClip(getCodeBase(),"1.wav"); clip.; } } (2分) 2.下列程序的功能是每隔一秒钟输出一个字符串“Hello!”。 public class C3101 implements Runnable { public static void main(String args[]) { C3101 t=new C3101(); Thread tt=new Thread(t); tt.start(); } public void run() { for(;;) { try{ ; }catch(){} System.out.println("Hello"); } } } (2分) 3.设计一个JFrame窗口,窗口中心有一个文本区。另有4个菜单,每个菜单都有菜单项,每个菜单项都对应有快捷键,选择某个菜单项时,窗口中心的文本区显示相应信息。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class C2902 implements ActionListener { JTextField text=new JTextField(20); String t[]={"文件","编辑","格式","帮助"}; Menu menu[]=new Menu[4]; String s[]={"打开","保存","复制","粘贴","字体","段落","小助手","关于"}; MenuItem jmi[]=new MenuItem[8]; C2902() { JFrame myWin=new JFrame("Ex0606"); myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container con=myWin.getContentPane(); con.add(text,"Center"); text.setEditable(false); myWin.setMenuBar(jmb); int i; for(i=0;i<4;i++)//生成四个菜单 { menu[i]=new Menu(t[i]); jmb.add(menu[i]); } for(i=0;i<8;i++)//每个菜单中放两个菜单项 { jmi[i]=new MenuItem(s[i]); menu[i/2].add(jmi[i]); jmi[i].addActionListener(this); jmi[i].(new MenuShortcut(65+i));//设快捷键 } myWin.setBounds(300,200,400,200); myWin.setVisible(true); } public void actionPerformed(ActionEvent e) { text.setText("你选择了:"+e.getActionCommand()+"菜单项."); } public static void main(String[] args) { new C2902(); } } (2分) 4.下面应用程序,绘制一个红色五角星。请完成程序。 import java.awt.*; import javax.swing.*; class MyPanel extends JPanel { public void { int r=100; int x1=100, x2=(int)(r*(1-Math.cos((18*Math.PI)/180))), x3=(int)(r*(1+Math.cos((18*Math.PI)/180))), x4=(int)(r*(1-Math.cos((54*Math.PI)/180))), x5=(int)(r*(1+Math.cos((54*Math.PI)/180))), y1=0, y2=(int)(r*(1-Math.sin((18*Math.PI)/180))), y3=(int)(r*(1-Math.sin((18*Math.PI)/180))), y4=(int)(r*(1+Math.sin((54*Math.PI)/180))), y5=(int)(r*(1+Math.sin((54*Math.PI)/180))); g.drawOval(0,0,200,200); g.drawLine(x4,y4,x1,y1);g.drawLine(x1,y1,x5,y5); g.drawLine(x5,y5,x2,y2);g.drawLine(x2,y2,x3,y3); g.drawLine(x3,y3,x4,y4); } } public class C3002 extends JFrame { C3002() { super("C3002"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); getContentPane().add(new MyPanel()); setSize(210,242); setVisible(true); } public static void main(String[] args) { new C3002(); } } (2分) 5.下面程序运行后,连续输出20个相同的单词。请完成程序。 public class C3102 { public static void main(String args[]) { t.start(); } } class Hello implements Runnable { int i=0; public void run() { while() { System.out.print(i+":Hello"); } } } (2分) 四、程序分析题(本大题共5小题,每小题4分,共20分) 1.写出下面程序的运行结果。 public class Test extends TT { public static void main(String args[]) { Test t=new Test("Tom."); } public Test(String s) { super(s); System.out.print("How are you?"); } public Test() { this("I am Jack."); } } class TT { public TT() { System.out.print("Hi!"); } public TT(String s) { this(); System.out.print("I am "+s); }   } (4分) 2.阅读下面程序,写出程序功能。 import java.applet.*;import java.awt.*; public class Class3602 extends Applet implements Runnable { Thread redBall,blueBall;Graphics redPen,bluePen; int blueSeta=0,redSeta=0; public void init() { setSize(250,200); redBall=new Thread(this);blueBall=new Thread(this); redPen=getGraphics();bluePen=getGraphics(); redPen.setColor(Color.red);bluePen.setColor(Color.blue); setBackground(Color.gray); } public void start() { redBall.start();blueBall.start(); } public void run() { int x,y; while(true) { if(Thread.currentThread()==redBall) { x=(int)(80.0*Math.cos(3.1415926/180.0*redSeta)); y=(int)(80.0*Math.sin(3.1415926/180.0*redSeta)); redPen.setColor(Color.gray); redPen.fillOval(100+x,100+y,10,10); redSeta +=3; if(redSeta>=360) redSeta=0; x=(int)(80.0*Math.cos(3.1415926/180.0*redSeta)); y=(int)(80.0*Math.sin(3.1415926/180.0*redSeta)); redPen.setColor(Color.red); redPen.fillOval(100+x,100+y,10,10); try {redBall.sleep(20);} catch(InterruptedException e){} } else if (Thread.currentThread()==blueBall) { x=(int)(80.0*Math.cos(3.1415926/180.0*blueSeta)); y=(int)(80.0*Math.sin(3.1415926/180.0*blueSeta)); bluePen.setColor(Color.gray); bluePen.fillOval(150+x,100+y,10,10); blueSeta-=3; if(blueSeta<=-360) blueSeta=0; x=(int)(80.0*Math.cos(3.1415926/180.0*blueSeta)); y=(int)(80.0*Math.sin(3.1415926/180.0*blueSeta)); bluePen.setColor(Color.blue); bluePen.fillOval(150+x,100+y,10,10); try {blueBall.sleep(40);} catch(InterruptedException e){} } } } } (4分) 3.阅读下列程序,写出运行结果。 public class Class3205 { public static void main(String[] args) { String str1="abc"; String str2="Abc"; String str3="abc"; String str4=new String("abc"); System.out.println(str1==str2); System.out.println(str1.equals(str2)); System.out.println(str1==str3); System.out.println(str1.equals(str3)); System.out.println(str1==str4); System.out.println(str1.equals(str4)); } } (4分) 4.阅读下列程序,写出程序功能。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Class3505 implements AdjustmentListener { JScrollBar js; JLabel label; int size=20; public Class3505() { JFrame myWin=new JFrame("Class3505"); myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); myWin.setBounds(200,200,400,400); Container con=myWin.getContentPane(); js=new JScrollBar(JScrollBar.HORIZONTAL,20,10,1,210); js.setSize(new Dimension(395,50)); js.addAdjustmentListener(this); con.add(js); label=new JLabel("Class3505"); con.add(label); myWin.setVisible(true); } public void adjustmentValueChanged(AdjustmentEvent e) { size=e.getValue(); Font f=new Font(label.getFont().getName(), label.getFont().getStyle(),size); label.setFont(f); } public static void main(String[]args) { new Class3505(); } } (4分) 5.阅读下面程序,写出程序运行结果。 class printer { synchronized void printchar(char ch) { for (int i=1;i<=3;i++)System.out.print(ch); System.out.println(); } } class printerThread extends Thread { printer ptr; char ch; printerThread(printer ptr,char ch) { this.ptr=ptr; this.ch=ch; } public void run() { for (int i=1; i<=3;i++)ptr.printchar(ch); } } public class Class3605 { public static void main(String[] args) { printer ptr=new printer(); printerThread pt1=new printerThread(ptr,A); printerThread pt2=new printerThread(ptr,B); pt1.start(); pt2.start(); } } (4分) 五、程序设计题(本大题共2小题,每小题6分,共12分) 1.编写一个小应用程序,在小应用程序中有两个线程,一个负责模仿圆转运动,另一个模仿椭圆运动。已给出部分代码,请完成程序。 import java.awt.*; import java.applet.*; public class Class3804 extends Applet implements Runnable { Thread thread1,thread2; Graphics g; public void init() { setSize(500,500); setBackground(Color.gray); g=getGraphics(); g.setColor(Color.red); g.setXORMode(Color.blue); thread1=new Thread(this); thread2=new Thread(this); } public void start() { thread1.start(); thread2.start(); } public void run() { int x=0,y=0; while(true) { //这里是你要编写的代码 } } } (6分) 2.编写一个方法hex3705(),要求将一个以字符串(如有字母用大写)形式表示的十六进制数转换十进制正整数,其中字符串为方法参数,正整数为返回值。 (6分) 六、简答题(本大题共6小题,每小题3分,共18分) 1.请写出:提供缓冲式输出的类、采用缓冲输出时如果想立即写入文件就调用的方法。 (3分) 2.在以下类的声明中,指出哪些是错误的以及错误的原因? ①class Class22 extends Class2201,Class2202{......} ②public abstract class Class22{......} ③abstract final class Class22{......} ④abstract public class Class22{......} ⑤public abstract class String{......} ⑥public final class Class22 extends implement interface1{......} (3分) 3.文件随机访问应该利用什么类来实现?创建此类对象的代码应该能捕获什么类型的异常? (3分) 4.用一个Java语句完成下面的要求: 先将整型变量a的值加1,再把它加到变量b中。 (3分) 5.用一个Java语句完成下面的要求: 先把变量a与b的差赋值给变量c,再把变量b的值减1。 (3分) 6.请写一条语句,实现用预定的颜色填充一个突出显示的矩形色块,其中矩形左上角坐标为(200,100),右下角坐标为(400,500),调用的是类型为Graphics的g对象。 (3分) 窗体底端 参考答案 一、单项选择题 (本大题共10小题,每小题1分,共10分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1:参考答案:D 参考解析:(P71)声明二维数组的一般形式有以下3种: ①类型 数组名 [][] ②类型 [][] 数组名 ③类型 [] 数组名 [] 试题内容: 下列正确的句子是() A:float 3.14; B:byte i=225; C:int k=33L; D:int p[][]; 2:参考答案:B 参考解析:(P176)read()方法的返回值类型为int型,用-1表示流在读之前已结束。 试题内容: 当使用类中的read()方法时,如果没有读入一个字节数据时,返回值为() A:0 B:-1 C:true D:false 3:参考答案:D 参考解析:(P6)/**……*/这种注释是文档注释,文档注释能被实用程序javadoc接受,由它能自动生成程序的HTML文档。 试题内容: 能够支持 javadoc 命令的文档注释形式是() A:/**...// B:/*...*/ C:// D:/**...*/ 4:参考答案:B 参考解析:(P14)Java程序中的类只能继承一个类,这种继承称为单继承。Java语言虽不允许一个类继承多个类,但允许一个类实现多个接口。接口有与类相似的基本形式。 试题内容: 以下程序代码的输出结果是() int x=100; System.out.println(5.5+x/8); A:18 B:17.5 C:9.5 D:5.512 5:参考答案:C 参考解析:(P182) 试题内容: 当用户在文件对话框中选择了文件并按下了“打开/保存”按钮后,程序可利用一个方法取得文件对象,并针对这个对象使用getName()取得文件名,使用getPath()取得文件的路径,则这个方法是() A:getFile() B:getSelectFile() C:getSelectedFile() D:getDescription() 6:参考答案:A 参考解析:(P9) 试题内容: 在 Java 中,表示换行符的转义字符是() A:A B:B C:C D:D 7:参考答案:B 参考解析:(P163)本题考核知识点是Runnable接口的使用。实现一个接口必须实现接口中的所有方法,而Runnable接口只有一个方法run()。 试题内容: 一个实现Runnabel接口的类必须要实现的方法是() A:start() B:run() C:sleep() D:init() 8:参考答案:D 参考解析:(P3) 试题内容: 下列有关Java的叙述错误的是() A:强类型语言 B:与平台无关 C:可以使用汉字变量名 D:不检查数组下标越界 9:参考答案:D 参考解析:(P70)数组是一种引用类型,一个数组名在不同时间可引用不同的数组,数组名之间可以赋值。 试题内容: 下列有关数组的叙述错误的是() A:数组是将一组相同类型的数据顺序存储,组成一种复合数据类型 B:在Java语言中,数组是一种引用类型,数组名如同对象名一样,是一种引用 C:对于多维数组,从最高维开始,可以对每一维分配不等长的空间 D:在Java语言中,数组元素可以互相赋值,而数组名不能直接赋值 10:参考答案:A 参考解析:(P168) 试题内容: 当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程B完成修改工作,这种现象称为() A:线程的同步 B:线程的互斥 C:线程的调度 D:线程的就绪 二、填空题 (本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。 1:参考答案:(P23)break 试题内容: 在switch 语句中,通过_____语句退出 switch 语句,使程序从整个 switch 语句后面的第一条语句处开始执行。 2:参考答案:(P71)数组的数组 试题内容: 在 Java 中所有实现的多维数组,实际上是由一维数组构成的_____。 3:参考答案:(P168)wait() 试题内容: 为实现线程同步,Java语言提供了notify()、notifyAll()和_____三个方法供线程在临界段中使用。 4:参考答案:(P7)65536 试题内容: Java语言使用Unicode字符集,共有_____个字符。 5:参考答案:(P16)(y%4==0&&y%100!=0)||y%400==0 试题内容: 闰年的条件是:每4年一个闰年,但每100年少一个闰年,每400年又增加一个闰年。如果年份用整数类型变量y表示,则y年是闰年的条件用逻辑表达式可描述为_____。 6:参考答案:(P8)Boolean 试题内容: Java语言中,逻辑类型用关键字_____标识,也称布尔类型。 7:参考答案:(P161)sleep() 试题内容: Java程序能实现多线程并行执行,为了让一个线程暂停执行,其他线程有机会被执行,可对要暂停的线程执行_____方法。 8:参考答案:(P11).class [解析]Java程序的扩展名为“.class”,源程序的扩展名为“.java”。 试题内容: Java应用程序和小应用程序都由一个或多个扩展名为_____的文件组成。 9:参考答案:(P98)GridLayout [解析]常用的布局类:FlowLayout为依次放置组件;BorderLayout将组件放置在边界上; CardLayout将组件像扑克牌一样叠放,而每次只能显示其中的一个组件;GridLayout将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中;GridBagLayout能进行更精细的位置控制。 试题内容: _____将显示区域按行、列划分成一个个大小相等的格子,组件依次放入这些格子中。 10:参考答案:(P132)KeyListener [解析]键盘事件的接口是KeyListener,注册键盘事件监视器的方法是addKeyListener(监视器)。实现KeyListener接口的方法有3个: (1)keyPressed(KeyEvent e),键盘上某个键被按下。 (2)keyReleased(KeyEvent e),键盘上某下键被按下后,又释放。 (3)keyTyped(KeyEvent e),keyPressed和keyReleased两方法的组合 试题内容: 键盘事件的接口是_____。 三、程序填空题 (本大题共5小题,每空2分,共20分) 1:参考答案:AudioClip clip play() , 试题内容: 下面小应用程序启动后自动播放一个声音文件“1.wav”。 import java.applet.*; public class Class3001 extends Applet { public void start() { _____=getAudioClip(getCodeBase(),"1.wav"); clip._____; } } 2:参考答案:sleep(1000) InterruptedException e , 试题内容: 下列程序的功能是每隔一秒钟输出一个字符串“Hello!”。 public class C3101 implements Runnable { public static void main(String args[]) { C3101 t=new C3101(); Thread tt=new Thread(t); tt.start(); } public void run() { for(;;) { try{ _____ ; }catch(_____){} System.out.println("Hello"); } } } 3:参考答案:MenuBar jmb=new MenuBar(); setShortcut , 试题内容: 设计一个JFrame窗口,窗口中心有一个文本区。另有4个菜单,每个菜单都有菜单项,每个菜单项都对应有快捷键,选择某个菜单项时,窗口中心的文本区显示相应信息。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class C2902 implements ActionListener { _____ JTextField text=new JTextField(20); String t[]={"文件","编辑","格式","帮助"}; Menu menu[]=new Menu[4]; String s[]={"打开","保存","复制","粘贴","字体","段落","小助手","关于"}; MenuItem jmi[]=new MenuItem[8]; C2902() { JFrame myWin=new JFrame("Ex0606"); myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container con=myWin.getContentPane(); con.add(text,"Center"); text.setEditable(false); myWin.setMenuBar(jmb); int i; for(i=0;i<4;i++)//生成四个菜单 { menu[i]=new Menu(t[i]); jmb.add(menu[i]); } for(i=0;i<8;i++)//每个菜单中放两个菜单项 { jmi[i]=new MenuItem(s[i]); menu[i/2].add(jmi[i]); jmi[i].addActionListener(this); jmi[i]._____(new MenuShortcut(65+i));//设快捷键 } myWin.setBounds(300,200,400,200); myWin.setVisible(true); } public void actionPerformed(ActionEvent e) { text.setText("你选择了:"+e.getActionCommand()+"菜单项."); } public static void main(String[] args) { new C2902(); } } 4:参考答案:paintComponent(Graphics g); g.setColor(Color.RED); , 试题内容: 下面应用程序,绘制一个红色五角星。请完成程序。 import java.awt.*; import javax.swing.*; class MyPanel extends JPanel { public void_____ { int r=100; int x1=100, x2=(int)(r*(1-Math.cos((18*Math.PI)/180))), x3=(int)(r*(1+Math.cos((18*Math.PI)/180))), x4=(int)(r*(1-Math.cos((54*Math.PI)/180))), x5=(int)(r*(1+Math.cos((54*Math.PI)/180))), y1=0, y2=(int)(r*(1-Math.sin((18*Math.PI)/180))), y3=(int)(r*(1-Math.sin((18*Math.PI)/180))), y4=(int)(r*(1+Math.sin((54*Math.PI)/180))), y5=(int)(r*(1+Math.sin((54*Math.PI)/180))); _____ g.dr
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 自考

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服