logo

15755063059

咨询时间:08:30--21:30
您现在的位置:福建自考网>模拟题 > 正文

自考模拟题:2020年8月自考《Java语言程序设计(一)》考前试题和答案

来源:福建自考网   发表时间2020-07-23 10:59:59
自考助学

经历了这么长时间的复习,相信大家的书本知识已经可以融会贯通,历年真题也已经做的差不多了,那么现在就需要多做些模拟题来巩固知识点以及进行查漏补缺。福建自考网小编整理了2020年8月自考《Java语言程序设计(一)》模拟试卷,希望对大家有所帮助。

一、单项选择题(本大题共10小题,每小题1分,共10分)
第1题 在Java中,负责对字节代码解释执行的是()
A. 垃圾回收器
B. 虚拟机
C. 编译器
D. 多线程机制
【正确答案】 B  

第2题 如果发生多个线程形成一个等待环,这样,所有线程都陷入相互等待的状态。这种循环等待现象称为()
A. 互斥
B. 同步
C. 死锁
D. 临界
【正确答案】 C  

第3题 下列叙述中,正确的是()
A. Java语言的标识符是区分大小写的
B. 源文件名与public类名可以不相同
C. 源文件名其扩展名为.jar
D. 源文件中public类的数目不限
【正确答案】 A  

第4题 建立一个把list字符串数组元素作为选择条目的列表list1,可以使用的代码是()
A. list1=JList(list)
B. JList list1=JList(list)
C. JList list=new JList(list1)
D. JList list1=new JList(list)
【正确答案】 D  

第5题 在Java语言中,把按钮button的标题文字设置为"第一个按钮”的方法是()
A. button.SetText(“第一个按钮“)
B. button.GetText(“第一个按钮“)
C. button.SetLabel(“第一个按钮“)
D. button.GetLabel(“第一个按钮“)
【正确答案】 C  

第6题 以下是创建File对象的代码,错误的是()
A. File f1=new File(“/mydir/myfile.txt“);
B. File f2=new File(“/mydir“,“myfile.txt“);
C. File f3=new File(“\\mydir\\myfile.txt“);
D. File f4=new File(“\mydir\myfile.txt“);
【正确答案】 D  

第7题 在  Java  中,表示换行符的转义字符是()

自考模拟题:2020年自考《Java语言程序设计(一)》模拟试题和答案
【正确答案】 A  

第8题 在Java  Applet程序中,如果对发生的事件做出响应和处理的时候,应该使用的语句是()
A. import java.awt.*;
B. import java.applet.*;
C. import java.awt.event.*;
D. import java.io.*;
【正确答案】 C  

第9题 有Java语句如下,则说法正确的是()
int  []a,b=new  int[3];
A. 此语句是错误的
B. a.length的值为3
C. b.length的值为3
D. a.length和b.length的值都为3
【正确答案】 C  

第10题 在Java程序中,已将FileWriter对象接到BufferedWriter对象上,要实现缓冲式输出,可对BufferedWriter对象使用的方法是()
A. read()
B. write()
C. readLine()
D. writeLong()
【正确答案】 B

二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。
第1题 在Java程序中,要创建一个10行20列的文本区,可以采用的构造方法是___。
【正确答案】 (P104)JTextArea(10,20)  

第2题 当线程A使用某个对象,而此对象又需要线程B修改后才能符合A线程的需要,这时线程A就要等待线程B完成修改工作,这种线程相互等待称为___。
【正确答案】 (P168)线程的同步  

第3题 JDBC是java程序与数据库连接的API,它可以与某个数据库建立连接、向数据库发送SQL语句和___。
【正确答案】 (P199)处理数据库返回的结果  
第4题 多线程互斥使用共享资源的程序段,称为___,它是一种加锁机制,与多线程共享资源有关,它的作用是在任何时该一个共享资源只能供一个线程使用。
【正确答案】 (P167)临界段  

第5题 给Java中的菜单项设置快捷键所使用的类中对应的构造方法为___。
【正确答案】 (P121)MenuShortcut(int key)  

第6题 流在某些应用中,不希望顺序读写流,而是需要采用随机访问方式,文件随机访问可利用___类来实现。
【正确答案】 (P180)RandomAccessFile  

第7题 在Java程序中,如果有package语句,则此语句必须出现在源程序文件的___。
【正确答案】 (P31)起始行或第一行  

第8题 Java程序能实现多线程并行执行,为了让一个线程暂停执行,其他线程有机会被执行,可对要暂停的线程执行___方法。
【正确答案】 (P161)sleep()  

第9题 在Java语言中,逻辑右移运算符是___。
【正确答案】 (P19)<<<
[解析]左移运算符是"<<”:将左运算分量的每一位二进制位向左移动,右边空出的位用0填充,左端移出位的信息丢失。每左移一位相当于乘2。右移运算符分算术右移运算符"<<”和逻辑右移运算符"<<<”。  

第10题 Java语言中需要采用随机方式对文件进行读写,可利用___类来实现。
【正确答案】 (P180)RandomAccessFile  

三、程序填空题(本大题共5小题,每空2分,共20分)

第1题 回文是指正读和反读都一样的字符串。方法f27(String  s)的功能是判断一个字符串是否为回文。例如:s=“abccba“,该方法返回值为true;n=“abc“,  该方法返回值为false。
boolean  f27(String  s)
{
int  i=0;
while(i<s.length()/2)
{
String  s1,s2;
s1=s.substring(i,i+1);
s2=s.substring(___);
if(!(s1.equals(s2)))break;
i++;
}
return___;
}
【正确答案】 s.length()-i-1,s.length()-i
i<s.length()/2?false:true  

第2题 以下程序的功能是:生成菜单条(menubar)、菜单(menu)和菜单项(item1,item2)对象,有  "文件”菜单,"文件”菜单中有"新建”,"保存”菜单项。
 import  javax.swing.*;
 public  class  Class2903
 {
 public  Class2903()
 {
 JFrame  myWin=new  JFrame();
 JMenuBar  menubar=new  JMenuBar();
 ___
 JMenuItem  item1=new  JMenuItem(“新建“);
 JMenuItem  item2=new  JMenuItem(“保存“);
 myWin.setJMenuBar(menubar);
 ___
 menu.add(item1);
 menu.add(item2);
 myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 myWin.setBounds(100,100,200,200);
 myWin.setVisible(true);
 }
 public  static  void  main(String[]args)
 {
 new  Class2903();
 }
 }
 menubar.add(menu);“ /<
【正确答案】 JMenu menu=new JMenu(“文件“);
menubar.add(menu);  

第3题 程序运行结果如下图:上边,左边和右边是三个按钮,下边是一个内容为"Class2804”的文本框txt。
import  java.awt.*;
import  javax.swing.*;
public  class  Class2804
{
public  static  void  main(String[]  args)
{
JFrame  myWin=new  JFrame(“Class2804“);
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myWin.setBounds(100,200,300,200);
Container  con=myWin.getContentPane();
con.setBackground(Color.red);
con.setLayout(new  BorderLayout());
___
JButton  button1=new  JButton(“左边“);
JButton  button2=new  JButton(“右边“);
JButton  button3=new  JButton(“上边“);
con.add(button1,“West“);
con.add(button2,“East“);
con.add(button3,“North“);
___
myWin.setVisible(true);
}
}

 con.add(txt,“South“);“ /<
【正确答案】 JTextField txt=new JTextField(“Class2804“);
con.add(txt,“South“);  

第4题 下面程序产生一个窗口,1秒后自动关闭。
public  class  Class3104    implements  Runnable
{
___
{
try
{
Thread.sleep(1000);
}
catch(InterruptedException  e){}
System.exit(0);
}
public  Class3104()
{
JFrame  my=new  JFrame();
my.setBounds(100,100,600,300);
my.setVisible(true);
}
public  static  void  main(String[]  args)
{
Class3104  t=new  Class3104();
Thread  tt=___;
tt.start();
}
}

【正确答案】 public void run()
new Thread(t)  

第5题 方法f2701(int  n)返回十进制整数n的位数。
___f2701(int  n)
{
int  c;
for(c=0;___;c++)n/=10;
return  c;
}

【正确答案】 int
n!=0  

四、程序分析题(本大题共5小题,每小题4分,共20分)
第1题 阅读下面程序,写出程序运行结果。
class  A
{
B  obj;
A()
{
obj=new  B();
obj.print();
System.out.println(“AAA“);
}
class  B
{
public  void  print()
{System.out.println(“BBB“);}
}
}
public  class  Class3202
{
public  static  void  main(String  arg[])
{A  obj=new  A();}
}
【正确答案】 程序运行结果:
BBB
AAA  

第2题 阅读程序,画出程序运行后初始界面并写出程序功能。
import  javax.swing.*;
import  java.awt.event.*;
public  class  Class3403  extends  JFrame  implements  ActionListener
{
JButton  b1=new  JButton(“b1“);
JButton  b2=new  JButton(“b2“);
public    Class3403()
{
super(“Class3403“);
setSize(300,100);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel  panel=new  JPanel();
panel.add(b1);panel.add(b2);
setContentPane(panel);
b1.addActionListener(this);
b2.addActionListener(this);
setVisible(true);
}
public  void  actionPerformed(ActionEvent  e)
{
Object  s=e.getSource();
if  (s==b1)setTitle(“Teacher“);
if(s==b2)setTitle(“Student“);
}
public  static  void  main(String  []args)
{
new  Class3403();
}
}

【正确答案】 程序运行后初始界面为:
程序功能:是单击b1按钮窗口标题变为Teacher,单击b2按钮窗口标题变为Student。  

第3题 阅读下列程序,写出程序运行结果。
class  A1
{
public  void  f(int  aa,int  bb)
{
System.out.println(aa+bb);
}
}
class  A2  extends  A1
{
public  void  f(int  aa,int  bb)
{
System.out.println(aa-bb);
}
}
public  class  C3201  extends  A2
{
public  void  f(int  aa,int  bb)
{
System.out.println(aa*bb);
}
public  static  void  main(String[]  args)
{
A1  a=new  A1();
A1  a1=new  A2();
A2  a2=new  C3201();
a.f(20,10);
a1.f(20,10);
a2.f(20,10);
}
}

【正确答案】 运行结果:
30
10
200  

第4题 阅读下列程序,写出程序功能。
import  javax.swing.*;
public  class  C3501
{
public  static  void  main(String[]  args)
{
JFrame  myWin=new  JFrame(“C3501“);
myWin.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar  jmb=new  JMenuBar();
myWin.setJMenuBar(jmb);
myWin.setBounds(100,200,300,300);
JMenu  jm=new  JMenu(“AAA“);
jmb.add(jm);
JMenuItem  jmi=new  JMenuItem(“AA1“);
jm.add(jmi);
JMenu  jm2=new  JMenu(“AA2“);
jm.add(jm2);
JMenuItem  jmi2=new  JMenuItem(“AA21“);
jm2.add(jmi2);
myWin.setVisible(true);
}
}
【正确答案】 程序功能:应用程序窗口生成一个下拉菜单,菜单名是AAA,有两个菜单项AA1和AA2,其中AA2有子菜单,子菜单中有一个菜单项AA21。  

第5题 阅读下列程序,写出程序运行结果。
class  A
{
int  x,y;
A(int  xx,int  yy){x=xx;y=yy;}
}
interface  A3202{int  f3202(A  a);}
interface  B3202{int  g3202();}
public  class  C3202  extends  A  implements  A3202,B3202
{
A  a=new  A(x,y);
C3202(int  x,int  y)
{
super(x,y);
this.x=x*x;
this.y=y*y;
}
public  int  f3202(A  a){return  x*a.x+x*a.y;}
public  int  g3202(){return  x*a.x+x*a.y;}
public  static  void  main(String[]  args)
{
int  x=10,y=20;
A  a=new  C3202(x,y);
C3202  c=new  C3202(x,y);
System.out.println(a.x+“,“+a.y);
System.out.println(c.f3202(a));
System.out.println(c.g3202());
}
}
【正确答案】 输出结果:
100,400
50000
3000
[解析]本程序中有很多重复的命名,应注意分清。两个接口方法中用的a.x和a.y并不是同一个对象a的成员。f3202中使用的a是参数传递的 对象,是main()中定义的那个对象a,它的x和y值经过运算后是100和400。g3202中使用的a是类C3202中定义的对象a,它的成员x和y 的值是在类C3202中定义a时给的值,这个值是C3202的构造方法传的10和20,而此时c对象从A类继承来的x和y的值经过运算后分别是100和 400。
另外,A a=new A(x,y);这一句在执行时相当于:
A=a;
C3202(x,y)
{super(x,y);a=new A(x,y);....}  
 
五、程序设计题(本大题共2小题,每小题6分,共12分)
第1题 编写一个方法string3703,要求在一个字符串数组中找出长度最短的一个元素。其中字符串数组是方法的参数,最短的一个元素是方法的返回值。
 System.out.println(string3703(b));
}
}
输出结果为:as“ /<
【正确答案】 方法如下:
String string3703(String[]a)
{
String maxStr=a[0];
for(int i=1;i<a.length;i++)
if(maxStr.length()<a[i].length())
maxStr=a[i];
return maxStr;
}
[解析]完整的程序如下:
public class Class3703
{
static String string3703(String[]a)
{
String maxStr=a[0];
for(int i=1;i<a.length;i++)
if(maxStr.length()<a[i].length())
maxStr=a[i];
return maxStr;
}
public static void main(String[] args)
{
String b[]={“asdf“,“saffdfd“,“as“};
System.out.println(string3703(b));
}
}
输出结果为:as  

第2题 编写一个方法hex3705(),要求将一个以字符串(如有字母用大写)形式表示的十六进制数转换十进制正整数,其中字符串为方法参数,正整数为返回值。
 }
}
运行结果为:269“ /<
【正确答案】 int hex3705(String s)
{
int n=0;
byte b[]=s.getBytes();
int i=b.length,k=1;
while(--i<=0)
{
int t=b[i]-48;
if(t<10)t=t-7;
n=n+t*k;
k*=16;
}
return n;
}
[解析]完整的程序如下:
public class Class3705
{
static int hex3705(String s)
{
int n=0;
byte b[]=s.getBytes();//字符串存入字节数组,转化为字符
int i=b.length,k=1;
while(--i<=0)//对字节数组每个元素进行分析
{
int t=b[i]-48;//字符’0‘的ASCII码值是48
if(t<10)t=t-7;//若是字母,需要减55,’A‘的ASCII码值是65
n=n+t*k;
k*=16;//k是16的幂
}
return n;
}
public static void main(String[] args)
{
System.out.println(hex3705(“10D“));
}
}
运行结果为:269  

六、简答题(本大题共6小题,每小题3分,共18分)
第1题 设有整型变量x和y的值分别为5和110。请指出执行了下面循环语句后,变量x和y的值分别是多少?
do{x=y/x;y=y-x;}while(y<=1);
【正确答案】 (P35)x=18,y=0  

第2题 请写出表示条件"x=2与y=3最多只有一个成立”的Java表达式。
【正确答案】 (P15)x==2y!=3||x!=2y==3||x!=2y!=3  

第3题 一个网络关系数据库应用系统是一个三层次结构,请写出这三个层次结构。
【正确答案】 (P198)
(1)客户机与服务器采用网络连接。
(2)客户机端应用程序按通信协议与服务器端的数据库服务程序通信。
(3)数据库服务程序通过SQL命令与数据库管理系统通信。  

第4题 标签(JLabel)是最简单的Swing组件,程序关于标签的基本内容有哪三个方面?
【正确答案】 (P91)
①声明一个标签名。
②创建一个标签对象。
③将标签对象加入到某个容器中。  

第5题 用一个Java语句完成下面的要求:
先将整型变量a的值加1,再把它加到变量b中。
【正确答案】 (P14)b=b+(++a);或者b+=++a;
[解析]这是一个表达式语句,不要忘记加分号。不能写成b=b+++a;这相当于b=(b++)+a。  
第6题 下列类的定义中有哪些错误?写出错误原因或者进行改正。
class  C2202
{
int  x;
C2202(int  x){this.x=x;}
C2202(){C2202(10);}
int    f()
{
int  a=1;
x=a;
}
void  g()
{
int  y;
y=a+x;
}
}
【正确答案】 (1)C2202(){C2202(10);}错误,可改为:C2202(){this(10);}。
(2)int  f()错误,可改为:void f()。
(3)y=a+x; 错误,原因是引用非法,在g方法中不能使用a。

以上就是"自考模拟题:2020年8月自考《Java语言程序设计(一)》考前试题和答案”的所有内容,希望能帮到大家。想要获取更多自考免费真题库和模拟题库可以收藏福建自考网,免费领取。

声明:

(一)由于考试政策等各方面情况的不断调整与变化,本网站所提供的考试信息仅供参考,请以权威部门公布的正式信息为准。

(二)本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。

考试提醒

【报名时间:2月19日-3月1日】

  • 微信公众号
  • 微信公众号 扫一扫加关注微信公众号

    与考生自由互动、并且能直接与专业老师进行交流解答。

  • 考生交流群 扫一扫加入微信交流群

    与考生自由互动、并且能直接与专业老师进行交流解答。

备考资料免费领取

报名层次:
所报专业:
姓       名:
电       话:

我已阅读并同意 《用户协议》《隐私政策》

微信公众号

关注微信公众号回复“免费资料”即可获取!

关注公众号

回复“免费资料”领取复习资料

微信公众号

微信公众号

<<点击收起

在线咨询

APP
下载

联系
电话
扫描
二维码
反馈
建议
回到
顶部

15755063059