JAVA认证

《JAVA程序设计》期末考试试题

时间:2025-06-20 14:46:33 赛赛 JAVA认证 我要投稿

《JAVA程序设计》期末考试试题(精选3套)

  在日复一日的学习、工作生活中,我们会经常接触并使用考试题,考试题可以帮助学校或各主办方考察参试者某一方面的知识才能。大家知道什么样的考试题才是规范的吗?下面是小编整理的《JAVA程序设计》期末考试试题,欢迎阅读与收藏。

《JAVA程序设计》期末考试试题(精选3套)

  《JAVA程序设计》期末考试试题 1

  一、 单选题

  1、下列程序段执行后的结果是( )。

  String s = new String("abcdefg");

  for (int i=0; i

  System.out.print(s.charAt(i));

  }

  A) aceg B) ACEG C) abcdefg D) abcd

  2、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ).

  A) 2 7 8 12 35 B) 12 35 8 7 2

  C) 35 12 8 7 2 D) 8 7 12 35 2

  3、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。

  File f = new File(填代码处);

  file =new FileReader(f);

  in=new BufferedReader(file);

  A) "./1.txt" B) "../my/1.txt" C) "c:\\my\\1.txt" D) "c:\ my\1.txt"

  4、应用程序的main方法中有以下语句,则输出的结果是 ( )。

  String s1=new String("abc");

  String s2=new String("abc");

  boolean b1=s1.equals(s2);

  boolean b2=(s1==s2);

  System.out.print(b1+" "+b2);

  A)true false B) false true C) true true D)false false

  5、应用程序的main方法中有以下语句,则输出的结果是 ( )。

  Hashtable hashtable=new Hashtable();

  hashtable.put("x","12345");

  hashtable.put("y","67890");

  hashtable.put("a","abcde");

  System.out.println(hashtable.get("a"));

  A) a B) abcde C) 12345 D) 67890

  6、下面语句的功能是( )。

  RandomAccessFile raf2 = newRandomAccessFile("1.txt","rw" );

  A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。

  B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。

  C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。

  D) 以上说法都不对。

  7、应用程序的main方法中有以下语句,则输出的结果是 ( )。

  String s="12345#aaa#bbb#67890";

  int n=s.indexOf("#");

  int k=s.indexOf("#",n+1);

  int m=s.indexOf("#",k+1);

  String s2=s.substring(m+1);

  System.out.println(s2);

  A) 123456 B) 67890 C) aaa D) bbb

  8、下面程序段执行后b的值是( )。

  Integerinteg =new Integer(9);

  boolean b = integ instanceof Object;

  A) 9 B) true C) 1 D) false

  9、应用程序Test.java的源程序如下,在命令行键入:

  java Test aaa bb c

  回车后输出的结果是 ( )。

  public class Test {

  publicstatic void main(String args[]) {

  int k1=args.length;

  int k2=args[1].length();

  System.out.print(k1+" "+k2);

  }

  }

  A) 3 2 B)1 2 C) 1 3 D)3 3

  10、应用程序的main方法中有以下语句,则输出的结果是 ( )。

  int b[][]={{1}, {2,2}, {2,2,2}};

  int sum=0;

  for(int i=0;i

  for(int j=0;j

  sum*=b[i][j];

  }

  }

  System.out.println("sum="+sum);

  A) 32 B)11 C) 2 D) 3

  11、应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。

  int[] x={125,21,5,168,98};

  int max=x[0];

  for(int i=1;i

  if(x[i]>max)

  max=x[i];

  }

  System.out.println(max);

  A) 125 B) 5 C) 98 D) 168

  12、程序Test.java编译运行后输出的结果是( )。

  public class Test {

  Strings1="java";

  publicstatic void main(String args[]) {

  intz=2;

  Testt=new Test();

  System.out.println(t.s1+z);

  }

  }

  A) java2 B)2 C)没有输出结果 D)java

  13、应用程序的main方法中有以下语句,则输出的结果是 ( )。

  Strings1="0.5", s2="12";

  double x=Double.parseDouble(s1);

  int y=Integer.parseInt(s2);

  System.out.println(x+y);

  A) 12.5 B) 120.5 C)12 D) “12.5”

  14、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。

  import java.io.*;

  public class Test {

  publicstatic void main(String args[]) {

  try{

  Strings="ABCDE";

  byteb[]=s.getBytes();

  FileOutputStreamfile=new FileOutputStream("test.txt",true);

  file.write(b);

  file.close();

  }

  catch(IOExceptione) {

  System.out.println(e.toString());

  }

  }

  }

  A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE

  15、下面那些方法不是接口Collection中已声明的方法( )?

  A)添加元素的add(Object obj) 方法

  B)删除元素的remove(Objectobj)方法

  C)得到元素个数的length()方法

  D)返回迭代器的iterator()方法,迭代器用于元素遍历

  二、多选题

  1、下面main()方法的定义哪些是正确的( )?

  A) publicstatic void main(String args[]) {} B) publicstatic void main(String[]) {}

  C) publicstatic void main(String[] args) {} D)publicstatic void main(String [] x) {}

  2、线程对象的生命周期中,通常经历下面哪些状态( )。

  A)新建 B)运行 C)就绪 D)死亡

  3、下面说法正确的是( )。

  A) final 可修饰类、属性(变量)、方法。

  B) abstract可修饰类、方法。

  C) 抽象方法只有方法头,没有方法体。

  D) 关键字final和abstract不能同时使用。

  4、下面关于java中输入/输出流的说法正确的是( )。

  A) FileInputStream与FileOutputStream类用读、写字节流。

  B) Reader与Writer类用来读、写字符流。

  C) RandomAccessFile既可以用来读文件,也可以用来写文件。

  D) File类用来处理与文件相关的操作。

  5、下面说法正确的是( )。

  A)如果某公共接口被声明在一个源文件中,则接口必须与源文件具有相同名字。

  B)如果源文件包含import语句,则该语句必须是除空行和注释行外的第一个语句行。

  C)如果某源文件包含package语句,则该语句必须是第一个非空、非注释行。

  D)接口中的方法必定是抽象方法,但可以不用关键字abstract修饰。

  6、下面关于Java中异常处理try块的说法正确的是( )?

  A) try块后通常应有一个catch 块,用来处理try块中抛出的异常。

  B) catch 块后必须有finally块。

  C)可能抛出异常的.方法调用应放在try块中。

  D)对抛出的异常的处理必须放在try块中

  7、下面关于进程、线程的说法正确的是( )。

  A)进程是程序的一次动态执行过程。一个进程在其执行过程中,可以产生多个线程——多线程,形成多条执行线索。

  B)线程是比进程更小的执行单位,是在一个进程中独立的控制流,即程序内部的控制流。线程本身不能自动运行,栖身于某个进程之中,由进程启动执行。

  C)Java多线程的运行与平台相关。

  D)对于单处理器系统,多个线程分时间片获取CPU或其他系统资源来运行。对于多处理器系统,线程可以分配到多个处理器中,从而真正的并发执行多任务。

  8、关于BufferedReader类的readLine()方法,以下说法正确的是()。

  A)方法readLine()每次读取一行数据。

  B)方法readLine()每次读取一个字节。

  C)该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常。

  D)如果读到流的末尾,该方法返回的结果为null。

  三、程序阅读题

  1、阅读下面的程序,回答问题(u问3分,v问3分,共6分)。

  import java.awt.*;

  import javax.swing.*;

  public class T extends JFrame {

  public T ( ) {

  super("GridLayout");

  Container con=this.getContentPane();

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

  con.add(new JButton("a"));

  con.add(new JButton("b"));

  con.add(new JButton("c"));

  con.add(new JButton("d"));

  con.add(new JButton("e"));

  con.add(new JButton("f"));

  setSize(200, 80);

  setVisible(true);

  }

  public static void main(String args[]) {

  new T();

  }

  }

  u画图表示程序运行后的图形界面。

  v如果程序通过实现某个接口处理按钮的动作事件,则该接口名为何?接口中的方法头声明如何?

  答案:

  u

  v接口名:ActionListener

  接口中的方法:publicvoid actionPerformed(ActionEvent e)

  2、阅读下面的程序,回答问题(u问3分,v问3分,共6分)。

  import java.util.*;

  publicclass T {

  public static void main(Stringargs[]) {

  Set set = new TreeSet();

  set.add(new Integer(10));

  set.add(new Integer(5));

  set.add(new Integer(15));

  set.add(new Integer(5));

  set.add(new Integer(10));

  System.out.println("size =" + set.size());

  Iterator it=set.iterator();

  while(it.hasNext()){

  System.out.print(it.next()+" ");

  }

  }

  }

  u程序运行后输出的结果如何?

  v说明java中的集合(Set接口)和映射(Map接口)的主要区别。

  答案:

  u

  size = 3

  5 10 15

  vSet接口是不包含重复元素的集合;Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。

  3、阅读下面的程序,并回答问题(u问3分,v问3分,共6分)。

  import java.io.*;

  public class Test {

  public static void main(String args[]) throws IOException {

  BufferedReader buf=new BufferedReader(

  newInputStreamReader(System.in));

  while(true) {

  String str=buf.readLine();

  if(str.equals("quit"))

  break;

  int x=Integer.parseInt(str);

  System.out.println(x*x);

  }

  }

  }

  编译运行上面的程序:

  u从键盘输入5,回车后输出的结果如何?

  v从键盘输入quit,回车后程序执行情况如何?

  答案:

  u25

  v终止应用程序的运行。

  《JAVA程序设计》期末考试试题 2

  1). applet的运行过程要经历4个步骤,其中哪个不是运行步骤?

  A.浏览器加载指定URL中的HTML文件

  B.浏览器显示HTML文件

  C.浏览器加载HTML文件中指定的applet类

  D.浏览器中的Java运行环境运行该applet

  正确答案:B

  2). 二维数组A[O,…,8][0,…,9],其每个元素占2字节。从首地址400开始,按行优先顺序存储,则元素A[8][5]的存储地址为( )。

  A.570

  B.506

  C.410

  D.482

  正确答案:A

  答案解析:A[8][5]元素存储的位置在第9行第6列,所以A[8][5]之前存储的个数应为8×10+5 = 85,这些元素占用的空间为85×2字节=170字节,所以A[8][5]的存储位置为400+170= 570。

  3). 用于生产过程控制的系统,一般都是( ),它要求有对输入数据及时做出响应的.能力。

  A.批处理系统

  B.分时系统

  C.实时系统

  D.及时系统

  正确答案:C

  答案解析:用于生产过程控制的系统,一般都是实时系统,它要求有对输入数据及时做出反应(响应)的能力。由于环境和控制对象以及工作任务的不同,控制系统对计算机系统的要求也会不同,一般会对计算机系统的可靠性、封闭性、抗干扰性等指标提出要求。

  4). Java语言的许多特点中,下列哪个特点是C++语言所不具备的?

  A.高性能

  B.跨平台

  C.面向对象

  D.有类库

  正确答案:B

  5). 在匹配器(Matcher)类中,用于寻找下一个模式匹配串的方法是( )。

  A.static boolean matches()

  B.boolean matcher .fi nd()

  C.i nt matcher .start()

  D.i nt matcher .end()

  正确答案:A

  答案解析:本题考查考生对Java 中的匹配器(Matcher)类的理解。Matcher 类用于将一个输入字符串i nput 和模式串pattern 相比较。Boolean matcher .fi nd()方法用于寻找下一个模式匹配串;i nt matcher .start()方法用于返回匹配串的一个起始索引整数值;i nt matcher .end()方法用于返回匹配串的一个终止索引整数值。而用于输入字符串与模式串比较的方法是static boolean matches(),选项A 正确。

  6). J2EE和( )语言绑定。

  A.C

  B.C++

  C.Java

  D.汇编语言

  正确答案:C

  答案解析:J2EE的基础是J2SE,以Java为平台;而C语言用于ODBCAPI。由于两者不兼容,SUN公司才提出了JDBC作为Java几个平台与麴据库的标准连接。

  7). 下列关于结构化设计原则的描述,错误的是

  A.在块和进程的非正常出口处往往需要调用GOTO语句,使用GOTO语句使程序执行效率提高,但是滥用GOTO语句确实有害,应该避免使用GOTO语句。

  B.程序设计时应该自顶向下,逐步求精。

  C.程序设计时,应该将复杂问题进行模块化,就是将程序设计的总目标分解为若干个分目标,再进一步分解为具体的小目标。

  D.在进行程序设计时,应该尽量在一行书写一条语句,尽量做到效率第一,清晰第二。

  正确答案:D

  8). 如果线程调用下列方法,不能保证使该线程停止运行的是( )。

  A.sleep()

  B.stop()

  C.yield()

  D.wait()

  正确答案:C

  答案解析:线程的方法中sleep()方法的作用是使比当前线程优先级低的线程运行。该方法使一个线程暂停运行一段固定时间。在休眠时间内,线程将不运行,低优先级的线程将有机会运行。yield()方法为只让给同等优先级的线程运行。如果没有同等优先级的线程是可运行状态,yield()方法将什么也不做,即线程将继续运行。stop()方法是强行终止线程。wait()方法是线程间交互的方法,是使一个线程停止运行,进入等待状态。

  9). 开发软件时对提高开发人员工作效率至关重要的是( )。

  A.操作系统的资源管理功能

  B.先进的软件开发工具和环境

  C.程序员的数量

  D.计算机的并行处理能力

  正确答案:B

  答案解析:先进的软件开发工具和环境对提高开发人员工作效率是至关重要的。

  10). 信息隐蔽的概念与下述哪一种概念直接相关( )。

  A.软件结构定义

  B.模块独立性

  C.模块类型划分

  D.模拟耦合度

  正确答案:B

  答案解析:信息隐蔽的概念与模块独立性这一概念直接相关。

  《JAVA程序设计》期末考试试题 3

  选择题

  1). 下面( )是合法的标识符。

  A.$persons

  B.2Users

  C.*poi nt

  D.this

  正确答案:A

  答案解析:本题考查Java 标识符的命名,属于考试重点内容,应该掌握。Java 中标识符的命名规则是:标识符以字母、下画线或美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见,Java 中标识符不能以数字开头,所以选项B错误;不能以“*”开头,选项C错误;this 是专用标识符,具有专门的意义和用途,选项D 错误,只有选项A 正确。

  2). 设有一个已按各元素的值排好序的顺序表(长度大于2),现分别用顺序查找法和二分查找法查找与给定值k相等的元素,比较的次数分别是s和b,在查找不成功情况下s和b的关系是( )。

  A.s =b

  B.s>b

  C.s

  D.s>=b

  正确答案:B

  答案解析:顺序查找的基本思想是:从表的一端开始,顺序扫描线性表,依次将扫描到结点的关键字和给定值k进行比较,若当前扫描到结点的关键字与k相等,则查找成功;若扫描结束后,仍未找到关键字等于k的结点,则查找失败。二分查找法是一种效率较高的查找方法,要求线性表是有序表。基本思想是:首先将待查的k值和有序表R[O]~R[n -1]的中间位置mid上的结点的关键字进行比较,若相等,则查找完成;否则,若R[mi d]. key>k,则说明待查找的结点只可能在左子表R[O]~R[mi d -1]中,我们只需在左子表中继续进行折半查找,若R[mi d]. key

  3). 定义一个表示10个值为null的字符串数组,下面选项正确的是( )。

  A.String []a;

  B.String a[];

  C.char a[10][];

  D.String a[]=new String[10];

  正确答案:D

  答案解析:本题考查字符串数组变量的声明。选项A和选项B的效果是一样的,都是用来定义一个字符串数组,但没有指明数组个数,不满足题目要求;选项C是一个二维的字符数组,在C语言中,一个二维的字符数组就可以表示一个一维的字符串数组,而在Java中,字符char是基本类型,字符串String则是以对象的形式来表示的;选项D正确,它定义了一个含有10个元素的字符串数组,如果没有给字符串数组赋值,则默认为null。

  4). Thread类中能运行线程的方法是( )。

  A.resume()

  B.start()

  C.run()

  D.init()

  正确答案:C

  答案解析:resume()是Thread类提供的用于线程控制的方法;start()是Thread类中的.方法,新建的线程不会自动运行,必须调用线程的start()方法才能运行该线程;run()是Thread类中的方法,在该方法中定义了线程的具体行为,线程开始执行时,就是从它的run()方法开始执行的,就像Java应用程序从main()开始、Applet从init()开始一样;init()不是Thread类中的方法。

  5). 在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送

  A.调用语句

  B.命令

  C.口令

  D.消息

  正确答案:D

  6). 下列的( )原始类型在使用流时可以互换。

  A.byte和boolean

  B.char和int

  C.byte和char

  D.String和char

  正确答案:B

  答案解析:本题考查Java语言中字节类型的概念。在Java语言中,byte是字节类型,用1字节表示.boolean是布尔类型,用true和false表示,它们的表示方法并不一样,也不提供它们之间的转换,选项A错误。Java内部用整数来表示char,通常可以在方法调用和其他语句中互换使用char和int,选项B正确。char用2字节表示,byte字节类型用l字节表示,Java内部也不允许互换使用它们,选项C错误。String在Java语言中是一个类,它提供对字符串的一系列操作,而char是Java语言中的一个基本类型,它不是一个类,两者有本质的区别,故而它们是不能互换使用的,选项D错误。需要注意的是,在Java语言中提供的类都是以大写字母开头,基本类型都用小写字母表示。

  7). 下列说法中,不属于数据模型所描述的内容是( )。

  A.数据结构

  B.数据操作

  C.数据查询

  D.数据约束

  正确答案:C

  答案解析:数据模型所描述的内容包括三个部分

【《JAVA程序设计》期末考试试题】相关文章:

2016年《JAVA程序设计》期末考试试题09-06

sun认证:java程序设计考试试题07-10

2017年java期末考试试题09-18

2016年java期末考试试题及答案10-08

计算机二级Java语言程序设计试题07-17

java试题及答案10-10

2017java期末考试参考试题07-29

计算机二级Java语言程序设计考试试题09-06

2025年计算机Java语言程序设计考试试题06-09