当前位置:文档之家› Java考试要点(扛鼎之作)

Java考试要点(扛鼎之作)

Java考试要点(扛鼎之作)
Java考试要点(扛鼎之作)

第1章语言概论

考点一Java语言简介

1、Java语言的由来

1991年,Sun公司开发了一个Oak(一种橡树名字)软件,它是Java的前身,1995年Oak更名为Java。

2、Java语言的特点及优势

(1)简单易学

(2)利用面向对象技术

(3)分布式计算

(4)健壮性(也称鲁棒性)

(5)安全性

(6)跨平台(即体系结构中立)

(7)可移植性

(8)解释执行

(9)高性能

(10)多线程

(11)动态性

(12)Applet的特点

3、Java语言实现的机制

(1)Java虚拟机

Java程序的下载和执行步骤如下:

①程序经编译器得到字节代码;

②浏览器与服务器连接,要求下载字节码文件;

③服务器将字节码文件传给客户机;

④客户机上的解释器执行字节代码文件;

⑤在浏览器上显示并交互。

虚拟机(VM)的执行过程有3个特点:

①多线程;

②动态连接;

③异常处理。

(2)垃圾回收机制

(3)代码安全检测

考点二Java的体系结构

前面已说到Java以JVM为基础,实际上,许多JVM也是由软件实现的。Java的体系结构如下所示。

1、JDK目录结构

bin目录下有编译器、解释器和许多工具(如服务器工具、IDL、package工具和jdb等demo目录下有各种演示例子。

include目录下是Win32子目录,都是本地方法文件。

jre目录是Java程序运行环境的代码库、属性设置和资源文件,默认安装目录,安全管理。lib目录下都是库文件。

src.zip是源码压缩文件。

2、Java的API结构

Java语言以类为程序的基本单位,类(Class)是具有某些共同特性实体的集合,是一种抽象的概念,它实质是一种对象类型的定义,即对具有相同行为对象的一种抽象,说明该类型对象的性质。在Java语言中,类是具有某种功能的基本模块的描述,它所提供的标准类库,为编程所需的底层模块提供了常用的方法和接口,并将它们分类封装成包,每个包又包括子凶,形成树结构的类层次。类库主要包括核心java、javax和org扩展包。

3、Java程序结构

Java程序包括源代码(.java文件)、由编译器生成的类(.class文件)、由归档工具jar生成的.jar 文件、对象状态序列化.ser文件。

(1)package语句,0或1个,指定源文件存入所指定的包中,该语句必须在文件之首,如没有此语句,源文件存入当前目录下。

(2)import语句,0或多个,必须在所有类定义之前引入标准类。

(3)public classDefinition,0或1个,指定应用程序类名,也是源文件名。

(4)classDdfinition,0或多个,类定义。

(5)interfaceDefinition,0或多个,接口定义。

提示:Java是区分大小写的。源文件名与程序类名必须相同,其扩展名为.java,源文件中最多有一个public类,其他类的个数不限。

4、Java有2类应用程序,Java Application和Java Applet。前者是独立的应用程序,而后者嵌入HTML在浏览器中执行。

Java Application应用程序的编写和执行分3步进行:

(1)编写源代码。

(2)编译源代码。

(3)解释执行,利用j2sdk1.4.2的解释器java.exe执行。

Java Applet应用程序的编写和执行共分4步进行:

(1)编写源代码,这步与Java Application应用程序相同,编辑一个源文件存入指定文件夹中。注意,该程序不含main方法。

(2)编写HTML文件调用该小程序,以.html为护展名存入相同文件夹。

(3)编译过程,与java Application应用程序相同,编译应用程序的java部分。

(4)解释执行,同样在DOS方式下,输入命令:appletviewer filename.html(这里的filename.不要求与java文件同名)。如无错误,显示结果,如有出错报告,排错后,重复上面解释执行。

第2章简单数据类型

考点一概述

在Java语言中,所有的变量、常量、对象和类都是用标识符命名的,标识符的命名规则为:(1)标识符是以字母、下划线(_)、美元符叫()作为首字符的字符串序列。在首字符后面可以跟字母、下划线(_)、美元符叫()和。

(2)标识符是区分大小写的。

(3)标识符的字符数目没有限制,但为便于阅读和记忆,不宜太长。

Java语言的数据类型如下图所示。

数据类型简单数据类型数值类型

字符类型char)整数类型(byte,int,long,short)

浮点数类型(float,double)

布尔类型(boolean)

复合数据类型类(class)

接口(interface)

数组

Java语言的数据类型

考点二简单数据类型

1、整型数据

整型数据分整型常量和整型变量。

整型常量分3种书写格式:

(1)十进制整数。

(2)八进制整。

(3)十六进制整数。

与整型常量相同,java语言提供了byte、short、int和long4种类型的整型变量。

2、浮点型数据

浮点型数据属于实型数据,分float和double两种类型,也有实型常量和实型变量之分。浮点型数据由数字和小数组成,必须有小数位数bit越多,表示数越精确。

3、布尔型数据

布尔型数据只有两个值:true(真)和false(假),它不对应任何数值,因此,它不能与数字进行相互转换,布尔型数据一般用于逻辑判别,在流控制中常用,它在计算机内存占1位bit,默认值(局部变量除外)为false。

4、字符型数据

(1)字符常量

字符常量是用单号括起来的一个字符,如′s′、′@′。用双撇号括起来的是字符串,

如″s″、″Shanghua″。一般说,凡是Unicode的字符都可以括起来作为字符常量,但对有一些字符必须用转义字符来表示,如单撇号本身、换行符等。转义字符以反斜杠(开头,如“\”表示单撇号(′)、“ n”表示换行符。

(2)字符变量

字符变量以char类型表示,它在内存中占16位bit,表示范围是0~65 535,它不能当做整数使用。char类型的值可转换成int类型,但反过来,将int转换成char类型必须用强制执行。

考点三各类数据之间的转换

1、优先关系

自动类型转换是由按优先关系从低级数据转换成高级数据,规定的优先次序是:

byte,short,char int long float double

2、类型的自动转换规则

不同类型数据之间的转换规则归纳如下:

操作数1的数据类型操作数2的数据类型转换后的数据类型

byte或intintint

byte或short或intlonglong

byte或short或int或longfloatfloat

byte或short或int或long或floatdoubledouble

charintint

3、类型的强制转换

将较长的数据类型转换成较短类型,只能用强制类型转换,通常都用赋值语句来实现,在要求强制的变量名前面用()括上所要强制转换的类型符。

考点四Java类库中对简单类型数据的类包装

在Java语言中,简单数据类型是类包装在类库中,它们在基本类库的层次如下所示:class https://www.doczj.com/doc/539589978.html,ng.Object

class https://www.doczj.com/doc/539589978.html,ng.Boolean(implements)java.io.Serializable)

class https://www.doczj.com/doc/539589978.html,ng.Character(https://www.doczj.com/doc/539589978.html,parable.java.io.Serializable)

class https://www.doczj.com/doc/539589978.html,ng.Number(implements java.io.Serializable)

class https://www.doczj.com/doc/539589978.html,ng.Byte(implements https://www.doczj.com/doc/539589978.html,parable)

class https://www.doczj.com/doc/539589978.html,ng.Double(implements https://www.doczj.com/doc/539589978.html,parable)

class https://www.doczj.com/doc/539589978.html,ng.Float(implements https://www.doczj.com/doc/539589978.html,parable)

class https://www.doczj.com/doc/539589978.html,ng.Integer(implements https://www.doczj.com/doc/539589978.html,parable)

class https://www.doczj.com/doc/539589978.html,ng.Long(implements https://www.doczj.com/doc/539589978.html,parable)

class https://www.doczj.com/doc/539589978.html,ng.Short(implements https://www.doczj.com/doc/539589978.html,parable)

第3章运算符和表达式

【考点一】概述

1、运算符

对各种类型的数据进行加工的过程称为运算,表示各种不同运算的符号称为运算符,参与运算的数据称为操作数。

按运算符的操作数的数目划分,可分为

(1)一元运算符;

(2)二元运算符;

(3)三元运算符。

按运算符的功能划分,可以分为

(1)算术运算符;

(2)关系运算符;

(3)布尔逻辑运算符;

(4)位运算符;

(5)赋值运算符;

(6)条件运算符;

(7)其他。

2、表达式

表达式是同操作数和运算符按一定的语法形式组成的符号序列。

表达式的类型指的是表达式运算结束后的值的类型,由运算符以及参与运算的操作数的类型决定。

【考点二】算术运算符和算术表达式

1、一元算术运算符

一元算术符涉及的操作数只有一个,由一个操作数和一元算术运算符构成一个算术表达式。一元算术运算符共有4种,如下所示。

运算符名称表达式功能

+ 一元加+ op1 取正值

- 一元减- op1 取负值

++ 增量++op1,op1++ 加1

-- 减量--op1,op1-- 减1

一元加和一元减运算符仅仅表示某个操作数的符号,其操作结果为该操作数的正值或负值。增量运算符将操作数加1,如对浮点数进行增量操作,则结果为加1 0。

减量运算符将操作数减1,如对浮点数进行减量操作则结果为减1 0。

2、二元算术运算符

二元算术运算符共有5种,如下所示。

运算符表达式名称及功能

+ op1 + op2 加

- op1 - op2 减

* op1 * op2 乘

/op1 / op2 除

% op1 % op2 模数除(求余)

3、算术运算符的优先级

在稍微复杂一些的算术表达式中,算术运算符的优先级按下面次序排列:++和--的级别最高,然后是*和/以及%,而+和-的级别最低。此外,为了增强程序的可读性,通过括号可以明显地改变运算的顺序。

【考点三】关系运算符和关系表达式

关系运算符都是二元运算符,共有6种,如下所示。

运算符表达式功能返回true值时的情况

> op1>op2 比较op1是否大于op2 op1大于op2

< op1 比较op1是否小于op2 op1小于op2

>= op1>=op2 比较op1是否大于等于op2 op1大于等于op2

<= op1<=op2 比较op1是否小于等于op2 op1小于等于op2

== op2==op2 比较op1是否等于op2 op1等于op2

!= op1!=op2 op1和op2不要等性测试op1不等于op2

【考点四】布尔逻辑运算符和布尔逻辑表达式

布尔逻辑运算符共有3种,即逻辑与(&&)、逻辑或(||)和逻辑非(!),其操作结果也都是布尔型的。

【考点五】位运算符和位运算表达式

1、位逻辑运算符

(1)按位取反运算符。

(2)按位与运算符&。

(3)按位或运算符|。

(4)按位异或运算符⌒。

(5)不同长度的数据进行位逻辑运算。

2、移位运算符

(1)算术右移运算符〉〉。

(2)算术左移运算符〈〈。

(3)逻辑右移运算符〉〉〉。

3、位运算符的优先级

在复杂一些的位运算表达式中,位运算符的优先级顺序排列如下:~的优先级最高,其次是〈〈、〉〉和〉〉〉,然后是&,再次是⌒,最后是|。

【考点六】赋值运算符和赋值表达式

(1)赋值运算符。

赋值运算符(=)把一个表达式的值赋给一个变量,在赋值运算符两侧的类型不一致情况下,如果左侧变量类型的级别高,则右侧的数据被转化为与左侧相同的高级数据类型后赋给左侧变量:否则,需要使用强制类型转换运算符。

(2)扩展赋值运算符。

Java中扩展赋值运算符及等价的表达式。

运算符表达式等效表达式

+= op1+=op2 op1=op1+op2

-= op1-+op2 op1+op1-op2

*= op1*=op2 op1=op1*op2

/= op1/op2 op1=op1/op2

%= op1%=op2 op1=op1%op2

&= op1&=op2 op1=op1&op2

|= op1|=op2 op1=op1|op2

⌒= op1⌒=op2 op1=op1⌒op2

〉〉=op1〉〉=op2 op1=op1〉〉op2

〈〈= op1〈〈op2 op1=op1〈〈op2

〉〉〉=op1〉〉〉=op2 op1=op1〉〉〉op2

【考点七】条件运算符与条件表达式

条件运算符是三元运算符,用“?”和“:”表示。三元条件表达式的一般形式为:expressionl? expression2:expression3

其中表达式expression1应该是关系或布尔逻辑表达式,其计算结果为布尔值。

【考点八】运算符的优先级和复杂表达式

Java中运算符的优先级顺序。如下:

优先次序运算符优先次序运算符

1 []()9 &

2 ++ -- ! ~ instanceof 10 ^

3 new(type) 11 |

4 * / % 12 &&

5 + - 13 ‖

6 〉〉〉〉〉〈〈14 ?:

7 〉〈〉= 〈= 15 = += -= *= /= %= ^=

8 == != 16 &= |= 〈〈= 〉〉= 〉〉〉=

【考点九】表达式语句

在由++和--运算符形成的一元算术表达式和赋值表达式后加上分号可直接作为语句来使用,这种由表达式直接构成的语句叫做表达式语句。

第4章流程控制

【考点一】概述

Java是面向对象的编程语言,通过构造多个类之间的关系来完成程序的功能:但是在编写类的时候,主要通过一定的程序流程来实现类中方法的功能。Java的程序流程是由若干条语句组句块或称复合语句。

【考点二】分支语句

1、条件语句

条件语句根据判定条件的真假来决定执行哪一种操作。

(1)if结构

Java语言中,最简单的条件语句是if结构,采用的格式如下:

if(条件)statement;

或者

if(条件){block}

第一种情况下,在条件为真时,执行一条语句statement;否则跳过statement执行下面的语句。第二种情况下,在条件为真时,执行多条语句组成的代码块block;否则跳过block执行下面的语句。

上述格式中的“条件”为关系表达式或布尔逻辑表达式,其值为布尔值。

(2)if—else结构

Java语言中,较常见的条件语句是if-else结构。采用的格式如下:

if(条件)

statement1;或{block1}

else

statement2;或{block2}

在条件为真时,执行语句statement1(或代码块blodk1),然后跳过else和statement2(或代码块block2)执行下面的语句;在条件为假时,跳过语句statement1(或代码块block1)执行else后面的statement2(或代码块block2),然后继续执行下面的语句。

2、多分支语句

Java语言提供了多分支语句swirch。switch语句根据表达式的值从多个分支中选择一个来执行,它的一般格式为:

switch(expression){

case value1 :statement1;

break;

case value2 :statement2;

break;

case valueN :statementN;

break;

[default :defaultStatement;]}

对switch语句说明如下:

(1)表达式expression只能返回这几种类型的值:int、byte、short和char。

(2)case子句中的值valueI必须是常量,而且所有case子句中的值应是不同的。

(3)cefault子句是任选的。

(4)break语句用来在执行完一个case分支后,使程序跳出switch语句的执行。

(5)case分支中包含多条语句(即statementI为一连串语句序列)时,可以不用大括号。(6)switch语句的功能可以用if-else if结构来实现。

【考点三】循环语句

一个循环语句一般应包含4部分内容。

(1)初始化部分(initialization);

(2)循环体部分(body);

(3)迭代部分(iteration);

(4)判断部分(termination);

1、while循环

while循环又称“当型”循环,它的一般格式为:

[initialization]

while(termination)

{

body;

[iteration;]

}

说明如下:

(1)首先初始化控制条件,这部分是任选的。(2)当布尔表达式(termination)的值为true 时,循环执行大括号中的语句,其中迭代部分是任选的。

(3)while循环首先计算条件就不满足,则大括号中的语句或代码块一次都不会被执行。这是“当型”循环的特点。

(4)while循环通常用于循环次数不确定的情况,但也可以用于循环次数确定的情况。

2、do-while循环

do-while循环又称“直到型”循环,它的一般格式为:

[initialization]

do {

body;

[iteration;]}while(termination);

说明如下:

(1)do-while结构首先执行循环体,然后计算终止条件,若结果为true,则循环执行大括号中的语句或代码块,直到布尔表达式的结果为false。

(2)与while结构不同的是,do-while结构的循环体到少被执行一次,这是“直到型”执行的特点。

3、for循环

for循环的一般格式为:

for(initialization;termination;iteration)

{

body;

}

说明如下:

(1)for循环执行时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。

(2)可以在for循环的初始化部分声明一个变更,它的作用域为整个for循环。

(3)for循环通常用于循环次数确定的情况,但也可以根据循环结束条件完成循环次数不确定的情况。

(4)在初始化部分和迭代部分可以使用逗号语句来进行多个操作。逗号语句是用逗号分隔的语句序列。

(5)初始化,终止以及迭代部分都可以为空语句(但分号不能省),三者均为空的时候,相当于一个无限循环。

【考点四】跳转语句

1、break语句

break语句是最常用的用法是在switch语句中,通过break语句退出switch语句,使程序从switch结构后面的第一条语句开始执行。

在Java中,还可以用break语句退出循环,并从紧跟该循环结构的第一条语句处开始执行。

2、continue语句

break语句用来退出循环,并从紧跟该循环语句的第一条语句处开始执行;而continue语句则跳过循环体中下面尚未执行的语句,回互循环体的开始继续下一轮的循环。当然,在一一轮循环开始前,要先进行终止条件的判断,以决定是否继续循环,对于for语句,在进行终止条件的判断前,还要先执行迭代语句。

3、return语句

return语句从当前方法中退出,返回到调用该方法的语句处,并从紧跟该语句的下一条语句继续程序的执行。返回语句有两种格式:

return expression;return;

return语句通常用在一个方法体的最后,否则会产生编译错误,除非用在if-else语句中。

【考点五】循环语句与分支语句的嵌套

一个循环体内又可包含另一个完整的循环语句,构成多重循环语句。

循环语句与分支语句可相互嵌套,以实现复杂算法。分支语句的任意一个分支中都可以嵌套一个完整的循环语句,同样循环体中也可以包含完整的分支语句。

【考点六】递归(recursion)

递归(recusion)是常用的一种解决问题的方法,即把问题逐渐简单化。递归的基本思想是“自己调用自己”,一个使用递归技术的方法将直接或间接地调用自身的方法。利用递归,可以用简单的程序来解决某些复杂的计算问题。

递归结构的主要内容包括两个部分:

(1)定义递归头。

(2)定义如何从同性质的简化问题求得当前问题。

执行递归方法时,首先逐级递归调用展开。

递归结构的优点之一是程序非常简洁,但是递归调用会占作大量的系统堆栈,内存耗用多,在递归调用层次较多时,运算速度较之循环结构慢慢多。

第5章类、数组和字符串操作

【考点一】概述

Java是面向对象语言,面向对象的思想是将客观事物都作为实体,而对象通过实体抽象得到。程序是通过定义一个类,对类进行实例化(也称为创建对象)来实现。

类是变量和方法的集合体。类可以嵌套定义。类是Java程序中基本的结构单位。

数组是最简单的复合数据类型,是有序数据的集合。数组的元素可以是值(基本数据类型)、对象或其他数组。一个数组中的所有值都必须是相同的数据类型。

文本字符串是一种参考数据类型,它一身是由java、lang、String定义的对象。

1、类定义

Java语言编写程序通过新的对象类型机制,就是允许自定义对象类型——类,它是程序的基本要素,由成员变量和成员方法组成。实例化一个类,就能得到一个对象。类的成员变量可以是基本类型数据、数组、或类的实例。成员方法只在类中定义,用来处理该类数据。类提供外界访问其成员方法的权限,通常,类成员数据都是私有的,而方法是公有的,外界只可能访问成员方法。

(1)类声明

格式:[修饰符]class类名[extends父类名][implements类实现的接口列表]

[…]

其中用[]括起来的内容为可选项。关键字class是定义的开始,类名应符合标识符命名规则,第一个字母大写并具有类功能特征。修饰符指明类的访问控制符和类型说明符。关键字wxtends指明该类是子类,它的父类名紧跟在后,子类与父类之间有继承关系。关键字implements指明该类实现的接口。后跟接口名列表。修饰符包括:

①public访问控制符指明该类为公共类,可被其他类访问或引用其成员变量和成员方法。

②默认(也称friendly)即没有访问控制符,表示该类只能被同一个包的类访问和引用,也不能用import语句引入。

③abstract抽象类,指明不能实例化的类。

④final是最终类,指明该类不能有子类。

(2)类体

格式:

class类名

{

成员变量声明

成员方法声明

成员变量和成员方法都可用public、protected、private和default来限定访问权。许多细节将在后面讨论。

(3)成员变量

成员变量声明格式:

修饰符【public,protected,private,static,final,transient,volatile】

type变量名:其中type 可以是java语句中任意数据类型。而修饰符的含义:

①public指明变量为公有。由于面向对象技术的封装要求,应尽量少用公共变量,而是通过公共方法类间接访问类的成员变量,从而提高程序的稳定性。

②protected指明变量为保护访问。可被同一个包中其中他类、不同包中该类的了类以及该类

自己访问和引用。保证所有子类都可访问父类,不管这些子类被封装在哪里。

③private指明变量为私有访问。只能被该类自己访问或调用,是对成员变量的最高级保护。

④static指明变量为静态变量,否则为实例变量。静态变量不需要类的实例化就可被类直接调用。

⑤final指明变量为常量。注意用大写字母。

⑥transient指明变量为暂时性变量,用实现不同对象存档功能。

⑦volatile指明多个线程共享的变量,保证各线程对该变量访问的一致性。

(4)成员方法定义和调用

所谓成员方法,是指作为类的成员的方法。方法的定义由方法声明和方法体组成。方法定义的形式如下:

return Type methodName(paramlist)[throws excetions]

它表明了在一个方法调用前要知道的一些信息:

①方法的名称。

②参数的类型和名称。

③方法返回值的类型。

④方法的抛出的异常类型。

方法声明格式:

修饰符【public,protected,private,static,final,abstract,native,synchronized】returnType methodName([paramlist])[throws exceptions]

{…}

其中修饰符public 、protected、private、static、final与成员变量声明意义相同,都是定义方法访问权限。abstract指明方法是否可以重写,native指明代码是由各种语言集成,synchronized指明多线程可并发共享访问。

方法体是对方法的实现,包括局部变量声明、java合法指令。

注意:Java中的方法的参数传递是传值调用,而不是地址调用。方法不能改变参数值,但中以改变变量值,两个对象之间的参数字段,不能相互交换。

(5)方法重载

方法的重载是指多个方法可以享用相同的名字,但参数的数量或类型必须不完全相同,邓方法有所不同,它实现了Java编译时的多态(即静态多态性)性。

(6)构造方法

构造方法是为对象初始化操作编写的方法,用它来定义对象的初始状态。在Java语言中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法名必须与类名相同,它没有返回值,用户不能直接调用它,只能通过new自动调用。

构造方法有下列特点:

①因为构造方法名与类名必须相同,所以方法首字母小写规则对它不适用。

②构造方法是给对象赋初值,没有返回值,但不用void来声明。

③构造方法不能被程序调用。

④构造方法可由编程人员在类中定义,默认时由Java语言自动生成。

⑤构造方法可以重载实现不同的初始化方法,调用时按参数决定调用哪个方法。

2、对象、接口与色

对类实例化,可以生成多个对象,通过这些对象之间的消息传递进行交互,可完成很复杂的功能。一个对象的生命周期分为3个阶段:生成、使用和清除。

(1)对象的生成

对象是一组相关变量和相关方法的封装体,是类的一个实例。对象的特征是对象的行为、状态和身份。对象生成包括声明、实例化和初始化三方面内容。一般格式是

type objectName=new type(【参数】);

其中:type objectName声明是定义对象的类型,它包括类和接口的复合类型。new关键字是实例化一个对象,给对象分配内存,它调用对象的构造方法,返回该对象的引用(存储对象所在堆地址和有关信息,并非内存直接地址)。new可以实例化类的多个不同的对象,分配不同的内存。

(2)对象的使用

对象的使用原则是先定义后使用。

①通过“·”运算符实现对成员变量的访问和方法调用。其格式为:

对象名·调用的方法名或变量名

②将一个对象声明为类的成员时要注意在使用前必须对该对象分配内存,也可以用private 修饰符保证数据安全。

③在方法中使用对象作为参数时,采用引用调用。

(3)对象的清除

对象的清除指挥释放对象所占用的内存。归纳起来对象清除的途径为:

①依靠Java的垃圾回收机制回收内存。

②调用Systtem.gc(),请求垃圾回收。

③Java系统开始运行时,自动调用https://www.doczj.com/doc/539589978.html,ng.Object.finalize()释放内存。

④在程序中调用重写的finalize()释放系统资源,其格式为:

protected void finalize() throws throwable{ ┋

super.finalize();

}

(4)接口

接口是一种只含有抽象方法或常量的一种特殊的抽象类。在Java语言中,用abstract修饰符定义的类称为抽象类,在其中的方法称为抽象方法。abstract类的格式为:

abstract class abstractClass{

接口是不包含成员变量和方法实现的抽象类,它只包含常量和方法的定义。接口的主要功能是:

①不管类的层次,可实现互不相关的类具有相同的行为。

②通过接口说明多个类所需实现的方法。

③通过接口可以了解对象的交互界面,无需了解对象所对应的类。

接口定义由接口声明和接口体组成。

(5)包

为解决同名类会发生冲突矛盾,Java采用包来管理类名空间。

定义一个包要用package关键字。用package语句说明一个包时,该包的层次结构必须与文件目录的层次相同。否则,在编译时可能出现查找不到的问题。

使用一个包中的类时,首先要用关键字import导入这些类所在的的包。Java语言的https://www.doczj.com/doc/539589978.html,ng

包是编译器自动导入的。因此,编程时使用该包中的类,可省支import导入。但使用其他包中的类,必须用import导入。

【考点二】类成员修饰符、继承、内部类、类库

(1)类及类成员修饰符

常用的类成员修饰符如下:

修饰符可修饰对象含义

publie 类

接口

成员变量,成员方法可跨包访问。

private 成员变量,成员方法类内可访问

protected 成员变量,成员方法包内可访问。

static 类

类变量

类方法静态内部类不能有对外调用,成员独立于该类的任何实例对

象。类变量是全局变量。

类方法是全局方法。在其中不能使用this,super。不能创建

内部类的实例。

synchronized 成员方法用于保持线程同步。

final 类

成员变量

成员方法没有子类的类。

不能改变值的变量的变量不能被覆盖的方法。

不能被覆盖的方法。

不能改变值字段。

abstract 类

接口

成员方法类中含没有实现的方法,该类不能实例化。

所有接口都是抽象的,是接口缺省修饰符。

没有实现的方法。

修饰符可分为访问限定符和非访问限定两类。

(2)继承

继承性是面向对象方法的一个重要基本特征,它使代码可重用,可降低程序复杂性。Java 语言中,所有的类都是通过直接或间接地继承java,lang,Objecter而得到的。Java不支持多重继承。通过在类声明中加入extends子句来创建子类,其格式为:

class SubClass extends SuperClass{

}

重写方法必须遵循两个原则是编译器为了实现面向对象方法的多态性,保证程序健壮,避免

程序招待时出现访问权限的冲突,并不会漏了异常的捕获。super的使用有3种情况:

①用于访问被隐藏的父类成员变量,其格式为:

super,变量名;

②用于调用被重写的父类方法,其格式为:

super,方法名;

③用于调用父类的构造方法,其格式为;

super([参数列表])

(3)内部类

在一个类的内部嵌套定义的类称为内部类(Inner Class)。特点是:①内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用,外部使用它时必须给出类的全名。

②内部类可以使用它所在类的静态成员变量和实例成员变量,也可使用它所在类的方法中的局部变量。

③内部类可用abstract修饰定义为抽象类,也可用private或protected定义。

④内部类可作为其他类的成员,而且可访问它所在类的成员。

⑤除static内部类外,不能在类内声明stati c成员。

(4)类库

类库以包的形式组织,是包的集合。早在J2SE的1.3.1版,类库已有76个包,目前已发展到J2SE1.4.2版,类库的包已过百。

https://www.doczj.com/doc/539589978.html,ng包。该包中所有类都在运行时,由java解释器自动引入,程序不用import语句都可使用其中任何一个类。该包有接口、类、异常等组成。它是Java语言的最底层的类。它包括的最主要的类有:

①Object类是Java所有类的根类,其他类都由它扩展而来。它定义的方法包括:

●preorected Objet clone()throws CloneNotSupporteedException,该方法生成当前对象的拷贝,并返回该拷贝对象。凡调用该方法的类都应该的类都应该实现cloneable接口,否则运行时会抛出异常。

●public final Class getClass(),该方法返回一个当前对象运行时的Class类对象。

●public int hashCode(),该方法返回一个hash值。

●public Boolean equals(Object obj ),该方法比较当前对象与形参对象相同否,相同返回true,否则返回false。

●public String toString(),该方法返回一个当前对象住处的字符串。

●public final void notify(),该方法唤醒一个等待线程。

●public final void notifyAll(),该方法唤醒所有等待线程。

●public final void wait(long timeout)throws InterruptedException,该方法让当前线程进入等待行列。

●public final void wait(long timeout,int nanos)throws InterruptedException,该方法让线程等待时间是两个形参之和。

●public final void wait()throws InterruptedException,该方法等同wait(0)。

●public void finalize()throws Throwable,该方法把对象从内存中清除。

②Class类是用于类操作规程的类,Class对象由Java编译器自动生成,隐藏在.class文件中,它在运行时为用户提供信息。另多此一举这提供运行时动态装入环境的操作类ClassLoader。这两类常用方法包括:

●static Class Forname(String className),该方法返回指定类的对象。

●String getName(),该方法获得Class对象的类名。

●ClassLoader gerClassLoader(),该方法返回ClassLoaer对象。

●bool isInterfae(),该方法返回判断是否接口的布尔值。

●Class getSuperclass(),该方法返回当前对象父类的Class对象。

●String toString(),该方法返回当前类或接口的名字。

●abstract Class loadClass(String name,Boolean resolve),该方法把类名分解成对象,分解成功返回Class对象,否则返回null。

●final Class defineClass(String name,byte data[],int length),该方法把一个字节数组转换成一个类的对象,对象以data数组的offset为起点,length为字节长度构成。

●final void resolveClass(Class c),该方法分解一个类。

●final Class findSystemClass(String name),该方法用来查找和装入系统类。

③System类是一个final类,即不能被实例化的类,它主要提供标准输入、输出和系统环境信息。它有3个很有用的成员变量:in、out和err,分别表示标准输入流对象、标准输出流对象和出错流对象。主要方法有:

●static long currentTimeMillis(),该方法返回系统时间,以毫秒为单位。

●static String gerProperties(),该方法获得系统环境信息。

●static String gerProperties(String key,String def)该方法获得系统变量值。

●static void setPtoperties(Properties P),该方法设置系统特征。

●static void gc(),该方法运行垃圾收集器。

●static void loadLibrary(String libname),该方法装入一个动态链接库

④Thread类是提供线程操作和管理的类。

其次,看看实作工具Java.uitl包。它包括许多常用功能的类的和接口。主要包括:

①GrggorianCalendar日历类提供日期和时间的表示,它以格里历(即阳历)来计算。主要方法有:

●int get(int field),获得一个特定字段的值,参数field是其父类Calendar定义的许多参数之一(如Calendar.YEAR、Calendar.MONTH、Calendar.DATE等)。

●void set(int yeat,int month,int date),设置日期字段值。

●void set(int year,int mouth,int date,int hour,int minute,int second),设置日期和时间字段值。

●void add(int fi deld,int amount),在字段上加指定值。

②Vector类实现了动态分配对象列表,适用于可变对象数组的类,它的内存容量可按照需要自动增加。主要方法有:

●ensureCapacity(),保证指定元素的最小容量。

●trimToSze(),将当前元素的容量高速到最小。●addElement(),可加新元素。

●get(),可获得Vector中的元素。

●set(),可修改Vector中的元素。

●temove(),可删除Vector中的元素。

●elemnetAt(),可直接访问元素。

●ind exOf(),可确定元素的位置。●size(),返回Vector的容量大小。

③Stack类是实现先进后出的对象栈,它是Vector的子类,它不能直接被访问,中能从栈顶压入或弹出。它的主要方法有:

●empty(),判断栈是否为空是空返回true。

●peek(),返回栈顶对象。

●pop(),弹出栈顶的一个元素。

●push(Object),从栈顶压入一个元素。

●search(Object),查找栈内一个元素。

④Dictionary类是抽象类,不能实例化去创建一个对象,它是关键字和值的数据对存储的集合。它的抽象方法有:

●elements(),返回一个枚举元素。

●ger(Object),返回关键字所对应的值。

●isEmpty(),判断字典是否为空,如为空返回true。

●keys(),返回关键字的一个枚举元素。

●put(Object,object),存入一对关键字和值到字典中。

●remove(Object),按照关键字从字典中删去一个元素。

●size(),返回存储元素的数量。

4、内部类的应用实例

本程序是银行出纳的一种业务,其功能是对10000元人民币按照2%的年利率存入银行,计算每年的存款数,每10秒显示一行,用键盘对话框退出。内部类用于计算递增的存款数额并显示。内部类所实现的Timer监听器接口,完成了定时器的事件处理。

【考点三】一维数组

数组是一种复合数据类型,在Java中,数组是作为对象来处理的。数组有限元素的有序集合,数组中的元素具有相同的数据类型,并可用统一的数组名和下标来惟一确定其元素,元素是数组中不可分的最小单位。

1、定义数组、创建数组

在Java中定义一维数线格式为:type attayName[];或type[]arrayName;

创建一个数组的格式为:arrayName=new type[arraySize]

在Java中定义并创建一个数组对象:type[]arrayName=new type[arraySize];

2、初始化数组

所谓数组初始化即对已经定义好的数组元素赋值。

(1)静态初始化

静态初始化适用数组元素的个数较少,而且是初始元素可以枚举的情况。

(2)动态初始化

用new动态初始化时,数组元素的默认值如下:

序号元素类型默认初绐值

1 boolean False

2 char ' u0000'

3 整数0

4 浮点数0.0

5 对象null

对复杂类型的数组初始化,需要两步完成。首先,为每个数组元素分配引用空间。其次,为每个数组元素分配空间并赋初值。

【考点三】多维数组

(1)二维数组定义

二维数组定义的格式为:type attayName[][];或type[][]arrayName;

(2)初始化二维数组

①静态初化:即在定义数组的同时分配内存空间。

②动态初始化:可直接对每一维分配空间或从最高维开始对每维分配空间。

【考点四】字符串操作

1、字符串的表示

(1)字符串的表示

字符串常量用""括起来的字符序列。字符串常量可以用来直接初始化一个String对象。(2)用String类表示字符串

在Java中,String类提供构造方法可生成一个空串,也可通过字符数组或字节数组来生成一个字符串对象,其中,char[]、byte[]用来生成字符串的数组,startIndex、offset指定字符串在数组中的起始下标,numClass、length表示字符个数。

(3)用StringBuffer表示字符串

StringBuffer类提供长度可变字符串对象的表示,它提供下列构造方法对可变字符串对象初始化:

StringBuffer();

StringBuffer(int length);StringBuffer(String str)

2、字符串的访问

String类包括的方法有:Length()、charAt()、indexOf()、getChars()、getBytes()、toCharArray()等。

(1)提取字符串长度

String greeting ="Helle";

int n = greeting.length();// 返回字符串的字符个数n=5

(2)提取字符串中指定字符

char last = greeting.charAt(4);//从字符串0数到4的字符是'O'。

(3)提取字符串中多个字符

public void getCharsw(int srcbegin,int end,char buf[],int dstbegin);

其中,srcbegin指定要提取的第1个字符在该字答串的位置,end指定要提取的最后字符在该字符串的位置,buf[]是目的字符吕存储的数组,dstbegin指定提取字符插入目的字符串的位置。

StringBuffer类包括方法有:lengty()、charAt()、getChars()、capacity()。

(4)查询字符

在字符串中查询指定字符或子串时,可用indexOf()和lastIndexOf()方法。如查询成功,返回所查字符的位置。如不成功,返回-1。

3、字符串的修改

(1)对string的修改

因为它是固定长度字符串,修改必须通过实例。String提供concat()、teplace()、substring()、toLowerCase()、toUpperCase()等方法。

Public String concat(String str),将当前字符串对象与指定str字符串相连。

public String replace(char oldChar,char newChar),用新字符替换老字符。

public String substring(int beginIndex),按指定的起始位置获得子符串。

public String substring(int beginIndex,int endIndex),按指定范围去获得字符串中的子字符串。public String toLowerCase(),将字符串中所有字符变为小写。public String toUpperCase(),将字符串中所有字符变为大写。

①两个字符串的连接。

String str1 = "abc";

String str2 = str1.concat("cde");// "abccde"

②替换掉一个字符串中的所有与指定字符相匹配的字符。

str.replace('','#');// 将字符串str中的所有的空格替代为#。

③Java允许将字符串用+号连接起来。

String expletive = "expltive";

String PG13 = "deleted";

String message = expletive + PG13;

④提取子字符串。

String greeting = "Hello"

String s = "greeting.substring(0,3)";

取字符串greeting的第0个到第3个字符组成新串:"Hell"。

(2)对StringBuffer的修改

因为StringBuffer类是表示可变长度字符串,它可以在字符中插入字符和在字符串尾加字符。缓存不必管理,Java解释器自动分配。它的方法包括:append() 、insert()、SetCharAr()。4、字符串的比较

测试字符串是否相等,可用equals()方法。

5、其他操作

(1)键盘读取字符串的对话框

javax.swing.JOptionPane用于从控制台键盘读科字符串。

(2)将字符串对象转换为基本数据类型

int age = Integer.parseInt(input);// 进行从字符串到整数的类型转换。

6、程序实例

本程序的功能是进行键盘对话框测试。意图在于学会JOptionPane类的用法。同时对于串输入、串定义、串类型转换有所了解。

第6章异常处理

【考点一】概述

异常是在程序编译或运行中所发生的可预料或不可预料的异常事件,它会引起程序的中断,影响程序正常运行。

在Java语言中,异常机制是:一旦出现异常,可以由运行的方法或虚拟机生成一个异常对象,它饮食异常事件的类型以及发生异常时程序的状态等信息。异常对象从产生和被传递提交始Java运行系统的过程称为抛出(throw)异常。在Java运行时,如获得一个异常对象,

它会自动寻找处理该异常的代码,它从生成异常对象的代码构件开始,沿着方法调用栈,按导回溯寻找,直至找到处理该类异常方法为止,再由Java运行系统将该异常对象交给该方法去处理,这一个过程称为捕获(catch)异常。Java语言能按机制来接收并处理异常,是要求所指异常对象必须是已定义好的异常类的实例。Java语言中的类库,已定义有许多异常类可利用。异常对象用new来创建,一旦创建合,就停止当前执行路径,再从当前环境中释放异常对象的地址,此时异常机制就接管一切,把程序转向异常处理器,去解决程序是否能继续进行还是报错。

Java语言的类库中提供一个别Throwable类,所有的异常对象都必须是它的实例。Throwable 类中的方法对抛出异常进行描述。异常在Java程序中是有层次的。

Throwable类是直接Object类继承来的,是所有异常类的根(父类),它的定义如下:public class Throwable exception Object implement Serializable它有public Throwable()和public Throwable(String message)两个构造函数,其中的字符串参数可利用getMessage()方法去获得参数内容。

Throwable类分为Error和Exceptiong两子类,Error类包括动态连接失败、硬件设备和虚拟机出错等,通常的Java应用程序不会捕获和抛出这类异常,而是捕获和抛出Exception这类异常,它包括运行时出现的异常,并对这类异常作出处理。

Throwable类有public Throwable()和public Throwable(String message)两种构造函数,包含getMessage()、toString()、printStackTrace()、fillStackTrace()方法,其中getMessage()方法用来返回带参数构造函数创建异常时的参数内容,对无参数构造函数而言,用它返回的是空值;toString()用来返回异常的类名和getMessage()能得到的内容,两面三刀者用冒号分隔,如getMssage()得的是空值,它只返回异常类名;printStrace()方法用来在标准输出设备上输出堆栈使用的跟踪;fillStrackTrace()方法用在重新抛出异常时对堆栈的跟踪。

【考点二】异常类型

按异常处理不同可分为运行异常、捕获异常、声明异常和抛出异常几种。

1、捕获异常

当异常已被定义时,必须通过try-catch-finally语句处理它,其语法如下:

try{

┋//可能出现异常的程序段

}catch(ExceptionName1 e){

┋//异常处理程序段1} catch(ExceptionName2 e){

┋//异常处理程序段2}

}finally{

┋//最后异常处理程序段

}

捕获异常的第1步是try{…}语句选定异常的范围,由招待它的程序代码段决定可能生成异常对象并抛出;第2步由它的catch子句(一个或多个)去处理它所抛出的异常事件,catch 子句要求一个形式参数,指明所捕获的异常类型,该类型必须是Throwable的子类,运行时Java解释器通过该参数值将被抛出的异常对象传递给相应的catch程序段,由该程序段处理,它可用Throwable的getMessage()方法获得异常事件信息,还可利用Throwable的

java期末考试知识点总结

java知识点总结 应同学要求,特意写了一个知识点总结,因比较匆忙,可能归纳不是很准确,重点是面向对象的部分。 java有三个版本:JAVA SE 标准版\JAVA ME移动版\JAVA EE企业版 java常用命令:java, javac, appletview java程序文件名:.java, .class java的两类程序:applet, application; 特点,区别,这两类程序如何运行 java的主方法,主类,共有类;其特征 java的数据类型,注意与C++的不同,如字符型,引用型,初值 java与C++的不同之处,期中已总结 java标记符的命名规则 1)标识符有大小写字母、下划线、数字和$符号组成。 2)开头可以是大小写字母,下划线,和$符号(不能用数字开头) 3)标识符长度没有限制 4)标识符不能使关键字和保留字 面向对象的四大特征 抽象、封装、继承、多态 封装,类、对象,类与对象的关系,创建对象,对象实例变量 构造函数,默认构造函数,派生类的构造函数,构造函数的作用,初始化的顺序,构造方法的重载 构造函数:创建对象的同时将调用这个对象的构造函数完成对象的初始化工作。把若干个赋初值语句组合成一个方法在创建对象时一次性同时执行,这个方法就是构造函数。是与类同名的方法,创建对象的语句用new算符开辟了新建对象的内存空间之后,将调用构造函数初始化这个新建对象。 构造函数是类的特殊方法: 构造函数的方法名与类名相同。 构造函数没有返回类型。 构造函数的主要作用是完成对类对象的初始化工作。 构造函数一般不能由编程人员显式地直接调用。 在创建一个类的新对象的同时,系统会自动调用该类的构造函数为新对象初始化。 类的修饰符:public类VS 默认; abstract类; final类; 1)类的访问控制符只有一个:public,即公共的。公共类表明它可以被所有其他类访问和引用。 若一个类没有访问控制符,说明它有默认访问控制特性,规定该类智能被同一个包中的类访问引用(包访问控制)。 2)abstract类:用abstract修饰符修饰的类被称为抽象类,抽象类是没有具体对象的概念类,抽象类是它所有子类的公共属性集合,用抽象类可以充分利用这些公共属性来提高开发和维护效率。 3)final类:被final修饰符修饰限定的,说明这个类不能再有子类。所以abstract与final 不能同时修饰一个类。 域和方法的定义 1)域:定义一个类时,需要定义一组称之为“域”或“属性”的变量,保存类或对象的数据。

JAVA程序设计期末考试题(多套含答案)

《JA V A程序设计》期末考试试题(五) 一、单选题 1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是()。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 2、下面的程序段的功能是( )。 File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs(); A)在当前目录下生成子目录:\xxx\yyy\zzz B)生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 3、应用程序的main方法中有以下语句,则输出的结果是( )。 String s = "xxxxxxxxxxxxxxx#123#456#zzzzz"; int n = s.indexOf("#"); int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k); System.out.println(s2); A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 4、关于下面的程序Test.java说法正确的是( )。 public class Test { String x="1"; int y; public static void main(String args[]) { int z=2; System.out.println(x+y+z); } } A)3 B)102 C) 12 D)程序有编译错误 5、应用程序的main方法中有以下语句,则输出的结果是( )。

java考试试卷及答案初级

选择题(3分) 1、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点( ) A)安全性B)多线程C)跨平台D)可移植 2、程序的三种基本控制结构是( ) A.过程、子程序和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移 3、在Java语言中,下列哪些语句关于内存回收的说明是正确的( ) A.程序员必须创建一个线程来释放内存 B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象 4、下列Object类中的方法,哪一项不是完全跟线程有关( ) A.String toString() B.void notify() C.void notifyAll() D.void wait() 5、给出下面代码:( ) public class Person{ static int arr[] = new int[10]; public static void main(String a[]) { System.out.println(arr[1]); } } 下列说法中正确的是: A.编译时将产生错误 B.编译时正确,运行时将产生错误 C.输出0 D.输出空 6、二叉树的前序、中序和后序遍历法最适合采用()来实现。查找树中,由根结点到所有其他结点的路径长度的总和称为(),而使上述路径长度总和达到最小的树称为(),它一定是()。 A. 递归程序 B. 迭代程序 C. 队列操作 D. 栈操作 A. 路径和 B. 内部路径长度 C. 总深度 D. 深度和 A. B-树 B. B+树 C. 丰满树 D.穿线树 A. B-树 B. 平衡树 C. 非平衡树 D. 穿线树 7、下列说法中正确的是( )

java ee 期末试题 (1)要点

1、下列哪一项不是Java EE的常用技术(D) A、JSP B、Hibernate C、Spring D、JNDB 2、servlet与一般Java类的相同点是什么?(D) A、 B、Servlet是运行在Web服务器的一个Web组件 C、Servlet通常是通过HTTP协议回复Web客户端的请求 D、Servlet是运行在Web容器的Java类 3、以下哪一个是市场上流行的Java EE服务器(A) A、Apache B、tomcat C、glassfish D、netbeans 4、EJB的作用是(C) A、Servlet组件和JSP组件 B、用于丰富客户端图形界面显示 C、通过RMI/IIOP协议与EJB容器通信远处电泳EJB的功能方法,进而完成业务处理。 D、GUI交互界面的开发,负责与系统用户的交互 5、分析以下程序: public class x{ public static void main(String[]args){ String ol=new String("ABV"); String o2=new String("ABV"); if(o1.equals(o2)){ System.out.println("Equal"); } }该程序的执行结果是( B )。 A. 程序执行后无输出 B. 程序执行后输出“Equal” C. 程序在第5行出现编译错误 D. 程序执行后出现异常 6、执行完下面的程序片段后,下面哪些结论是正确的?(B) int a,b,c; a=1; b=2; c=(a+b>3?a++:++b); A. a的值是2,b的值是3 B. a的值是1,b的值是3 C.a的值是1,b的值是2 D.c的值是false 6、Struts框架的控制器主要由(C )负责。 A. EJB

java期末考试试题及答案

1.谈谈final, finally, finalize的区别。 final关键字: a) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。 b) 将变量或方法声明为final,可以保证它们在使用中不被改变。 c) 被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。 d) 被声明为final的方法也同样只能使用,不能重载。 finally关键字:在异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块。 finalize:方法名,不是关键字。Java技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。 2.GC是什么? 为什么要有GC? GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一: System.gc() Runtime.getRuntime().gc() 3.Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 写程序Math.round(11.5) = 12 Math.round(-11.5) = -11 4.给我一个你最常见到的runtime exception ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

大学java期末试卷2份(含答案)

Java大学考试试卷 一、选择题(每题2分,共30分) 1、Java中main()函数的值是。 A、 String B、int C、char D、void 2、如下字串是Java中的标识符。 A、 fieldname B、super C、3number D、#number 3、下面的代码段中,执行之后i 和j 的值是。 int i = 1; int j; j = i++; A、 1, 1 B、1, 2 C、2, 1 D、2, 2 4、已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 };下面表达式的值与数组下标量总数相等。 A、 m.length() B、m.length C、m.length()+1 D、m.length+1 5、当浏览器返回到新URL的包含applet 的页面时调用以下函数。 A、 init() B、start() C、stop() D、destroy() 6、以下方法用于定义线程的执行体。 A、 start() B、init() C、run() D、main() 7、如果类中的成员变量可以被同一包访问,则使用如下约束符。 A、 private B、public C、protected D、final 8、以下约束符可用于定义成员常量。 A、 static B、final C、abstract D、No modifier can be used 9、下面方法与applet的显示无关。 A、 update() B、draw() C、repaint() D、paint() 10、请问如下方法可以将MenuBar加入Frame中。 A、 setMenu() B、setMenuBar() C、add() D、addMenuBar() 11、下面不是Java中的容器。 A、 ScrollPane B、Canvas C、Dialog D、Applet 12、下面的程序段创建了BufferedReader类的对象in,以便读取本机d盘my文件夹下的文件1.txt。File 构造函数中正确的路径和文件名的表示是。 File f=new File(填代码处); file=new FileReader(f); in=new BufferedReader(file); A) "1.txt" B) "d:\\my\\1" C) "d:\\my\\1.txt" D) "d:\ my\1.txt" 13、有整型数组: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 14、下面的程序段执行后输出的结果是。 StringBuffer buf=new StringBuffer("Beijing2008"); buf.insert(7,"@"); System.out.println(buf.toString()); A) Beijing@2008B) @Beijing2008 C) Beijing2008@ D) Beijing#2008 15、.下面表达式可用得到x和y的最大值。 A) x>y?y:x B) xy?(x+y):(x-y) D) x==y?y:x; 二、多选题(每题至少有一个正确答案,多选少选都不给分,每题2分,共10分) 16、下面赋值语句是合法的。 A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2 17、下面语句是创建数组的正确语句。 A、 float f[][] = new float[6][6]; B、float []f[] = new float[6][6]; C、float f[][] = new float[][6]; D、float [][]f = new float[6][6]; 18、Java中如下约束符是正确的。 A、 private B、public C、protected D、protect 19. 下面事件监听器在Java中有事件适配器。 A、 MouseListener B、KeyListener C、ActionListener D、WindowListener 20、已知如下的命令执行 java MyTest a b c,语句是正确的。 A、 args[0] = "MyTest a b c" B、args[0] = "MyTest" C、args[0] = "a" D、args[1]= 'b' 填空题(每空格2分,共20分) 1. 创建类的对象时,使用运算符__________给对象分配内存空间。 2. 定义类的构造方法不能有返回值类型,其名称与____ _名相同。

java考试题型与要点

考试题型 一、选择题(20分,每题2分)10题 二、简答题(15分,每题5分)3题 三、程序填空(共45分,每空3分)3大题 四、编程题(20分)1大题 各章复习要点 第2 章Java基本语法 1、标识符 标识符的作用是用于标识程序中的各个元素。由字母、下划线(_)、美元符($)、数字(0~9)组成,数字不能开头。 2、关键字P20(浏览一下,留意学过的关键字) 3、数据类型 基本数据类型P20 图2-1 、P21 表2-1 各类型需要掌握的要点:类型名称、关键字,占用位数、取值范围(整数类型的取值范围取决 于占用位数,如:占用位数为n,则表示的范围是:-2n~2n-1) 4、运算符与表达式 自增、自减符号在变量的前后位置不同,表达式的结果是不一样的。 例如int a=1,b=2; System.out.print(a++>--b); 结果为false ++在a 变量后面,那表达式a++的值是取a 的值作为表达式的值,值为1。

--在b 变量之前,那表达式--b 的值是多少?先让b 自减1,而后在取b 的值作为表达式的值,即为1。最后a 自增1。 条件运算符?:例如:int x=-1,y; y=x>=0?x:-x; y 的值是? y 值为1 5、利用Scanner类输入 (1) 导入util 包。例如:import java.util.*; (2) 创建Scanner类对象引用。例如:Scanner s=new Scanner(System.in); (3) 获得键盘输入的数据,可以调用nextXXX()方法。获得整型数据,使用nextInt();获得双精度浮点数据,使用nextDouble();获得一字符串,使用nextLine()。例如int a=s.nextInt(); P29 例2-3 6、程序流程控制 顺序结构、选择结构(if(), ; if(), else, ; switch() case n,: ; [default: , ;])、循环结构(while(){ , }; do{, }while(); for(;;) , ) P49 例2-20、P60 例2-29 7、数组 一维数组的声明与创建 声明:类型数组名[ ] ;或类型[ ] 数组名; 创建:数组名=new 类型[数组长度]; 也可以声明与创建合并:类型数组名[ ]=new 类型[数组长度]; 注意等号左边的中括号中不要写出数组长度

JAVA期末考试复习试题

JAVA期末考试复习试题 JAVA期末考试复习试题 1.使用Java语言编写的源程序保存时的文件扩展名是()。(A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为()。(A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。(A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数()。(A)封装(B)继承(C)覆盖(D)重载5.在类的定义中构造函数的作用是()。(A)保护成员变量(B)读取类的成员变量(C)描述类的 特征(D)初始化成员变量6.下面关键字中,哪一个不 是用于异常处理语句()。(A)try (B)break (C)catch (D)finally 7.类与对象的关系是()。 (A)类是对象的`抽象(B)对象是类的抽象(C)对象 是类的子类(D)类是对象的具体实例8.下面哪一个是Java中不合法的标识符()。(A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形

式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。(A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接 口,下列哪个方法是正确的()。(A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为 ()(A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类 的( )方法来完成一些画图操作。(A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: (A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:(A) int I = 32; (B) float f = 45.0; (C) double d = 45.0; (D) char c = ‘u’; //符号错15.Java语言使用的字符码集是(A) ASCII (B) BCD (C) DCB (D) Unicode 16. 如果一个类的成员变量只能在

大学java期末考试试题和标准答案

《Java程序设计基础》期终考试试卷(模拟) (闭卷) 一、简单编程题(共50分) 在考试文件夹中新建一个应用程序proj1(应用程序地文件夹名称为proj1),按照以下要求编写程序代码. 1. 在程序中定义Person类,为该类编写如下字段、构造器、访问器、修改器和相应地其他方法.(20分) (1)在Person类中定义两个字段: 私有访问权限,类型为String地name字段; 私有访问权限,类型为int地age字段. (2)在Person类中定义构造器 构造器有两个参数,第一个参数地类型是String,名字为name.第二个地类型是int,名字是age.第一个参数地值赋给字段name,第二个参数地值赋给字段age. (3)为Person类地两个字段分别编写访问器方法,方法名称分别为getName和getAge.getName方法返回类型为String地name字段地值;getAge方法返回类型为int地age字段地值. (4)为Person类地两个字段分别编写修改器方法,方法名称分别为setName和setAge.setName方法有一个String类型地参数,方法中用该参数来设置字段name地值;setAge方法有一个int类型地参数,方法中用该参数来设置字段age地值,并且保证age 字段地值不能为负数,如果要将age设置为负数则给出错误提示. (5)为Person类写一个叫做toString地方法,该方法不需要参数,有返回值.它返回一个字符串,字符串中包含name字段和age字段地值,如果name字段地值是“Helen”,age字段地值是20,则返回字符串:“Name:Helen. Age:20”. 2. 在程序中定义Student类,Student类继承Person类.(10分) (1)在Student类中除了继承其超类Person地name字段和age字段外,它还有自己地字段String类型地school,该字段地访问权限为私有. (2)Student类地构造器有三个参数,第一个参数为name,String类型;第二个参数为age,int类型;第三个参数为school,String类型,这三个参数地值分别赋给三个字段name、age和school. (3)在Student类中重写其超类Person地toString方法,要求该方法返回地字符串不仅包含超类Person中地name字段和age字段地值,而且包含子类Student中地school 字段地值.如果name字段地值是“Helen”,age字段地值是20,school字段地值是“山西大学商务学院”,则返回地字符串为“School:山西大学商务学院Name:Helen. Age:20”. 3. 在程序中定义Test类,在Test类中定义一个main方法,在main方法中实现如下操作:(10分) (1)创建一个Person类地对象,它地name为“John”,age为18,对象名为person1; (2)创建一个Student类地对象,它地name为“Helen”,age为18,school为“MIT”,对象名为stuent1; (3)分别输出这两个对象地相关信息(调用它们地toString方法). 4. 分别为Person类和Student类编写文档注释,并生成应用程序地类文档.要求如下:(10分) (1)类地文档注释,包括类名、类地作者及版本号,作者地名字用考生地姓名标注,版本号使用考试地日期; (2)构造器和各个方法地文档注释,包括方法地名称、构造器和方法地功能说明,要求标注构造器和方法中地参数及返回值,并说明参数地类型、名称和返回值地类型. (3)文档注释完成后要使用BlueJ地JavaDOC工具生成应用程序地类文档. 二、代码改错(共20分)

java考试要点

1、什么是平台无关性?Java怎样实现平台无关性? 答:平台无关性是指一个应用程序能够运行于不同的操作系统平台。Java采用虚拟机技术支持平台无关性,不同操作系统需要相应的不同的Java虚拟机,由Java虚拟机执行Java源程序(*.java)编译生成的字节码文件(*.class),而不是由操作系统直接执行通常高级语言生成的可执行文件(*.exe)。 2、面向对象技术的三个核心特性是什么? 答:①类的封装性;②类的继承性;③类的多态性; 3、什么是封装?为什么要将类封装起来?封装的原则是什么? 答:封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”。为了增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。原则: 1、把尽可能多的东西藏起来.对外提供简捷的接口。 2、把所有的属性藏起来。 4、什么是多态性?什么是方法的重载?方法的重载和覆盖有什么区别? 答:多态是指一个方法可以有多种实现版本。方法重载:同一个类中的多个方法可以同名但参数列表必须不同。重载与覆盖的区别:1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。3、覆盖要求参数列表相同;重载要求参数列表不同。4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。 5、什么是接口?接口和抽象类有哪些相同之处和不同之处? 答:接口是一组常量和抽象方法的集合;相同点:1.两者都包含抽象方法,约定多个类共用方法的参数列表和返回值。2.两者都不能被实例化。3.两者都是引用数据类型,其变量可被赋值为子类或实现接口类的对象。不同点:1.抽象类约定多个子类之间共同使用的方法;接口约定多个互不相关类之间共同使用的方法。2.抽象类与子类之间采用单重继承机制;一个类实现多个接口则实现了多重继承的功能。3.抽象类及其类中成员具有与普通类一样的访问权限;接口的访问权限有public和缺省两种,接口中成员的访问权限均是public。4.抽象类中可以包含非抽象方法,也可以生命构造方法;接口中的方法全部是抽象方法,不能声明构造方法。5.抽象类中可以声明成员变量,子类可以对该变量赋值;接口中只能声明常量。 6、什么是单重继承?什么是多重继承?类的层次体系为什么需要多重继承?单重继承有什么缺点?既然 有缺点,为什么java仍然采用单重继承?java怎样实现多重继承? 答:单重继承是指子类只能继承一个父类的属性和操作 多重继承是指子类可以继承了多个父类的属性和操作。因为单继承使得java结构简单,层次清楚,易于管理,更安全可靠,避免了c++中因多重继承而引起的难以预测的冲突。Java通过接口实现多重继承。 7、在什么情况下需要申明内部类?内部类有哪些特性? 答:当结构作为数组的元素类型时,或当一个类中需要使用结构时,可以将结构声明为内部类。 特征:内部类不能与外部类同名;内部类具有封装性;内部类具有继承性;内部类具有抽象性;使用点运算符“.”引用内部类;内部类具有类成员的4种访问权限;内部类具有静态特征。

java期末考试复习题及答案

《Java程序设计》课程试卷 1.使用Java语言编写的源程序保存时的文件扩展名是( B )。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。 (A)封装(B)继承(C)覆盖(D)重载 5.在类的定义中构造函数的作用是( D )。 (A)保护成员变量(B)读取类的成员变量(C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。 (A)类是对象的抽象(B)对象是类的抽象(C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为( B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java

Java web期末考试题

第1页(共7页) 天津师范大学期末考核 2015—2016 学年第2学期 期末考核试卷 科目:Java Web 应用开发 学院:计信学院 专业:计算机科学 一、 单选题:(每小题2分,共10分) 1. 下列语句属于声明语句的是( A )。 A .<%! Int a = 4;%> B.<% int a=4;%> C .<%--int a=4-- %> D. <%@ int a=4%> 得分 2. 一个servlet 的生命周期不包括( B )方法? A .init( )方法 B. invalidate( )方法 C .service( )方法 D .destroy( )方法 得分 3. Application 对象的作用域是( B )。 A . 一次会话 B. 整个应用程序 C . 一次请求 D . 整个页面 得分 4. 下面对servlet 中重定向说法描述错误的是( D )。 A .使用的是HttpServletResponse 接口的sendRedirect()方法 B. 源组件的响应结果不会发送给客户端 C .sendRedirect()方法后的代码仍会执行 D .源组件和目标组件共享ServletRequest 对象

第2页(第7页) 得分 5. 有一个JavaBean 组件,类名为Student ,此JavaBean 组件的获得访问方法是getTotalScore,其功能是获得某个学生几门功课的总分,返回值保留一位小数,则以下关于getTotalScore 的声明正确的是( B )。 A .public int getTotalScore() B. public float getTotalScore() C .protected int getTotalScore() D .protected float getTotalScore() 得分 2. 3. Sevlet 过滤器核心对象放置在javax.servlet 包中,其名称为 4.

java期末考试复习知识点

6.1.2字符串类几个常用方法 String类定义了许多方法,下面是几个最常用方法。 public int length():返回字符串的长度,即字符串包含的字符个数。注意,对含有中文或其他语言符号的字符串,计算长度时,一个符号作为一个字符计数。 public char charAt(int index):返回字符串中指定位置的字符,index表示位置,范围为0~s.length()-1。 public String concat(String str):将调用字符串与参数字符串连接起来,产生一个新的字符串。 –public String substring(int beginIndex, int endIndex):从字符串的下标beginIndex开始到endIndex结束产生一个子字符串。 –public String substring(int beginIndex):(子链\子串);从字符串的下标beginIndex开始到结束产生一个子字符串。 –public String replace(char oldChar, char newChar):将字符串中的所有oldChar 字符改变为newChar字符,返回一个新的字符串。 –public String to Upper Case():将字符串转换成大写字母。 – public String to Lower Case():将字符串转换成小写字母。public String trim():返回去掉了前后空白字符的字符串对象。 (vt.装饰; 修剪; 整理; adj.整齐的,整洁的; 修长的; 苗条的; 修剪; 整齐; 健康状态; 装束;) public boolean isEmpty():返回该字符串是否为空(""),如果length()的结果为0,方法返回true,否则返回false。 下面程序要求从键盘输入一个字符串,判断该字符串是否是回文串。一个字符串,如果从前向后读和从后向前读都一样,则称该串为回文串。例如,“mom”和“上海海上”都是回文串。 算法思想:对于一个字符串,先判断该字符串的第一个字符和最后一个字符是否相等,如果相等,检查第二个字符和倒数第二个字符是否相等。这个过程一直进行,直到出现不相等的情况或者串中所有字符都检测完毕,当字符串有奇数个字符时,中间的字符不用检查。 6.1.7 String对象的不变性 在Java程序中一旦创建一个String对象,就不能对其内容进行改变,因此说Java的String对象是不可变的字符串。 有些方法看起来是修改字符串,但字符串修改后产生了另一个字符串,这些方法对原字符串没有任何影响,原字符串永远不会改变。请看下面的例子。 ?程序6.6 ChangeString.java public class ChangeString{ public static void main(String[] args){ String s = new String("Hello,world"); s.replace('o','A'); // s的值并没有改变 s = s.substring(0,6).concat("Java"); s.toUpperCase(); // s的值并没有改变 System.out.println(s); } } 程序运行结果为:

最新java考试复习重点资料

JA V A 考试重点复习 第一章Java 概述 1. Java 如何实现跨平台? 通过Java 虚拟机JVM 来实现跨平台,先将Java 源程序编译成字节码(后缀为.class 的 代码),字节码可以在Java 虚拟机上运行,不同的平台有不同的Java 虚拟机JVM ,相同的字节码可以不同的平台上运行。 2. Java 开发的三个平台是什么? J2SE 、J2EE 和J2ME 3. 如何编译与运行java 程序? 在Dos 命令提示符状态下通过命令行来实现的。例如: 如果用命令行运行test 的话,后面不可以写“.class ”,若写成test.class 系统会把class 当成类名test 当成类包,所以在没有类包的情况下不要写成“.class ”形式。 第二章Java 基础 1. 什么是标识符?如何定义标识符? 标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。Java 语言规定标识符由字母、下划线、美元符号和数字等组成,并且第一个字符不能是数字。 对标识符的约定:(1)变量名、对象名、方法名、报名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写,如getAge 。(2)类名首字母大写。(3)常量名全部字母大写。 2. 关键字的定义? 关键字是由Java 语言定义的、具有特殊含义的字符序列。其首字母不能大写。如:this ,super ,extends ,if ,class ,instanceof 3.Java 中数据类型的结构? float 与double 定义时的区别: float 型的数要在后面要加f ,如34.5f 4. 常量与变量的声明方式? 常量: final[修饰符]类型标识符 常量名=(直接)常量 如: final public double PAI=3.14; 变量: [修饰符] 类型标识符 变量名[=常量]; 如: public float x=25.4f ; 常量与变量的区别:一旦定义为常量了,其值不能改变,若要改变其值,只能改变声明时 Output test.java javac test.class java va 数据类型 布尔(boolean) 数值类型 短整数(short) 字节(byte) 字符(char) 长整数(long) 整数 (int) 双精度浮点数(double ) 单精度浮点数(float) 定点类型 浮点类型 基本数据类型 引用数据类型 类 接口 数组

java期末考试试题

山东师范大学成人高等教育期末考试试题 (时间:110分钟共100分) 年级:2014级专业:计算机科学与技术(高起本)考试科目:《Java技术》 试题类别: A (A/B/C) 考试形式__闭卷_(开、闭卷) 一、单项选择题(每小题1.5分,共30分) 1. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同, 传回的值也可以不相同。这种面向对象程序的特性称为()。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 2. 以下关于构造函数的描述错误的是()。 A、构造函数的返回类型只能是void型。 B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 3. 下列哪些语句关于Java内存回收的说明是正确的? () A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 4. 若需要定义一个类域或类方法,应使用哪种修饰符?() A、static B、package C、private D、public 5. 有以下方法的定义,请选择该方法的返回类型()。 ReturnType method(byte x, double y){ return (short)x/y*2;} A、byte B、short C、int D、double 6. 编译运行以下程序后,关于输出结果的说明正确的是() public class Conditional{ public static void main(String args[ ]){ int x=4; System.out.print ln(“value is “+ ((x>4) ? 99.9:9));} } A.输出结果为:value is 99.9 B.输出结果为:value is 9 C.输出结果为:value is 9.0 D.编译错误 7. 执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的() A.x[9]为0 B.x[9]未定义C.x[10]为0 D.x[0]为空 8. 关于以下程序段,正确的说法是() 1 ) String s1=“a”+“b”; 2 ) String s2=new String(s1); 3 ) if(s1= =s2) 4 ) System.out.println(“= = is succeeded”); 5 ) if (s1.equals(s2)) 6 ) System.out.println(“.equals() is succeeded”); A.行4与行6都将执行B.行4执行,行6不执行 C.行6执行,行4不执行C.行4、行6都不执行 9. 以下程序的运行结果是:() public class Increment{ public static void main(String args[]){ int c; c = 2; System.out.println(c); System.out.println(c++); System.out.println(c) ;} } A.2 2 2 B.2 3 3 C.2 2 3 D.3 4 4 10. 下列哪一个关键字用于实现接口来定义类?() A、extends B、implements C、abstract D、interface 11. 设x为float型变量,y为double型变量,a为int型变量,b为long型变量,c为char型变量,则表达式x+y*a/x+b/y+c的值为( )类型。 A、int B、long C、double D、char 12. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?() A、ArrayList myList=new Object(); B、List myList=new ArrayList(); C、ArrayList myList=new List(); D、List myList=new List(); 13. 指出正确的表达式() A、byte=128; B、Boolean=null; C、long l=0xfffL; D、double=0.9239d; 14. 指出下列程序运行的结果() public class Example{ String str=new String("good"); char[] ch = {'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+" and "); Sytem.out.print(ex.ch); } public void change(String str,char ch[]){ str="test ok"; ch[0]='g'; } }//Example结束 A、good and abc B、good and gbc C、test ok and abc D、test ok and gbc 15. 运行下列程序, 会产生什么结果() public class X extends Thread implements Runnable{ public void run(){ System.out.println("this is run()"); } public static void main(String args[]) { Thread t=new Thread(new X()); t.start(); } } //X结束 A、第一行会产生编译错误 B、第六行会产生编译错误 C、第六行会产生运行错误 D、程序会运行和启动 16. File类是IO包中唯一表示磁盘文件信息的对象,它定义了一些与平台无关的方法来操纵文件。通过调用File类提供的各种方法,我们能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等。下面的代码片段实现的是什么功能?( ) File file = new File("C:\\test.dat"); if (file.exists()) { file.delete(); } A、创建C:\test.dat。 B、删除C:\test.dat。 C、打开C:\test.dat文件输出流。 D、移动C:\test.dat 17. 阅读Shape和Circle两个类的定义。在序列化一个Circle的对象circle到文件时,下面哪个字段会被保存到文件中?( ) 第1页共四页第2页共四页

相关主题
文本预览
相关文档 最新文档