Java程序设计教程

Java程序设计教程
Java程序设计教程

Java程序设计教程

Java Software Solution

第一章.计算机系统概述

1.1 计算机处理过程Computer Processing

·计算机系统中的关键硬件组件:

1.中央处理器(CPU)Central Processing Unit

-处理程序指令

2.输入/输出设备(I/O)设备Input/Output Devices

-提供人机交互界面

3.主储存器Main Memory

-储存当前执行中的程序和其相关的数据

4.辅助储存器设备Secondary Memory Devices

-以相对永久的方式保存软件

1.5.5 错误

·程序开发过程中的三种类型错误:

1.编译时错误Compile-time Error

-编译器将检查整个程序以保证没有语法错误

-如果任何一条语句没有遵守语法规则, 编译器将产生一条语法错误信息

-任何被编译器识别出的错误称为编译时错误Any error identified by the compiler is called a compile-time error

2.运行时错误Run-time Error

-出现在程序执行过程中, 将导致程序异常终止

-Example, if we attempt to divide by zero, the program will “crash”and halt execution at that point. (0不可以做被除数)

3.逻辑错误Logical Error

-属于软件问题

-程序可以正常编译和执行,但是执行结果不正确

第二章.数据与表达式Data and Expression

2.1 字符串Character String

·一个字符串是一个对象,由String类定义;

·字符串是计算机程序设计中非常基础的类型,因此java允许定义字符串常量(String Literal),并以双引号(“”,double quotation)作为字符串的分界符;

2.1.1 print和println方法

·println方法和print方法都是由System.out对象提供的可用服务;

·print方法输出发送给它的信息后保持光标的当前位置;

·println方法输出发送给它的信息后将光标移至下一行的起点(advance to the beginning of the next line)

2.1.2 字符串拼接String Concatenation

2.1.3 转义序列Escape Sequences

·Java语言中,双引号用于表示一个字符串的开始与结束,因此必须使用一种技术来输出双引号本身。由此Java定义了若干个转义序列来表示特殊字符;

·Java转义序列:

转义序列意义

\b 回退符

\t 制表符

\n 换行符

\r 回车符

\”双引号

\’单引号

\\ 反斜杠

2.2 变量与赋值Variables and Assignment

2.2.1 变量Variables

·变量代表保存数据的内存单元,用于保存具有某种数据类型的值;(A variable is a name for a memory location used to hold a value of a particular data type.)·变量声明(Variable Declaration)要求编译器分配足够大的内存单元来保存指定类型的值;

1.变量声明由类型说明符以及后续的变量名列表组成;

2.每一个变量可以在声明时用指定的表达式初始化(initialized);

3.如果声明中使用了final修饰符,则声明的标识符命名为常量,且一旦赋值就不

可改变;

2.2.2 赋值语句The Assignment Statement

·基本赋值语句用赋值运算符(=,assignment operator)将表达式的计算结果保存到指定的标识符所代表的内存单元(通常为常量)中;

·Java语言强调数据类型(Java language is strongly typed),这意味着不允许给一个变量赋予一个具有与该变量所声明的数据类型不一致的值;

2.2.3 常量Constants

·常量存在期间保存着一个特定的值,并在赋予初始值后不可改变,否则编译器将产生错误信息

2.3 基本数据类型Primitive Data Type

·Java有8种基本数据类型:

-4种整形(Integers):byte,long,int,short;

-2种浮点型(Floating Points):float,double;

-字符型(Character Data Type);

-布尔型(Boolean Type);

2.3.1 整形与浮点型Integers and Floating Points

2.3.2 字符型Character Type

·字符型也是一种基本数据类型,而String不是Java的数据基本类型而是一个类;

·单个字符可以视为一项数据,由字符可以组成字符串;

·在Java中,用单引号(‘’,single quotes)表示字符常量;

2.3.3 布尔型Boolean Type

·Java用保留字boolean定义布尔变量。一个布尔变量包括两种有效值,true和false;

·Java中德单词true和false用做表示布尔常量值的保留字;

2.4 表达式Expression

·表达式是运算符(Operators)和操作数(Operands)按一定规则构成的组合,用于完成计算;

2.4.1 算数运算符Arithmetic Operator

·算数运算符用于整形和浮点型数据的运算,包括加( + addition)、减( - subtraction)、乘( * multiplication)、除( / division)。Java还提供了另一种算数运算:求余运算(%

remainder operator),求余运算返回第二个操作数除第一个操作数的余数;

2.4.2 运算符优先级Operator Precedence

优先级运算符运算结合方向

1 +

- 一元取正值

一元取负值

从右到左

2 *

/

% 乘法

除法

求余

从左到右

3 +

-

+

加法

减法

字符串拼接

从左到右

4 = 赋值从右到左

2.4.3 自增和自减运算符Increment and Decrement Operators

·自增运算符(++)自减运算符(--)

2.4.4 赋值运算符Assignment Operator

·基础赋值运算符(=);

·组合赋值运算符:+=、-=、*=、/=、%= ……

2.5 数据类型转换Data Conversion

2.5.1 类型转换的安全性

·扩展型转换:使用相等的或更大的数据储存空间来保存类型转换后的值,因而是更安全的转换类型,一般不会丢失信息;

·压缩型转换:使用更少的存储空间来保存类型转换后的值,相对与扩展型转换而言更容易丢失信息,原则上应当避免这种类型的转换;

·Boolean型值不能转换为任何一种基本类型,反之亦然;

2.5.2 数据类型转换技术Conversion Techniques

·在Java中,数据转换的方式有3种:

1.Assignment conversion 赋值型转换;

2.Promotion “低级别”类型向“高级别”类型的自动类型转换;

3.Casting 强制类型转换;

·强制转换类型是Java中最常见的类型转换形式;

2.6 交互程序Interactive Programs

2.6.1 Scanner类The Scanner Class

·Scanner类提供了一些从不同数据源读取各种类型数据的方法

·在使用Scanner类时,首先必须创建Scanner类对象以便引用其方法。在Java中用new运算符创建对象,声明语句如下:

Scanner scan = new Scanner (System . in);

System.in对象代表标准输入流设备,默认时为键盘

·除非特别说明,Scanner对象假定空白字符用于分离输入数据流中的各个数据项(称为token)。如果输入数据项是用非空白字符分隔开的,则可以重新定义一组输入

分隔符;

第三章.使用类和对象Using Classes and Objects

3.1 建立对象Creating Objects

3.1.1 对象引用变量的声明和初始化Declaration and Initialization

·在Java中,变量名代表一个基本类型值或一个对象。如基本类型变量一样,对象变量也必须声明(Declaration),定义对象的类可以视为对象的类型;

·一个对象变量不能保存对象本身,而是保存该对象的地址,因此对象变量也称为对

象引用变量;

·使用变量前先初始化(Initialization)是至关重要的。这意味着在应用该变量前,必须确信已经使该变量指向一个有效的对象。如果在初始化之前使用对象引用变量,计算机一班都将发出错误信息;

·可以将一个对象引用变量设置为null,null是Java的保留字,专门用于表示一个对象引用变量不指向任何对象;

3.1.2 别名Aliases

·一个对象的多个名字,它们相互成为对方的别名;

·别名的重要意义在于,当利用一个引用改变其所指对象时,同时也使作为别名的所有引用指向的对象发生了改变,因为实际上只存在一个对象;

·所有与对象的交互都体现在使用对象引用变量,所以仅当有一个对象引用变量时,才能使用对象。当一个对象所有的引用都丢失(可能是由于重赋值)后,它就再也

不能为程序所用,即程序中不能再引用该对象的方法或数据成员,此时该对象称为

“垃圾”;

3.2 String类

String类的部分方法

3.3 包Packages

3.3.1 包的概念

·类库由一组支持程序开发的类组成。一个编译器或开发环境以一个类库为基础。类库本身并不属于某种语言。例如,String类并不是Java语言的内建部分,而是Java

标准类库(Java standard class library)的一部分;

·类库由几组相关的类簇构成,有时称为Java API,即应用程序设计接口(Application programming interface)。有时将整个标准类库统称为Java API;

·Java标准类库的类还被划分成包,每个类属于一个具体的包。例如,String类和System类是https://www.360docs.net/doc/538386280.html,ng包中德类,而Scanner类是java.util包中的类;

·包组织名比API名更基础、更基于语言。虽然在包名和API名之间存在基本的对应关系,但构成某一指定API的一组类可能分属于几个包(夸包cross package);

3.3.2 import声明The import Declaration

·每当编写一个Java程序时,https://www.360docs.net/doc/538386280.html,ng包中的类将自动成为可用类,但是若要使用其它包中的类,则必须完整地声明相应类的引用,或者使用import声明;

·当需要在程序中使用类库中的类时,每一次引用都必须给出类的全名,包括所属的包名。例如,每当要引用定义在java.util包中的Scanner类时,应当写为

java.util.Scanner;

·Import声明指定了程序中要用的包和类,因此对每个引用就不必再写出完整的包名和类名;

·如果需要使用到一个包里的多个类,可使用import声明的另一种形式,即“*”形式,如例:import java.util.*,这个声明允许程序引用java.util包里的所有类,而

不需要给出完整引用形式的类名;

·如果只需要使用某个包中的一个类,最好在import声明中指出这个类,如果要使用两个以上的类,则使用“*”形式更好;

·由于https://www.360docs.net/doc/538386280.html,ng包是最基本的包,可以视为语言的基本扩展,因此https://www.360docs.net/doc/538386280.html,ng包中的类被自动导入程序而不需要import声明;

3.4 Random类

·Random类是java.util包中的类,模拟了一个伪随机数发生器。该随机数发生器可在某个取值范围内随机地取一个数

3.5 Math类

·Math类提供了大量用于计算的基本数学函数。Math类定义在Java标准类库的https://www.360docs.net/doc/538386280.html,ng包中;

·Math类的所有方法都是静态方法(static方法,也称为类方法。静态方法可以用类名直接调用,而无须事先实例化类的对象;

3.6 格式化输出Formatting Output

·NumberFormat类和DecimalFormat类用于格式化信息,似的打印或显示出得信息看起来格式编排清晰合理;这两个类都是Java标准类库的类,定义在java.text包

中;

3.6.1 NumberFormat类

·NumberFormat对象不适用new运算符实例化,而是通过用类名调用静态方法来请求执行;

NumberFormat类的部分方法、

3.6.2 DecimalFormat类

·与NumberFormat类不同,DecimalFormat类采用传统方式实例化,即用new运算符创建对象。DecimalFormat类的构造方法接受一个String型参数,该参数确定了

控制格式化处理的模式;

DecimalFormat类的部分方法

3.6.3 printf方法printf method

·System类提供printf方法,允许用户打印出含有熟知的格式字符串。Printf方法的第一个参数指定格式字符串,其余的参数指定将插入到格式字符串中的数值;

·将printf方法加入到Java中,可以提供C编辑语言中格式化输出地类似功能,能使程序员讲一个现有的C程序移植为Java程序;

·然而,对于解决格式化输出问题,使用printf方法并不是一种纯粹的面向对象的解决方法;

3.7 枚举型enumerated type

·枚举型声明通过列举(枚举)出变量所有可能的值,为枚举变量建立所有的枚举值。

枚举值可以定义为所希望的任何标示符;

·枚举变量的枚举值没有个数限制。一旦定义了枚举类型,就可以用该类型声明枚举变量;

3.8 包装类The Wrapper Class

·当在某些情况下要同时管理两类数据(对象引用和基本类型值),我们将用到包装类;

3.8.1 包装类的创建和使用

·一个包装(Wrapper)类代表一种具体的基本数据类型,包装类的构造方法接收并保存一个基本类型的值。如此,一个包装类允许将基本类型数据作为对象管理;

Java类库中的包装类

基本类型包装类

byte Byte

short Short

int Integer

long Long

float Float

double Double

char Character

boolean Boolean

void V oid

3.8.2 自动包装 Autoboxing · 自动包装是基本数据类型与相应的包装对象之间的自动转换;

· 基本类型与对象类型之间的赋值通常是不兼容的,自动包装只能在基本类型与包装

类之间进行。在其它任何情况下,试图将一个基本类型值赋予一个对相引用变量,或者反之,都将产生编译错误;

第四章 编写类 Writing Classes

4.1 类和对象的核心概念 Classes and Objects Revisited

· 对象和类之间的基本关系:类是对象的蓝图。类代表了对象的概念,根据一个类建

立的任何一个对象是这个类的概念的一次实现;

· 对象时有状态的,状态由对象的属性值确定;对象还有行为,行为由对象可执行的

操作确定;

4.2 类的分析 Anatomy of a Class

· 一般情况下,程序需要常利用Java 类库预定义的类来实例化对象,并使用对象提

供的服务。但有的时候,我们必须自己编写类,并定义需要的对象在程序编译且运行后执行的服务;

· 每一个类有数据声明和方法声明。数据声明定义了将保存在每个对象中的数据,方

法声明定义了对象将提供的服务;概括的说,类的数据和方法称为类的成员;

类的成员—数据和方法声明

· 构造方法是一种特殊方法,其函数名与类名相同。当使用new 运算符创建一个新的

Die 类实例时,将调用Die 构造方法。Die 类中的其他方法定义了由Die 对象提供的各种服务;

4.2.1 实例数据 Instance Data

· 一个变量的可见范围取决于声明该变量的位置,可见范围确定了何处可以引用该变

量;

· 类中的属性(如faceValue 变量)称为实例数据,因为每当创建类的一个实例时新

的内存空间将分配给该变量;

· 尽管事实上语言机制能自动执行初始化,但最好的做法是明确地对变量初始化(通

常在构造方法中进行初始化),以便代码阅读者能清楚地理解程序的意图;

4.2.2 UML 类图 UML Class Diagrams

· UML 代表统一建模语言(Unified Modeling Language ),可以对类和对象间的关系

进行可视化魔术。

·在UML类图中,每个类用一个矩形表示,其中由三部分组成:类名、属性(数据)和操作(方法);

描述RollingDice程序所包含类的UML类图

Java程序设计实例教程考试题

Java程序设计练习题 一、选择题 1、为使Java程序独立于平台,Java虚拟机把字节码与各个操作系统及硬件( A ) A)分开B)结合 C)联系D)融合 2、Java语言与C++语言相比,最突出的特点是( C ) A)面向对象B)高性能 C)跨平台D)有类库 3、下列Java源程序结构中前三种语句的次序,正确的是(D) A)import,package,public class B)import必为首,其他不限 C)public class,package,import D),import,public class 4、在JDK目录中,Java程序运行环境的根目录是( A ) A)bin B)demo C)lib D)jre 5、下列运算符中属于关系运算符的是(A ) A)== B).= C)+= D)-= 6、下列布尔变量定义中,正确并且规范的是( B ) A)BOOLEAN canceled=false; B)boolean canceled=false; C)boolean CANCELED=false; D)boolean canceled=FALSE; 7、下列关键字中可以表示常量的是( A ) A)final B)default C)private D)transient 8、下列运算符中,优先级最高的是( A ) A)++ B)+ C)* D)> 9、Java中的基本数据类型int在不同的操作系统平台的字长是( B ) A)不同的B)32位 C)64位D)16位

10、给一个short类型变量赋值的范围是( C ) A)-128 至 +127 B)-2147483648至 +2147483647 C)-32768至 +32767 D)-1000至 +1000 11、下列运算中属于跳转语句的是( D ) A)try B)catch C)finally D)break 12、switch语句中表达式(expression)的值不允许用的类型是( C ) A)byte B)int C)boolean D)char 13、下列语句中,可以作为无限循环语句的是( A ) A)for(;;) {} B)for(int i=0; i<10000;i++) {} C)while(false) {} D)do {} while(false) 14、下列语句中执行跳转功能的语句是( C ) A)for语句B)while语句 C)continue语句D)switch语句 15、下列表达式中,类型可以作为int型的是( C ) A)“abc”+”efg”B)“abc”+’efg’ C)‘a’+’b’D)3+”4” 17、数组中各个元素的数据类型是( A ) A)相同的B)不同的 C)部分相同的D)任意的 18、在Java语言中,被成为内存分配的运算符是( A ) A)new B)instance of C)[] D)() 19、接口中,除了抽象方法之外,还可以含有( B ) A)变量B)常量 C)成员方法D)构造方法 20、下列能表示字符串s1长度的是( A ) A)s1.length()B)s1.length C)s1.size D)s1.size() 21、StringBuffer类字符串对象的长度是( C ) A)固定B)必须小于16个字符 C)可变D)必须大于16个字符 22、构造方法名必须与______相同,它没有返回值,用户不能直接调用它,只能通过new调用。( A ) A)类名B)对象名 C)包名D)变量名 23、子类继承了父类的方法和状态,在子类中可以进行的操作是( D ) A)更换父类方法B)减少父类方法 C)减少父类变量D)添加方法 24、String、StingBuffer都是______类,都不能被继承。( C )

java程序设计实习报告

《Java程序设计》 实 习 报 告 中原工学院信息商务学院 经济管理系 2010年6月20号

目录 一、实习题目 (2) 二、实习目的 (2) 1、社会需求 (2) 2、专业需求 (2) 三、开发环境 (2) 四、实习内容 (3) 1、系统功能需求 (3) 2、数据库需求 (4) 五、设计过程 (4) 1、总体设计 (4) 2、详细设计 (5) 六、调试过程 (5) 七、实习小结 (5) 八、参考资料 (6)

一、实习题目 学生信息管理系统的设计与开发 二、实习目的 1、社会需求 一直以来学生的成绩管理是学校工作中的一项重要内容,随着办学规模的扩大和招生人数的增加,学校工作繁杂、资料重多,普通的成绩管理已不能适应时代的发展,它浪费了许多的人力和物力。在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。虽然管理信息系统已进入高校,但还未普及而且对于学生成绩管理来说,还没有一套完整的、统一的系统,建立一个成绩维护系统是非常必要的。建立学生成绩管理系统,采用计算机对学生成绩进行管理,能进一步提高办学效益和现代化水平。帮助广大教师提高工作效率,实现学生成绩维护工作流程的系统化、规范化和自动化。2、专业需求 《Java程序设计》课程是电子商务专业的一门专业必修课程,通过java实习不仅可以提升本专业我们对此课程中的理论知识的综合应用能力而且可以提高我们的逻辑思维能力、软件开发能力。我们通过Java技术在Windows平台下开发学生信息管理系统。能够切实提高我们的程序设计水平,在实践中掌握面向对象程序设计的开发思想。 三、开发环境 操作系统;Windows XP 编程环境:MyEclipse 6.0

Java语言程序设计基础教程习题解答

《Java语言程序设计基础教程》练习思考题参考答案

第1章 Java程序设计概述 练习思考题 1、 Java运行平台包括三个版本,请选择正确的三项:() A. J2EE B. J2ME C. J2SE D. J2E 解答:A,B,C 2、 Java JDK中反编译工具是:() A. javac B. java C. jdb D. javap 解答:D 3、 public static void main方法的参数描述是:() A. String args[] B. String[] args C. Strings args[] D. String args 解答:A,B 4、在Java中,关于CLASSPATH环境变量的说法不正确的是:() A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。 B. 编译器用它来搜索各自的类文件。 C. CLASSPATH是一个目录列表。 D. 解释器用它来搜索各自的类文件。 解答:A 5、编译Java Application源文件将产生相应的字节码文件,扩展名为() A. .java B. .class C. .html D. .exe 解答:B 6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。 7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。 8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。 9、开发与运行Java程序需要经过哪些主要步骤和过程? 10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的? 11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

Java程序设计实用教程_习题解答

习题 1 1.James Gosling 2.需3个步骤: 1)用文本编辑器编写源文件 2)使用Java编译器(javac.exe)编译源文件,得到字节码文件。 3)使用java解释器(java.exe)来解释执行字节码文件。 3.D:\JDK 1) 设置path 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量path。如果曾经设置过环境变量path,可单击该变量进行编辑操作,将需要的值d:\jdk\bin加入即可(注意:修改系统环境变量path后要重新打开DOS窗口编译)。或在DOS窗口输入命令行: set path=d:\jdk\bin(注意:用此方法修改环境变量每次打开DOS窗口都需要输入该命令行重新进行设置)。 2) 设置classpath 对于Windows 2000/2003/XP,右键单击“我的电脑”,在弹出的快捷菜单中选择“属性”,弹出“系统特性”对话框,再单击该对话框中的“高级选项”,然后单击“环境变量”按钮,添加系统环境变量classpath。如果曾经设置过环境变量classpath,可单击该变量进行编辑操作,将需要的值d:\jdk\jre\lib\rt.jar;.;加入即可。或在DOS窗口输入命令行: set classpath= d:\jdk\jre\lib\rt.jar;.;。 4.(B)javac 5.Java源文件的扩展名是”.java”,Java字节码的扩展名是”.class” 6.Java应用程序主类的main申明(D)public static void main(String args[])

JSP程序设计与项目实训教程_第2版_课后习题和参考答案

第1章Web技术简介 1.7 习题 1.7.1 选择题 1. Web技术的设想于哪一年提出()。 A.1954年 B.1969年 C.1989年 D.1990年 2. JSP页面在第一次运行时被JSP引擎转化为()。 A.HTML文件 B.CGI文件 C.CSS文件 D.Servlet文件 3. JavaEE体系中Web层技术是()。 A.HTML B.JavaBean C.EJB D.JSP 参考答案:1.C 2.D 3.D 1.7.2 填空题 1.当前主流的三大动态Web开发技术是:PHP、ASP/https://www.360docs.net/doc/538386280.html,和______________。 2. JSP的两种体系结构是:______________和______________。 3. JSP开发Web站点的主要方式有:直接JSP、JSP+JavaBean、______________、______________和SSH。 参考答案: 1.JSP 2.JSP Model1和JSP Model2 3.JSP+JavaBean+Servlet、J2EE/JavaEE 1.7.3 简答题 1. 简述JSP的工作原理。 答:所有的JSP应用程序在首次载入时都被翻译成Servlet文件,然后再运行,这个工作主要是由JSP引擎来完成。当第一次运行一个JSP页面时,JSP引擎要完成以下操作: ●将JSP文件翻译成Servlet文件,Servlet文件是Java应用程序。 ●JSP引擎调用Java编译器,编译Servlet文件得到可执行的代码文件(.class文件)。 ●JSP引擎调用Java虚拟机解释执行.class文件,并将运行结果返回给服务器。 ●服务器将运行结果以HTML形式作为响应返回给客户端的浏览器。 由于一个JSP页面在第一次被访问时要经过翻译、编译和执行这几个步骤,所以客户端得到响应所需要的时间比较长。当该页面再次被访问时,它对应的.class文件已经生成,不需要再次翻译和编译,JSP引擎可以直接执行.class文件,因此JSP页面的访问速度会大为提高。 2. 简述JSP两种体系结构。

Java程序设计试卷及答案

XXXX大学2006 /2007学年第一学期考试试卷课程名称:Java程序设计考试方式:闭卷完成时限:120分钟班级名称:学号:姓名: 一、选择题(每题2分,共30分) 1、Java程序的执行过程中用到一套JDK工具,其中java.exe是指。 A.Java文档生成器 B.Java解释器 C.Java编译器 D.Java类分解器 2、Java语言中,下列标识符错误的是。 A.—sys1 B.&—m C.I D.40name 3、下列语句执行后,变量a、c的值分别是。 int x=182; int a,c; c=x/100; a=x%10; A) 1,2 B) 2,1 C) 1.82, 2 D) 100,82 4、应用程序的main方法中有以下语句,则输出的结果是。 String s1="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” 5、下列程序段执行后的结果是。 String s=new String("abcdefg");

for(int i=0;i

苏州大学Java程序设计课程试卷含答案(A)

苏州大学Java程序设计课程试卷(A)卷参考答案共7页 一、选择题(2分*25= 50分) 1.main方法是Java Application程序执行的入口点,关于main方法, 以下哪项是合法的( B )? A、public static void main() B、public static void main(String args[] ) C、public static int main(String [] arg ) D、public void main(String arg [] ) 2.Java Application源程序的主类是指包含有( A)方法的类。 A、main方法 B、toString方法 C、init方法 D、actionPerfromed方法 3.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( C )语句。 A、import java.awt.* ; B、import java.applet.Applet ; C、import java.io.* ; D、import java.awt.Graphics ; 4.对于构造函数,下列叙述错误的是( B )。 A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 B、构造函数的返回类型只能是void型。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 5.下面的是关于类及其修饰符的一些描述,错误的是:( B )。 A、abstract类只能用来派生子类,不能用来创建abstract类的对象。 B、final类不但可以用来派生子类,也可以用来创建final类的对象。 C、abstract不能与final同时修饰一个类。 D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。6.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( C )。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 7.设有下面两个类的定义: class Person { class Student extends Person { long id; // 身份证号int score; // 入学总分 String name; // 姓名int getScore(){ } return score; } }

江西理工大学《JAVA程序设计》复习资料

(JAVA 程序设计》期末考试资料 A. static void nicthod() B. public void meihod() 10 B) 121 0 11 D) 100 下列选项中,用于在左义子类时声明父类名的关键字是(C)。 interface B) package C) extends D) class 若已总义 byte[ ] x= {11, 22, 33厂66}; 其中0 WkW3,则对X 数组元素错误的引用是(C)。 A) x[5-3] B) x[k] C) x[k+5] D) x[0] 7. 下列语句序列执行后,chi 的值是(B )。 char chl=' A*, ch2―幣; 辻(chi + 2 < ch2 ) ++chl; A) 'A' B) 'B' C) 'C' D) B 8. 下列语句序列执行后,i 的值是(D )o int 1=8, j=16: 一、单选择题 1、编译Java Application 源程序文件将产生柑应的字节码文件,这些字节码文件的扩展名 为( )。 A, java B. .class C. html D ??cxc 2^设x = l ,y = 2,z=3T 则表达式y+=z -------------------- /++x 的值是( A. 3 B ?3?5 C ?4 D ?5 3、不允许作为类及类成员的访问控制符的是( A.PubHc B. private D ? protected 4、为AB 类的一个无形式参数无返回值的方法method 书写方法头,使得使用类名AB 作为 C. static 前缀就可以调用它,该方法头的形式为( C final void method () 1.下列语句序列执行后, int m=3, n=6, k=0; while ( (ni++) < ( 一n ) 0 B )1 k 的值是(B D ? abstract void method() A) 2. A) 0 3. A) 4. )++k : C) 2 D) 3 设i 、j 为int 型变量名,a 为int 型数组名,以下选项中,正确的赋值语句是(B )。 1 = 1 + 2 B ) a 〔0] =7: i 卄——j : D )a (0) = 66; Java 语言的类间的继承关系是(B )。 多重的B )单重的0线程的D )不能继承 设有;4^义int 1 = 6 则执行以下语句后,i 的值为(C )o 1 += i - 1 A) 5. A) 6.

中南民族大学《Java语言程序设计》期末试卷A卷

科目序号:6002 A卷 《Java语言程序设计》期末试卷 (试卷总分:100分,考试时间:120分钟,答案写在答卷纸上) 一.判断题(每题1分,共10分) 1.无论Java源程序包含几个类的定义,若该源程序文件以A.java命名,编译后生成的都只有一个名为A的字节码文件。(X )2.Java的各种数据类型所占用的内存长度与具体软硬件环境有关。(X )3.静态初始化器是在其所属的类加载内存时由系统自动调用执行的方法。(O )4.与C语言不同的是,Java语言中的数组元素下标总是从1开始。(X )5.在Java的方法中定义一个常量要用const关键字。(X )6.Java有两类程序:Java Application和Java Applet,其中Java Applet程序只能在图形界面中工作,而Java Application程序只能在字符界面中工作。(X)7.在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。(X )8.程序员可以不必释放已创建的对象,因为Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。(X )9.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out 和标准错误输出System.err。(O )10.即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。(O ) 二.单项选择题(每题2分,共40分) 1.编译Java Applet 源程序文件产生的字节码文件的扩展名为( B)。 A、java B、class C、html D、exe 2.Java application中的主类需包含main方法,main方法的返回类型是什么?(D ) A、int B、float C、double D、void 3.以下哪个方法用于定义线程的执行体?( C ) A、 start() B、init() C、run() D、synchronized() 4.当浏览器暂时离开含applet 程序的页面时,以下选项中的哪个方法将被执行?(D ) A、init() B、start() C、destroy() D、stop() 5.下面哪个不是Java中的容器? ( A ) A、Canvas B、ScrollPane C、Applet D、Dialog 6.以下标识符中哪项是不合法的( A ) A、const B、$double C、hello D、BigMeaninglessName 7.以下哪个关键字可以用来为对象加互斥锁?(D )

JavaWeb程序设计教程课后练习答案

第1章 Web应用开发简介 习题答案 1.Web在组成上包括______和______两部分。 答案: 服务器 客户端 2.谈谈对面向对象的认识。 答案: 面向对象将将要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙解决问题中的各个步骤中的行为。面向对象编程方式是建立在面向过程编程方式基础上,其最重要的改变在于面向对象编程中,程序将围绕被操作的对象来设计,而不是操作本身。面向对象编程方式以类作为构造程序的基本单位,具有封装、抽象、继承、多态性等特点。 3.介绍几种常用的框架技术。 答案: Java中常用的框架。 1.Struts Struts是Apache 基金会Jakarta 项目组的一个开源项目,是一个基于Sun J2EE平台的MVC框架,它将Servlet和JSP标签作为实现自身功能的一部分。 2.WebWork WebWork是由OpenSymphony组织开发的,是一个基于Web的MVC框架。它在运行时通过Interceptor(拦截器)自动应用,因此脱离了Action类。 3.Struts 2 Struts 2是Apache基金会的一个开源项目,它建立在Struts框架与WebWork框架基础之上,继承了二者的优点,是目前非常流行的一个Web框架。 4.Spring Spring是一个以IoC和AOP为核心的轻量级容器框架。它提供了一系列的Java EE开发解决方案,包括表示层的Spring MVC、持久层的Spring JDBC以及业务层事务管理等众

多的企业级应用技术。 5.Hibernate Hibernate是一个ORM(对象关系映射)框架,它对JDBC进行了轻量级的封装。通过使用Hibernate框架,开发人员能够以面向对象的思维方式来操作数据库。 6.Ibatis 相对于Hibernate而言,Ibatis是一个“半自动化”的ORM实现框架,它主要致力于POJO与SQL之间的映射关系,是对“全自动化”ORM框架的一种有益补充。 7.EasyJWeb EasyJWeb是一个核心基于模板技术实现的MVC框架,主要致力于Java Web应用程序的快速开发。 4.IDE的用途是什么? 答案: IDE是一种用于辅助开发人员开发应用程序的应用软件,它一般包括代码编辑器、编译器、调试器和图形用户界面工具,有的还包括版本控制系统、性能分析器等更多工具,因此IDE也就具有了编写、编译、调试等多种功能。正是基于这些功能,使用IDE能够减少项目的开发周期,减轻程序员的工作量,提高应用程序的开发效率等。 5.Web应用服务器的用途是什么? Web应用服务器是为创建、部署、运行以及管理Web应用提供多种运行时服务(如事务、安全等等)的分布式系统,它是应用程序运行的一个基本环境。

大学《JAVA语言程序设计》期末考试试题及答案

《JAVA语言程序设计》期末考试试题及答案3(应考 必备题库) 一、单项选择题 1、如下哪个是Java中的标识符() A、public B、super C、3number D、width 2、如下哪个是Java中的标识符( ) A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( ) A、s += "books"; B、s = s + 100; C、int len = s.length; D、String t = s + “abc”; 4、如下哪个是Java中有效的关键字() A、name B、hello C、false D、good 5、下面的代码段执行之后count的值是什么( ) i nt count = 1; f or (int i = 1; i <= 5; i++) { count += i; } S ystem.out.println(count); A、5 B、1 C、15 D、16 6、定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static 7、定义一个接口必须使用的关键字是() A、public B、class C、interface D、static 8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是() A、p.add(b); B、p.add(b,"North"); C、p.add(b,"South"); D、b.add(p,"North");

《Java程序设计实用教程(第4版)习题解答与实验指导》第1~8章

Java程序设计实用教程 (第4版) 习题解答与实验指导 叶核亚编著 2013年11月

目录 “Java程序设计”课程教学要求 (1) 第1章Java概述 (3) 第2章Java语言基础···········································································错误!未定义书签。第3章类的封装、继承和多态······························································错误!未定义书签。第4章接口、内部类和Java API基础·················································错误!未定义书签。第5章异常处理····················································································错误!未定义书签。第6章图形用户界面·············································································错误!未定义书签。第7章多线程························································································错误!未定义书签。第8章输入/输出流和文件操作·····························································错误!未定义书签。

大学JAVA语言程序设计期末考试试题及答案

大学J A V A语言程序设计期末考试试题及答案 Final revision by standardization team on December 10, 2020.

《JAVA语言程序设计》期末考试试题及答案3(应考必备 题库) 一、单项选择题 1、如下哪个是Java中的标识符() A、public B、super C、3number D、width 2、如下哪个是Java中的标识符( ) A、fieldname B、super C、3number D、#number 3、已知如下定义:String s = "story"; 下面哪个语句不是合法的( ) A、s += "books"; B、s = s + 100; C、int len = ; D、String t = s + “abc”; 4、如下哪个是Java中有效的关键字() A、name B、hello C、false D、good 5、下面的代码段执行之后count的值是什么( ) int count = 1; for (int i = 1; i <= 5; i++) { count += i; } 、5 B、1 C、15 D、16 6、定义一个类,必须使用的关键字是( ) A、public B、class C、interface D、static 7、定义一个接口必须使用的关键字是() A、public B、class C、interface D、static 8、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是() A、(b); B、(b,"North"); C、(b,"South"); D、(p,"North"); 9、声明并创建一个按钮对象b,应该使用的语句是() A、Button b=new Button(); B、button b=new button(); C、Button b=new b(); D、(“确定”); 10、Frame对象默认的布局管理器是() A、FlowLayout B、BorderLayout C、CardLayout D、null 11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象() A、import .*; B、import .*; C、import .*; D、import .*; 12、下面哪一个import命令可以为我们提供编写网络应用程序的类()

JAVA程序设计实用教程课后习题简答(第3版)

第1章Java 概述 1.Java具有那些适合在Internet环境中的特点? 【答】简单性和完全面向对象,平台无关性,安全性和可靠性,多线程,高效的网络编程。 2.Java保留、放弃了C/C++语言中哪些语法和面向对象机制?为什么需要这样做?【答】在语法规则方面,Java语言放弃了全程变量、goto语句、宏定义、全局函数以及结构、联合和指针数据类型,使Java语言更简单、更精练。 在面向对象概念方面,Java语言放弃了多元继承、友元类和运算符重载,采用“单重继承+接口”的方式代替多重继承,提供语言级的内存自动管理和异常处理方式,使Java语言更健壮、更安全、更高效。 3.Java对原程序文件的命名规则有什么要求?源程序文件编译后生成什么文件? 【答】要求:源程序文件与类同名,文件扩展名为.java;编译后生成字节码文件(*.class)。 4.Java程序的运行机制是怎样的?与C++或其他语言有什么不同? 【答】Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的 C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开 5.什么是平台无关性?Java是怎样实现平台无关性的? 【答】平台无关性即Java程序的运行不依赖于操作系统。Java采用虚拟机技术实现平台无关性。程序由虚拟机解释执行,不同的操作系统上运行不同版本的Java虚拟机。 6.Java应用程序由哪两种形式?他们的运行方式有什么不同? 【答】Application和applet两种形式,其中application是能够独立运行的应用程序,既可以以DOS的命令方式运行,也可以以图形用户界面方式运行。Applet是可以嵌入页面的最小应用程序,不能独立运行,必须嵌入超文本中,由浏览器显示运行。 7.什么是解释执行?Java怎样解释执行两种应用程序? 【答】解释执行即将字节码解释成本地机器码并执行。 Java源程序文件经编译后生成字节码文件,若是application应用程序,则将字节码文件交由Java解释器解释执行,最后在windows操作系统上运行。若是applet应用程序,则将字节码文件嵌入超文本文件并下载到web浏览器上,最后由windows操作系统中的Java虚拟机运行。 8.作为一个软件开发人员,应该具备那些基础知识用以开发windows应用程序? 【答】略

Java程序设计与实践教程_王薇主编_答案

第1章JAVA简介 一、判断题 1.√ 2.√ 3.? 4.? 5.? 6.√ 7.√ 8.√ 9.? 10.? 二、填空题 1.Application Applet 2. 类(字节码文件、目标文件) .class 3.对象 4. 主 5. J2SE J2EE J2ME 三、选择题 1.B 2. D 3.B 4.B 5. A 四、简答题 1.参考答案 Java语言是简单的、面向对象的、分布式的、健壮的、安全的、体系结构中立的、可 移植的、编译解释型的、高性能的、多线程的、动态的等等。 2.参考答案 Java程序执行的具体过程如图1所示。 图1 Java程序的运行机制 3.参考答案 Java程序在计算机在执行要经历以下几个阶段: (1)使用文字编辑软件(例如记事本、写字板、UltraEdit等)或集成开发环境 (JCreater、Eclipse、MyEclipse等)编辑Java源文件,其文件扩展名为.java。 (2)通过编译使.java的文件生成一个同名的.class文件。 (3)通过解释方式将.class的字节码文件转变为由0和1组成的二进制指令执行。 在以上阶段中可以看出Java程序的执行包括了编译和解释两种方式。 第2章Java 语法基础 一、判断题

1. ? 2.√ 3. ? 4.? 5.? 二、填空题 1.10 2. 单精度双精度 3. n%13 !=0?false:true 4.接口 5. false 三、选择题 1.D 2. C 3.D 4.A 5. C 第3章程序流程控制 一、判断题 1.错误 2.? 3.? 4.? 5.√ 二、填空题 1.循环 2. if 3.case switch 4. while do-while 5. continue 三、选择题 1.D 2. C 3.C 4.B 5. C 第4章数组 一、判断题 1. ? 2. √ 3. √ 4. √ 5.? 二、填空题 1.类型 2. new 3.长度 4. 分配空间 5. 3 6 9 三、选择题 1.D 2. A 3.C 4.B 5. B 第5章类和对象 一、判断题 1.√ 2.√ 3.? 4.? 5.√ 6.? 7.√ 8.? 9.? 10.√ 11.√ 12.√ 13.? 14.? 15. ? 二、填空题 1.public default 2. class 属性方法 3.public static void main(String args[]){} 4. new

大学《java程序设计》考试题库及答案

若有定义int a=2,b=2; 则表达式(a++)+(++b) 的值是( )。 A. 5 监听器接口的方法返回值的类型是()。C. void 在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 D. init() 以下哪个不是Java的原始数据类型() B. Boolean 向Applet传递参数的正确描述是()。C. C. PARAM name="age,value=20" 阅读下列代码; public class Test{ String s="One World One Dream"; public static void main(String args[]){ System.out.println(s); } } 其运行结果是_ C. 编译时出错//除非创建Text类的对象 如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是()。 A. p.add(b,"South"); 编译和运行下面的应用程序,并在命令行界面输入12345 ,则回车后屏幕输出的结果是( )。public class A { public static void main(String args[]) throws IOException{ BufferedReader buf=new BufferedReader( new I nputStreamReader(System.in)); String str=buf.readLine(); int x=Integ er.parseInt(str); System.out.println(x/100); } } B. 123 构造函数何时被调用?() B. 创建对象时 以下哪项可能包含菜单条()。 D. Frame

java程序设计实用教程第版课后答案

第一章 1.Java具有那些适合在Internet环境中的特点 【答】简单性和完全面向对象,平台无关性,安全性和可靠性,多线程,高效的网络编程。 2.Java保留、放弃了C/C++语言中哪些语法和面向对象机制为什么需要这样做【答】在语法规则方面,Java语言放弃了全程变量、goto语句、宏定义、全局函数以及结构、联合和指针数据类型,使Java语言更简单、更精练。 在面向对象概念方面,Java语言放弃了多元继承、友元类和运算符重载,采用“单重继承+接口”的方式代替多重继承,提供语言级的内存自动管理和异常处理方式,使Java语言更健壮、更安全、更高效。 3.Java对原程序文件的命名规则有什么要求源程序文件编译后生成什么文件【答】要求:源程序文件与类同名,文件扩展名为.java;编译后生成字节码文件(*.class)。 4.Java程序的运行机制是怎样的与C++或其他语言有什么不同 【答】Java的每一个类都有一个class文件和它对应,Java在程序的启动的时候将程序运行需要用到的类加载到虚拟机中,根据Java的虚拟机规范进行连接(动态连接),程序的组装是在运行的时候完成的 C++和其他的编译型的语言一样,它的程序的组装方式是一种传统的组装方式。C++在编译的时候生成适用于某一平台的二进制代码,在连接的时候找到需要调用的库,然后将这些库中的代码连接进可执行程序之中,生成的可执行程序运行速度非常的快,但是可执行代码已经变成了一个整体,不可能再分开 5.什么是平台无关性Java是怎样实现平台无关性的 【答】平台无关性即Java程序的运行不依赖于操作系统。Java采用虚拟机技术实现平台无关性。程序由虚拟机解释执行,不同的操作系统上运行不同版本的Java 虚拟机。 6.Java应用程序由哪两种形式他们的运行方式有什么不同 【答】Application和applet两种形式,其中application是能够独立运行的应用程序,既可以以DOS的命令方式运行,也可以以图形用户界面方式运行。Applet 是可以嵌入页面的最小应用程序,不能独立运行,必须嵌入超文本中,由浏览器显示运行。 7.什么是解释执行Java怎样解释执行两种应用程序 【答】解释执行即将字节码解释成本地机器码并执行。 Java源程序文件经编译后生成字节码文件,若是application应用程序,则将字节码文件交由Java解释器解释执行,最后在windows操作系统上运行。若是applet应用程序,则将字节码文件嵌入超文本文件并下载到web浏览器上,最后由windows操作系统中的Java虚拟机运行。 8.作为一个软件开发人员,应该具备那些基础知识用以开发windows应用程序【答】略

java程序设计项目教程第3章答案

一、选择题 参考答案: 1.B 2.A 3.D 4.C 5.A 6.A 7.B 8.B 9.A 10.A 11.A 12.D 二、填空题 参考答案: 1.覆盖 2.参数 3.方法体 4.public static final 5.抽象 6.extends 7.Student String 8.class static 三、简答题 1.子类能够继承父类的哪些成员变量和方法? ①子类可以继承父类的属性,包括实例成员变量和类成员变量。 ②子类可以继承父类除构造方法以外的成员方法,包括实例成员方法和类成员方法。2.this和super关键字的作用是什么? 使用this关键字可实现调用本类的构造方法及调用被方法隐藏的成员变量。 super关键字可调用父类的构造方法及调用父类的同名成员。 3.什么是方法的重载?什么是方法的覆盖? 方法重载是指同一个类中多个方法享有相同的名字,但是这些方法的参数必须不同,参数不同是,指或者是参数的个数不同,或者是参数类型不同,或者是不同类型参数的排列顺序不同。 类继承的过程中,子类方法跟父类方法名字相同,并且传递的参数完全一样,称子类覆盖了父类的方法。 4.什么是多态?使用多态有什么优点? 多态的表现形式主要有方法的重载和方法的覆盖。 使用多态可根据同名方法的参数不同实现不能的功能或同一类对象根据赋予的引用对象的不同来实现不同的行为。 5.什么是包?定义包的作用是什么? 包是java提供的一种命名空间机制,实现了对类的存放和引用位置的管理,包对应一个文件夹。 java的类库就是用包来实现了类的分类和存放,每个包中都有多组相关的类和接口。6.什么是接口?接口中的变量和方法各有什么要求? 接口是特殊的抽象类,可以想象为一个“纯”抽象类,就是一组具有特定意义的静态常量和抽象方法的集合。 属性定义时必须赋初值,是常量。属性性前修饰符时默认该属性由final、static修饰。 接口中的方法必须是抽象方法。 7.类BB是AA类的子类。类AA和类BB中都定义了变量x和method()方法,这种情况称为子类隐藏了父类的同名变量x并覆盖了父类的method()方法. 8.输出结果为: AA BB 若将main()方法中的语句改为:BB b=new BB(10); 程序输出的结果是什么? AA AAAA BBBB

相关文档
最新文档