计算机等级

计算机Java语言程序设计考试试题

时间:2025-06-09 18:16:06 小英 计算机等级 我要投稿

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

  无论是身处学校还是步入社会,我们或多或少都会接触到考试题,借助考试题可以检验考试者是否已经具备获得某种资格的基本能力。大家知道什么样的考试题才是好考试题吗?以下是小编精心整理的计算机Java语言程序设计考试试题,欢迎大家借鉴与参考,希望对大家有所帮助。

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

  计算机Java语言程序设计考试试题 1

  一、单选题:(每题1分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在题干后的括号内。

  1.下列语句序列执行后,k 的值是( B )。

  int m=3, n=6, k=0;

  while( (m++) < ( -- n) ) ++k;

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

  2.设 i、j 为int型变量名,a 为int型数组名,以下选项中,正确的赋值语句是( B )。

  A) i = i + 2 B) a[0] = 7;

  C) i++ - --j; D) a(0) = 66;

  3.Java语言的类间的继承关系是( B )。

  A) 多重的 B) 单重的 C) 线程的 D) 不能继承

  4.设有定义 int i = 6 ;,则执行以下语句后,i 的值为( C )。

  i += i - 1;

  A) 10 B) 121 C) 11 D) 100

  5.下列选项中,用于在定义子类时声明父类名的关键字是( C )。

  A)interface B) package C) extends D) class

  6.若已定义 byte[ ] x= {11,22,33,-66} ;

  其中0≤k≤3,则对x数组元素错误的引用是( C )。

  A) x[5-3] B) x[k] C) x[k+5] D) x[0]

  7.下列语句序列执行后,ch1 的值是( B )。

  char ch1=A,ch2=W;

  if(ch1 + 2 < ch2 ) ++ch1;

  A) A B) B C) C D) B

  8.下列语句序列执行后,i 的值是( D )。

  int i=8, j=16;

  if( i-1 > j ) i--; else j--;

  A) 15 B) 16 C) 7 D) 8

  9.下列语句序列执行后,k 的值是( C )。

  int i=10, j=18, k=30;

  switch( j - i )

  { case 8 : k++;

  case 9 : k+=2;

  case 10: k+=3;

  default : k/=j;

  }

  A) 31 B) 32 C) 2 D) 33

  10.下面语句执行后,i 的值是( B )。

  for( int i=0, j=1; j < 5; j+=3 ) i=i+j;

  A) 4 B) 5 C) 6 D) 7

  二、填空题:(每空1分)

  1. 构造函数_没__有返回值。

  2. Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和 ___ double _______两种具体类型。

  3. 创建类对象的运算符是__ new。

  4. 当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是__n%13==0___________ 。

  5. 在Java语言中,所有的数组都有一个lenght属性,这个属性存储了该数组的__元素个数。

  6. 定义类就是定义一种抽象的______父类______,它是所有具有一定共性的对象的抽象描述。

  7. 在Java语言中,使用__平台无关___、___java虚拟机___等技术,实现软件重用。

  8. 表达式3/6 * 5的计算结果是____0____ 。

  三、程序分析:(每题4分)

  1. 下面是一个排序的程序:

  import java.io.*;

  public class Test56_Sort

  {

  public static void main(String args[ ])

  {

  int[] a={42,99,5,63,95,36,2,69,200,96};

  System.out.println(排序前的数据序列:);

  ShowArray(a);

  Sort(a);

  System.out.println(排序后的数据序列:);

  ShowArray(a);

  }

  public static void Sort(int[] x)

  {

  int w;

  for(int i=1; i

  {

  for(int j=0; j

  if(x[j]>x[j+1])

  { w=x[j]; x[j]=x[j+1]; x[j+1]=w; }

  /* if(i==1||i==2) ShowArray(x);

  if(i==2) break; */

  }

  }

  public static void ShowArray(int b[])

  {

  for(int i=0; i

  System.out.print("b[i"+i+"]=" +b[i]);

  System.out.println( );

  }

  }

  问题: 如果将方法Sort( )中的一对注释符(/* */)去掉,程序输出的'结果是什么?

  排序前的数据序列:

  b[0]=42b[1]=99b[2]=5b[3]=63b[4]=95b[5]=36b[6]=2b[7]=69b[8]=200b[9]=96

  b[0]=42b[1]=5b[2]=63b[3]=95b[4]=36b[5]=2b[6]=69b[7]=99b[8]=96b[9]=200

  b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200

  排序后的数据序列:

  b[0]=5b[1]=42b[2]=63b[3]=36b[4]=2b[5]=69b[6]=95b[7]=96b[8]=99b[9]=200

  2. 请写下程序的输出结果:

  public class Test52

  {

  String str1="Hello, Java world! ";

  String str2="Hello, students!" ;

  public static void main(String args[])

  {

  System.out.print(str1);

  System.out.println(str2);

  }

  }

  输出结果:

  四、问答题:(每题5分,)

  1. Java的接口和C++的虚类的相同和不同处。

  由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是 public static,所有方法默认情况下是public.一个类可以实现多个接口。

  2. 垃圾回收的优点和原理。并考虑2种回收机制。

  Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有"作用域"的概念,只有对象的引用才有"作用域"。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。

  3,谈谈final, finally, finalize的区别。

  Final-修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。

  Finally-再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。

  Finalize-方法名。Java 技术允许使用 finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。

  4,数组有没有length()这个方法? String有没有length()这个方法?举例说明使用方法?

  数组没有length()这个方法,有length的属性。

  String有有length()这个方法。

  5. Java中的异常处理机制的简单原理和应用。

  当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发 NullPointerException.另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用 throw关键字引发异常。所有的异常都是java.lang.Thowable的子类。

  五、程序设计:(每题11分,共33分)

  1、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。

  2、编程求解:所有两位整数能被3整除的数的和,以及不能被3整除的数的各位数字之和。

  3、设计一个程序求解e的值。精度达到1.0e-6,

  4、请设计一个对N个数进行排序的程序

  计算机Java语言程序设计考试试题 2

  一.选择题(30分)

  1.下列哪些情况可以终止当前线程的运行?

  a. 抛出一个异常时。

  b. 当该线程调用sleep()方法时。

  c. 当创建一个新线程时。(与当前进程无关)

  d. 当一个优先级高的线程进入就绪状态时。

  2. 下面哪些为构造函数的特性定义

  a. 在类中声明构造函数时,名称应该与类名相同

  b. 具有重载特性,可以建立多个相同的名称

  c. 使用类建立新对象时,会自动执行构造函数,因此在构造函数内设定变量的初值或进行内存分配

  d. 以上都是

  3. 关于异常处理机制的叙述哪些正确

  a. catch部分捕捉到异常情况时,才会执行finally部分

  b. 当try区段的程序发生异常时,才会执行catch区段的程序

  c. 不论程序是否发生错误及捕捉到异常情况,都会执行finally部分

  d. 以上都是

  4. 下列关于接口的叙述中哪些是正确的

  a. 接口中的数据必须设定初值(就是接口中的常量)

  b. 接口中的方法都是抽象方法

  c. 接口可以声明引用

  d. 以上都正确

  5.Java语言中,方法的重写(Overriding)和重载(Overloading)是多态性的不同表现。下边哪些说法是对的?

  A. 重写是父类与子类之间多态性的一种表现。

  B. 重写是一个类中多态性的一种表现。

  C. 重载是一个类中多态性的一种表现。

  D. 重载是父类与子类之间多态性的一种表现。

  6.在Struts应用的视图中包含哪些组件?

  A. JSP

  B. Servlet

  C. ActionServlet

  D. Action

  E. 代表业务逻辑或业务数据的JavaBean

  F. EJB

  G. 客户化标签

  7. struts框架中,关于FormBean,下列哪些说法是正确的:

  A FormBean是一种数据bean,主要用来封装表单提交上来的数据,并把这些数据传递给Action

  B 在FormBean中可以对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证

  C 用户每次提交表单,都会产生一个新的FormBean实例

  D 动态FormBean不能进行验证操作

  8哪些方法可以进行servlet的调试?()

  A、使用打印语句; 在桌面计算机上运行服务器

  B、使用Apache Log4J

  C、使用IDE集成的调试器

  D、直接查看HTML源码 ????

  E、返回错误页面给客户

  9、下面关于servlet的功用说法正确的有哪些?()

  A、读取客户程序发送来的显式数据

  B、读取客户程序发送来的隐式数据

  C、生成相应的结果

  D、发送显式的数据给客户程序

  E、发送隐式的数据给客户程序

  10、下面关于session的用法哪些是错误的?(

  A、HttpSession session = new HttpSession();

  request.getSession();

  B、String haha =(String) session.getParameter(Attribute)(“haha”);

  C、session.removeAttribute(“haha”);

  D、session. setAttribute(“haha”,值);

  11、关于说法正确的有哪些?()

  A、URL的输出在请求时入到JSP页面中

  B、不能含有影响整个页面的JSP内容

  C、被包含文件改变后不需更改使用它的页面

  D、被包含文件更改后,需要手动地更新使用它的页面(不需要手动更新)

  12、关于bean的说法正确的有哪些?()

  A、具备一个零参数(空)的构造函数(不是必须的)

  B、不应该有公开的实例变量(字段)

  C、所有的`属性都必须通过getXxx和setXxx方法来访问

  D、布尔型的属性使用isXxx,而非getXxx

  13、下面关于MVC说法错误的有哪些?()

  A、必须使用复杂的框架

  B、使用内建的RequestDispatcher能够很好地实现MVC

  C、当其中一个组件发生变化的时候,MVC影响整个系统的设计

  D、我们可以用MVC来处理单个请求

  14、下面的标签中哪些是JSTL标签?()

  15、struts框架,错误的是,下面那些说法正确?

  A Struts中无法完成上传功能

  B Struts框架基于MVC模式

  C Struts框架容易引起流程复杂、结构不清晰等问题(清晰)

  D Struts可以有效地降低项目的类文件数目

  二、填空题( 5分)

  1、调用函数MOD(123,10)返回值为___。

  2、select round (123.67,1) from dual;这语句输出值为______。

  3、创建一个临时替代变量使用的字符是_____。

  4、若v_comm = 2800, X := NVL (V_comm,0) ,则X的值为____。

  5、调用函数INSTR(‘Here you are’,’er’)返回值为___。

  三、判断题(10分)

  1、WHERE子句限制行记录,也可以指定限制分组结果的条件。 ()

  2、具有UNIQUE约束的列不能包含多个空值。 ()

  3、DATE型数据中包含着时间值。 ()

  4、具有外键约束的列可以包含空值。 ()

  5、如果在类型为4)的列中输入“hello”,则只能存储hell。 ()

  6、含有Group by子句的查询,其结果是排好序的。 ()

  7、定义游标时,其中的select语句不能使用order by子句。(子查询

  不能用) ()

  9、触发器一定会被激发。 、过程可以有返回值。 ()

  10、instead

  of触发器只是基于视图的。

  四、写出相应的SQL语句(括号内为列名)(10分)

  1、查询从事各工作(JOB)的员工人数。

  2、查询与员工SMITH在同一部门(DEPTNO)的员工的姓名(ENAME),工资(SAL)和部门。

  3、查询所有员工的姓名(ENAME),工资(SAL)和工资等级(GRADE)。

  4、查询获得工资(SAL)最高的3个员工信息。

  5、查询所有员工的姓名(ENAME)及其主管姓名(ENAME)。

  五、简答题(15分)

  1. 在PL/SQL程序中,进行用户自定义异常处理的3个步骤是

  什么?

  2. 面向对象的特征有哪些方面?并简要介绍

  3. List、Map、Set三个接口,存取元素时,各有什么特点?

  List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。

  4 .struts1.0和struts2.0的区别?如何控制两种框架中的单例模式?

  5. 描述一下如何在struts1.0实现国际化,以两国语言(中文,英文)为例:

  6.struts中怎么配置form-bean、action

  7. Hibernate自带的分页机制是什么?如果不使用Hibernate自带的分页,则采用什么方式分页?

  8. hibernate中一对多配置文件返回的是什么?

  9.什么样的数据适合存放到第二级缓存中?

  10你一般用spring做什么?

  11项目中如何体现Spring中的切面编程,具体说明。

  12 触发触发器的数据操作有哪些?

  13 解释视图的含义以及使用视图的好处。

  14 简述ORACLE中5种约束及其作用。

  15 ORACLE中过程和函数的异同点。

  六、编程题(30分)

  1、创建一个PL/SQL块,根据用户输入的编号,在emp表中查询出该编号的员工姓名、部门号及其主管编号,要有异常处理。

  2、创建一个PL/SQL块,根据用户输入的工作,从emp表中逐条输出从事这一工作的每位员工的编号、姓名和受雇如期,每条信息格式如下:(用游标实现)

  编号 姓名 受雇日期

  7751 JOHN 95-12-31

  3、编写一个函数,用于判断EMP表中某一工作(JOB)是否存在,若EMP表存在此工作名称,则返回TRUE,否则返回FALSE。

  4、编写一触发器,在EMP表执行插入或修改前被激发,此触发器将对员工的工资(SAL)超过5000进行报错,不能插入或修改,不超

  过5000的才将员工编号、工作及当时的日期(SYSDATE)插入UP_EMP表

  (注:此表已建好,表结构为UP_EMP(EMPNO NUMBER(4),SAL NUMBER(7,2),UDETE DATE))

  5下面程序的输出结果是多少?

  importjava.util.Date;

  public class Test extends Date{

  public static void main(String[] args) {

  new Test().test();}

  public void test(){

  System.out.println(super.getClass().getName());}}

  6下面的程序代码输出的结果是多少? public class smallT

  {}

  public static void main(String args[]) { } public int get() { } try { } finally { } return 2 ; return 1 ; smallT t = new smallT(); int b = t.get(); System.out.println(b);

  7子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序。

  8去掉一个Vector集合中重复的元素

  9有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数

  10. xxx公司的sql面试

  Table EMPLOYEES Structure:

  EMPLOYEE_ID NUMBER Primary Key,

  FIRST_NAME VARCHAR2(25),

  LAST_NAME VARCHAR2(25),

  Salary number(8,2),

  HiredDate DATE,

  Departmentid number(2)

  Table Departments Structure:

  Departmentid number(2) Primary Key,

  DepartmentName VARCHAR2(25).

  (1)基于上述EMPLOYEES表写出查询:写出雇用日期在今年的,或者工资在[1000,2000]之间的,或者员工姓名(last_name)以’Obama’打头的所有员工,列出这些员工的全部个人信息。

  (2) 基于上述EMPLOYEES表写出查询:查出部门平均工资大于1800

  元的部门的所有员工,列出这些员工的全部个人信息。()

  (3) 基于上述EMPLOYEES表写出查询:查出个人工资高于其所在部门平均工资的员工,列出这些员工的全部个人信息及该员工工资高出部门平均工资百分比。

  参考答案

  1答案:ABD

  2答案: D

  3答案:BC

  4答案:AB

  5答案AC

  6答案:A,G

  7答案:A

  8A B C D E

  9A B C D E

  10A B D

  11A B C

  12B D

  13A C

  14A B C

  15A B C

  16答案:C

  二 填空

  3 123.7 & 2800 2

  三判断

  × ×√√√√×√×√

  四写出相应的SQL语句

  1Select job,count(*) from emp group by job;

  2Select ename,sal,deptno from emp where deptno=(select deptno from emp where ename=’SMITH’);

  3Select ename,sal,grade from emp,salgrade where sal between losal and hisal;

  4Select * from (select * from emp order by sal desc) where rownum<=3;

  5Select e1.ename empname,e2.ename mgrname from emp e1,emp e2 where e1.mgr=e2.empno;

  五简答

  可以通过声明和发布来截获自定义异常。

  一、在声明部分为声明自定义异常名。

  二、在执行部分使用 RAISE 语句显式地发布异常。

  三、在相应的异常处理例程中引用已声明的异常。

  2(1).抽象:

  抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

  (2).继承:

  继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性, 新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

  (3).封装:

  封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

  (4). 多态性:

  多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

  List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。

  3List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值

  4a、Action类:

  struts1.2要求Action类继承一个基类。struts2.0 Action要求继承ActionSupport基类 b、线程模式

  struts1.2 Action是单例模式的并且必须是线程安全的,因为仅有一个Action的实例来处理所有的请求。

  单例策略限制了Struts1.2 Action能做的事情,并且开发时特别小心。Action资源必须是线程安全的或同步的。

  struts2.0 Action为每一个请求产生一个实例,因此没有线程安全问题。

  c、Servlet依赖

  struts1.2 Action依赖于Servlet API,因为当一个Action被调用时HttpServletRequest和HttpServletResponse被传递给execut方法。

  struts2.0 Action不依赖于容器,允许Action脱离容器单独测试。如果需要,Struts2 Action仍

  然可以访问初始的Request和Response。

  但是,其他的元素减少或者消除了直接访问HttpServletRequest和HttpServletResponse的必要性。

  d、可测性

  测试struts1.2 Action的一个主要问题是execute方法暴露了Servlet API(这使得测试要依赖于容器)。一个第三方扩展:struts TestCase

  提供了一套struts1.2的模拟对象来进行测试。

  Struts2.0 Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”也使得测试更容易。

  计算机Java语言程序设计考试试题 3

  一、选择题:(每题3分,共20题)

  1. 下面关于类的说法错误的一项是( )。

  A、类属于Java语言中的复合数据类型 中的基本结构单位

  C、类是同种对象的集合和抽象

  2. 如下所示代码:

  public class Test05_01{ }

  private float a;

  public static void m ( ){ }

  D、类就是对象 B、对象是Java语言

  如何使成员变量a被方法m( )访问( )。

  A、将private float a改为public float a

  B、将private float a改为static float a

  C、将private float a改为protected float a

  D、将private float a改为float a

  3. 下面关于类的说法有误的一项是( )。

  A、类就是对象 抽象

  C、类属于Java语言中的复合数据类型 中的基本结构单位

  D、对象是Java语言

  B、类是同种对象的集合和

  关于Java面向对象的考试题。

  4. 下列哪种类成员修饰符修饰的变量只能在本类中被访问( )。

  A、protected

  B、default

  C、private

  D、public

  5. 下面关于方法的说法不正确的一项是( )。

  A、类的私有方法不能被其他类直接访问。

  B、Java中的构造方法名必须和类名相同。

  C、方法体是对方法的实现,包括变量声明和合法语句。

  D、如果一个类定义了构造方法,也可以用该类的默认构造方法。

  6. 下列程序的运行结果是( )。

  public class Test05_02 extends x{ }

  B、编译错误

  D、运行成功,但不输出

  int ab(){ }

  public static void main(String[] args) { }

  Test05_02 b = new Test05_02 (); b.ab(); static int a = 10; a++;

  System.out.println(a);

  A、10 C、11

  关于Java面向对象的考试题。

  7. 下面关于构造方法的描述有误的一项是( )。

  A、构造方法必须要有返回类型的声明。

  B、构造方法和类中的方法很相似:有访问修饰符、方法名、参数列表、方法体。

  C、构造方法当成是一个特殊的方法,这个方法的作用就是用来产生一个类的实例。

  D、构造方法的方法名必须和类名完全相同。

  8. 下列关于对象的说法错误的一项是( )。

  A、对象成员是指一个对象所拥有的属性或可以调用的方法。

  B、由类生成对象,称为类的实例化过程,一个实例可以是多个对象。

  C、在创建类的对象时,需要使用Java的`new关键字。

  D、在Java中要引用对象的属性和方法,需要使用“.”操作符来实现。

  9. 类的方法可以不包含下面哪一项( )。

  A、方法的参数 C、方法的名称

  B、方法的主体 D、方法的返回值类型

  10. 下面关于变量说法错误的一项是( )。

  A、对于成员变量,我们可以不需要手动的显式初始化,因为系统在创建一个新的对象的时候,会给这些成员变量赋一个初值。

  B、对于引用变量,它的默认初值是null而非相应的引用类型对象,也就是说,它并不是指向任何对象的首地址。

  关于Java面向对象的考试题。

  C、系统会对全局(成员)变量指定默认的值,也会对局部变量赋值。

  D、局部变量在使用之前,必须对其进行显式初始化。

  11. 下面的各种数据类型的默认初始化值表示错误的一项是( )。

  A、int是0

  B、float 是0.0

  C、char 是‘u0000’

  D、boolean是false

  12. 下面哪一项不是Java的访问控制符( )。

  A、public

  B、private

  C、void

  D、protected

  13. Java语言类间的继承关系和接口间的继承关系分别是( )。

  A、单继承、不能继承

  C、多重继承、单继承

  B、多重继承、不能继承

  D、单继承、多重继承

  14. 如果局部变量和成员变量同名,如何在局部变量作用域内引用成

  员变量( )。

  A、不影响,系统可以自己区分

  B、不能引用,必须改名,使它们的名称不相同

  C、在成员变量前加this,使用this访问该成员变量

  D、在成员变量前加super,使用super访问该成员变量

  15. 下列关于内部类说法错误的一项是( )。

  A、内部类可用private或protected修饰符修饰

  B、内部类不能有自己的成员方法和成员变量

  C、除static内部类外,不能在类内声明static成员

  D、内部类可以作为其他类的成员,而且可访问它所在的类的成员

  16. 定义外部类时不能用到的关键字是( )。

  A、public

  B、abstract

  C、protected

  D、final

  17. 下面说法不正确的一项是( )。

  A、abstract和final能同时修饰一个类

  B、抽象类既可以做父类,也可以做子类

  C、声明为final类型的方法不能在其子类中重新定义

  D、抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类或接口

  18. 有一个类B,下面为其构造方法的声明,正确的是( )。

  A、void b(int x) {} C、B(int x) {}

  B、void B(int x) {}

  D、b(int x) {}

  19. 区分类中重载方法的依据是( )。

  A、不同的形参名称

  B、返回值的类型不同

  D、访问权限不同

  C、形参列表的类型和顺序

  20. 下面说法错误的一项是( )。

  A、在Java中,为了节省创建对象的时间和空间,对于一些常用的方法,会将它在内存中缓存起来。

  B、在JDK中针对各种基本数据类型分别定义相应的引用类型,称之为封装类(Wrapper Classes)。

  C、JDK5.0中,引入了自动装箱/拆箱功能,可以让我们方便的在简单类型和对应的封装类型数据之间转换。

  计算机Java语言程序设计考试试题 4

  选择题

  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语言程序设计考试试题】相关文章:

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

计算机二级Java语言程序设计考试试题及答案10-23

2017计算机二级Java语言程序设计考试试题10-13

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

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

计算机二级《Java语言程序设计》考试大纲11-16

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

计算机二级Java语言程序设计考试重要考点11-19

2017年计算机二级 Java 语言程序设计考试题库10-31