04747 java语言程序设计一.docx

上传人:b****7 文档编号:15919120 上传时间:2023-07-09 格式:DOCX 页数:23 大小:29.87KB
下载 相关 举报
04747 java语言程序设计一.docx_第1页
第1页 / 共23页
04747 java语言程序设计一.docx_第2页
第2页 / 共23页
04747 java语言程序设计一.docx_第3页
第3页 / 共23页
04747 java语言程序设计一.docx_第4页
第4页 / 共23页
04747 java语言程序设计一.docx_第5页
第5页 / 共23页
04747 java语言程序设计一.docx_第6页
第6页 / 共23页
04747 java语言程序设计一.docx_第7页
第7页 / 共23页
04747 java语言程序设计一.docx_第8页
第8页 / 共23页
04747 java语言程序设计一.docx_第9页
第9页 / 共23页
04747 java语言程序设计一.docx_第10页
第10页 / 共23页
04747 java语言程序设计一.docx_第11页
第11页 / 共23页
04747 java语言程序设计一.docx_第12页
第12页 / 共23页
04747 java语言程序设计一.docx_第13页
第13页 / 共23页
04747 java语言程序设计一.docx_第14页
第14页 / 共23页
04747 java语言程序设计一.docx_第15页
第15页 / 共23页
04747 java语言程序设计一.docx_第16页
第16页 / 共23页
04747 java语言程序设计一.docx_第17页
第17页 / 共23页
04747 java语言程序设计一.docx_第18页
第18页 / 共23页
04747 java语言程序设计一.docx_第19页
第19页 / 共23页
04747 java语言程序设计一.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

04747 java语言程序设计一.docx

《04747 java语言程序设计一.docx》由会员分享,可在线阅读,更多相关《04747 java语言程序设计一.docx(23页珍藏版)》请在冰点文库上搜索。

04747 java语言程序设计一.docx

04747java语言程序设计一

04747java语言程序设计

(一)

第一章JAVA语言基础

出题点:

1.JAVA语言的特点:

强类型、编译和解释、自动无用内存回收功能、面向对象、与平台无关、安全性、分布式计算、多线程。

(P3)

2.小应用程序与应用程序的区别(P5)

(1)小应用程序只能在与JAVA兼容的容器中运行,可以嵌入在HTML网页内,在网络上发布,当网页被浏览时,在浏览器中运行。

小应用程序的运行还受到严格的安全限制。

而JAVA应用程序没有这些限制,也不支持网页嵌入和下载运行。

(2)两者在代码编写上也有很大差异。

一个小应用程序必须定义成一个Applet类的子类,应用程序可以是Applet类的子类,也可以不是。

(3)应用程序必须在一个类中定义一个main()方法,该方法代表应用程序的入口。

而小应用程序不必定义main()方法。

它的执行由Applet类中定义的多个方法控制。

3.JAVA应用程序的开过过程(P6)

(1)JAVA应用程序,先编写JAVA源程序,源程序经JAVA编译器编译后产生字节码文件(*.class),最后由JAVA解释器解释执行字节码文件。

(2)小应用程序,先编写源程序,然后经JAVA编译器编译后产生字节码文件,最后由WEB浏览器解释执行字节码文件。

4.标识符:

由字母和数字符组成,限定标识符第一个字符不能是数字符。

(P8)

5.关键字:

均由小写字母组成,关键字不可以用做变量、方法、类或标号的标识符。

(P8)

6.基本数据类型:

整数类型(判断合法常量,注意区分三种进制允许出现的字符)、浮点数类型(科学计数法表示123.45e1,e两边必须有数字)、字符类型(常用转义字符)、逻辑类型。

非基本数据类型:

数组、字符串、类、接口(P8)

7.整数类型依次分为:

byte(8位)、short(16位)、int(32位)、long(64位)。

(P9)

8.浮点数类型分为:

float(单精度型32位)、double(双精度型64位)。

(P10)

第二章运算和语句

一、出题点:

1.在进行连续的逻辑运算时,不分逻辑与和或的优先级,而是顺序进行逻辑与和或的计算,一旦逻辑表子达式或逻辑表达式能确定结果,就不再继续计算(即条件1&&条件2,若条件1不成立,则条件2也无须再计算。

)%:

求余数,符号同被除数,/:

两端为整数,则结果为整数,++,--只能对变量进行。

(P16)

2.break语句:

必须出现在多路按值选择结构或循环结构中,其执行强制结束它所在的控制结构,让程序从这个控制结构的后继语句继续执行。

(P20)

3.continue语句:

只能出现在循环结构中,其执行将忽略它所在的循环体中在它之后的语句,使控制转入对循环条件表达式的计算和测试。

若出现在for循环体中,则转入表达式3的求值。

(P21)

4.return语句:

只能出现在方法体中,其执行将结束方法的执行,将控制返回到方法调用处。

(P21)

5.在JAVA语言中,用try...catch语句指定可能会发生异常的代码块和错误处理代码块。

(P25)

6.循环体中的continue语句的作用是结束当前循环,直接进入下一次循环。

break语句的作用是从循环体内跳出至循环的后继语句,即强行中断当前循环。

(P31)

二、语法点:

1.if语句(P22)

if(条件表达式)

{语句1}

else

{语句2}

2.switch语句(P23)

switch(表达式)//该表达式的类型只限于char,int,short,byte类型

{

case常量表达式1:

语句序列1;break;//也可以没有break

case常量表达式2:

语句序列2;break;//也可以没有break

......

case常量表达式n:

语句序列n;break;//也可以没有break

default:

语句序列n+1;break;//也可以没有break

3.try...catch语句(P25)

try

{

语句块//执行该语句块,可能会发生异常

}

catch(异常类型e)

{

异常发生时要执行的语句块

}

finally

{

无论异常发生与否,都要执行的语句块

}

4.while语句//先计算条件表达式,再执行循环体(P26)

while(条件表达式)

{

循环体

}

5.do...while语句//先执行循环体,再计算条件表达式

do

{

循环体

}

while(条件表达式)

6.for语句)(P28)

for(表达式1;表达式2;表达式3)//表达式1为循环变量置初值,表达式2为执行循环条件判断,表达式3为更新循环变量值

{

语句块

}

7.package语句(P31)

package包名;//package语句必须出现在源程序文件的起始行,表示出现在该文件中的所有类都属于这个程序包。

8.import语句(P32)

import包名.类名;//该语名用来引来所需要的类。

若要从一个包中引入多个类,可用“*”

9.java应用程序的基本结构(P32)

[package包名;]

import包名.类名;

[public]class类名

{

intval=...//变量定义语句

publicstaticvoidmain(Stringargs[])//方法定义

{

...//变量定义和控制语句构成的方法体

}

}

第三章面向对象编程基础

一、出题点:

1.面向对象程序设计引入了许多概念和机制,包括:

(P39)

抽象:

是有效控制程序复杂性的重要手段,类是目前支持抽象的最好工具。

对象:

对象的名称用于程序引用对象,对象的成员变量用于存储对象的状态信息,对象的方法用于描述对象的行为。

消息:

在程序系统中,对象之间的交互通过相互发送消息实现。

类:

声明对象共有属性和行为的机制称为类。

继承:

就是在已有类的基础上,扩充属性或扩充与改写其某些方法,生成新的类。

(即通过扩展原有的类,声明新类来实现的。

P49)

多态性:

是指类型适应性多态性,这来自继承,不同继承层次的对象对同样的方法有不同的实现。

2.类:

是一种类型,类封装对象的属性和方法,是同一类对象的模板。

3.方法重载:

是指在一个类中定义多个有相同名字的方法,但这些方法或者参数个数不同或按顺序参数的类型不同。

(P43)在编译时就能确定被调用的方法,这种多态性不需要动态联编技术的支持。

(P51)

4.构造方法:

是一种特殊的方法,这种方法的名与它的类名相同,并且不返回结果,也不写上void关键字。

构造方法的作用是创建类的对象,并给对象初始化。

构造方法是公共方法,但程序不能显式调用,而是当程序运行时,当有对象要创建时,由系统自动调用构造方法。

(P44)

5.实例变量和类变量的区别(P46)

(1)用关键字static修饰的是类变量,未用关键字static修饰的是实例变量。

(2)不同对象的实例变量将被分配不同的内存空间,改变类的某一个对象的实例变量值不会影响其他对象的实例变量。

(3)类变量的内存只有一处,让类的所有对象共享。

从类的任一对象改变类变量,类的其他对象都能发现这个改变。

5.5实例方法和类方法的区别(P47)

(1)冠以修饰字static的方法称为类方法,没有冠以修饰字static的方法称为实例方法。

(2)实例方法可以互相调用,并可调用类方法。

类方法可以互相调用,但不能直接调用实例方法。

(3)实例方法可引用实例变量及类变量,类方法能直接引用类变量,但不能引用实例变量。

6.访问权限(P48)

private:

设置最强的访问,其他类的方法都不能访问。

protected:

只限子类或者同一个包中的类的方法能访问。

public:

设置没有限制的访问权限,其他类的方法都能访问。

友好的:

只允许同一个包中的类的方法访问。

7.final类:

是不能被再继承的类,即它不能再有子类;final方法:

声明该方法不能被子类的方法覆盖;final变量:

声明该变量的值不能被改变。

(P54)

8.关键字super:

利用super,子类方法可以引用超类的成员变量和被覆盖的方法。

使用super的3种情况:

(1)调用超类的构造方法;

(2)调用超类被子类覆盖的方法;(3)访问超类被子类隐藏的成员变量。

(P55)

9.关键this:

用来指对象自己。

(P55)

10.is-a关系:

类A是继承扩展类B,则子类A和超类B之间是is-a关系。

11.has-a关系:

类A的某个成员变量的类型是B,则类A和类B之间是has-a关系。

12.接口有常量定义和方法定义,但没有方法的实现代码,可以将接口想象为一个“纯”抽象类。

13.基本类(P61):

即将基本类型的关键字的第一字母改为大写,其中只有int的基本类为Integer。

值与对应对象的转换,1构造方法,2对象.xxxValue();

14.如果小应用程序已用importjava.applet.Applet导入系统的Applet类,小应用程序的主类必须按以下形式声明:

publicclass主类名extendsApplet。

如果没用import语句导入系统Applet类,则主类的声明应写成:

publicclass类名extendsjava.applet.Applet。

(P61)

15.Applet类的基本方法(63)

(1)init()方法:

创建所需要的对象、设置初始状态、装载图像、设置参数等。

(2)start()方法:

初始化方法后,紧接着调用start()方法,启动小应用程序主线程。

(3)stop()方法:

当浏览器离开小应用程序所在页面转到其他页面时,调用stop()方法,挂起小应用程序的执行。

(4)destroy()方法:

关闭浏览器时,系统调用destroy()方法,结束小应用程序的生命,关闭线程释放对象资源。

(5)paint(Graphicsg)方法:

用于在屏幕窗口上显示某些信息。

(6)repaint()方法:

先清除paint()方法以前所画的内容,然后再调用paint()方法。

(7)update()方法:

调用repaint()方法时,系统会自动调用update()方法。

也是清除paint()方法以前所画的内容,然后再调用paint()方法。

16.小应用程序的生命周期(P64)

(1)下载并实例化小应用程序,系统调用init()方法;

(2)启动,系统调用start()方法;

(3)小应用程序调用stop()方法暂停或执行paint()方法完成;

(4)重新启动;

(5)终止,或退出浏览器,或执行destroy()方法消亡方法。

二、语法点:

1.类的声明(P41)

class类名

{

类体//给出类的成员变量和方法定义,类体中不能有独立的执行代码,所有执行代码只能出现在方法中。

}

2.成员变量(P42)

[修饰字]类型变量名;//修饰字可为:

private、protected、public、友好的;成员变量对类内定义的方法都有效。

类的方法也可以定义变量,称为局部变量。

局部变量只在定义它的方法中有效。

局部变量会隐藏同名的成员变量,访问this.成员名

3.方法(P42)

返回值类型方法名(类型参数名,....,类型参数名)

{

方法体

}

//返回值类型声明方法返回值的数据类型。

如方法无返回值,就用void关键定。

4.对象(P44)

声明对象:

类名对象名;//Pointp1,p2;

创建对象:

new构造方法([参数表])//p1=newPoint();p2=newPoint(30,40)

p45对象的内存模型,引用类型

5.继承(P49)

class子类名extends超类名

{

类体

}

(1)父子类间构造方法调用

(2)注意成员变量的隐藏和实例方法的覆盖

6.接口

定义接口:

[public]interface接口名[extends超接口表]

{

接口体所有变量默认finalstatic,方法:

publicabstract

}

实现接口:

class子类名extends超类名implements接口列表

{//必须实现接口中声明的所有方法}

7.小应用程序主类的程序结构:

publicclassAppletNameextendsjava.applet.Applet

{

publicvoidinit(){......}

publicvoidstart(){......}

publicvoidstop(){......}

publicvoiddestroy(){......}

publicvoidpaint(Graphicsg){......}

}

第四章数据和字符串

一、出题点

1.String类用于处理不可改变的字符串,StringBuffer类用于处理可改变的字符串。

(P73)

2.Object类有方法StringtoString(),一个对象通过调用该方法可以获得对象的字符串表示。

(P79)

如:

Dated1=newDate();//声明并创建一个Date对象

Strings=d1.toString();//将Date对象d1处理转变为String类型,存放在s中。

二、语法点

1.数组(以二维数组为例)(P69-71)

(1)数组先声明

类型数组名[][](其它形式的声明:

类型[][]数组名、类型[]数组名[])

(2)数组创建

类型数组名[][]=new类型[长度1][长度2];

非平衡数组,inta[][]区分a.length与a[0].length

赋初值:

intx[]={1,2,3,4}intx[][]={{1,2},{3,4,5}}

2.字符串声明和创建(P73)

(1)字符串先声明

Strings;

(2)字符串创建

s=newString();//创建一个空字符串对象

s=newString(Stringstr);//创建一个str字符串对象,如s=newString("iam")

s=newString(chara[]);//如charc[4]={'g','o','o','d'};Strings=newString(c);

s=newString(chara[],intstartIndex,intcharNum);//如charc[4]={'g','o','o','d'};Strings=newString(c,2,4),即从下标为2的字母开始,后面共4个字母赋值给s对象;

3.字体串基本操作(P74)

(1)字符串连接,concat(s)方法:

s1=s1.concat(s2);//将s2连接在s1之后,得到一个新的字符串。

(2)获取字符串的长度:

s.length();

(3)字符串前缀比较:

booleanstartsWith(s)判断一个字符串的前缀是否为s。

字符串后缀比较:

booleanendsWith(s)判断一个字符串的后缀是否为s。

(4)比较两个字符串是否相同:

booleanequals(s)方法。

//s1.equals(s2)比较s1与s2字符串相同否,同为true。

与”==”的区别,

(5)字符串检索:

intindexOf(s),即从字符串头开始检索s,返回s首次出现的位置;或intindexOf(Strings,intstartpoint),即从指定的startpoint位置开始检索s,返回s首次出现的位置。

(从0开始编号)

(6)取字符串的子串:

Stringsubstring(intstartpoint)或Stringsubstring(intstartpoint,intend),其中startpoint是字符串的开始下标,end是截止下标。

(到end-1为止)

(7)基本类型值的字符串表示:

String.valueOf();

字符串得到基本类型对象:

dobj=Double.valueof(“123.45”);

值:

d=Double.pauseDouble(“123.45”);

4.StringTokenizer类操作(P77)

(1)使用StringTokenizer类构造对象作为字符串分析器

如:

StringTokenizerst=newStringTokenizer("Iamtom,Iamman.");

或StringTokenizerst=newStringTokenizer("Iamtom",",");//以“,”为分隔符

(2)利用取一个单词的方法nextToken()

如:

st.nextToken()

(3)利用hasMoreTokens()方法控制循环,只要字符串中还有语言符号,返回true。

(4)调用countTokens()方法能得到字符串分析器中一共有多少个单词。

如:

st.countTokens()

第五章图形界面设计

(一)

一、出题点

1.AWT与Swing在区别(P85)

(1)AWT依赖于主平台绘制用户界面组件,而Swing有自己的机制,在主平台提供的窗口中绘制和管理界面组件。

(2)AWT在不同平台上运行相同的程序,界面的外观和风格可能会有一些差异,而一个基于Swing的应用程序可能在任何平台上都会有相同的外观和风格。

2.使用Swing设计图形界面,主要引入两个包:

javax.swing包含Swing的基本类;java.awt.event包含与处理事件相关的接口和类。

(P85)

3.组件(Component)是图形界面的基本元素,容器(Container)是图形界面的复合元素,容器可以包含组件。

为了统一管理组件和容器,为所有组件类定义超类Component类,把组件的共有操作都定义在Component类中;为所有容器类定义超类Container类,把容器共有的操作都定义在Container类中。

(P86)

4.Swing类的层次结构(P86)

顶层容器:

JFrame,JApplet,JDialog,JWindow。

中间容器:

JPanel,JScrollPane,JSplitPane,JToolBar等。

JPanel可直接加组件,其它不能

基本组件:

JButton,JComboBox,JList,JMenu,JTextField。

可编辑组件:

JColorChooser,JFileChooser,JTextArea。

5.图形界面设计的大致步骤:

(1)创建容器

(2)创建组件(3)往容器里添加组件(4)根据操作注册监视器,并用响应事件的方法完成处理。

(自行整理)

6.事件:

是指在某个组件上发生用户操作;对事件作监视的对象称为监视器;为了让监视器与事件对象关联起来,需要对事件对象作监视器注册,告诉系统事件对象的监视器。

(P87)

7.以程序响应按钮事件为例:

(1)程序要创建按钮对象,把它添加到界面中;

(2)要为按钮作监视器注册,程序要有响应按钮事件的方法;(3)当“单击按钮”事件发生时,系统就调用已为这个按钮注册的事件处理方法,完成处理按钮事件的工作。

8.JAVA编写事件处理程序的两种方案:

(1)程序重设方法handleEvent(Eventevt);

(2)程序实现一些系统设定的接口。

9.java.awt.event包中用来检测并对事件做出反应的模型包包括以下三个组成元素:

(P87)

(1)源对象:

事件“发生”在这个组件上,它与一组“侦听”该事件的对象保持联系。

(2)监视器对象:

是一个实现预定义的接口的类的一个对象,该对象的类要提供对发生的事件作处理的方法。

(3)事件对象:

包含描述当事件发生时从源传递给监视器的特定事件的信息。

10.窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中。

在GUI中,有三种窗口:

(1)Applet窗口;

(2)框架窗口(JFrame);(3)一种无边框窗口(JWindow)。

(P89)

11.Swing里的容器都可以添加组件,除了JPanel及其子类之外,其他的Swing窗口不允许把组件直接加入。

而要采用以下两种方法添加:

(P89)

(1)用getContentPane()方法获得该容器的内容面板,再将组件加入。

如,mw.getContentPane().add(button)。

或ContainercP=getContentPane();

cP.add(button);

(2)建立一个JPanel对象的中间容器,把组件添加到这个容器中,再用setContentPane()把容器置为内容面板。

如,JPanelcP=newJPanel();

cP.add(button);

......

mw.setContentPane(cP);

2.用Swing编写GUI程序时,通常不直接用JFrame创建窗口对象,而用JFrame派生的子类创建窗口对象,在子类中可以加入窗口的特定要求和特别的内容等。

(P90例5.2)

13.标签(JLabel)是最简单的Swing组件。

标签对象的作用是对位于其后的界面组件作说明。

(P91)

14.按钮(JButton)在界面设计中用于激发动作事件。

(P92)

15.面板(JPanel)是一种通用容器,其作用是实现界面的层次结构。

默认布局为FlowLayout。

16.JScrollPane是带有滚动条的面板,是Container类的子类,也是一种容器,但是只能添加一个组件。

其用法是先将一些组件添加到一个JPanel中,然后再把这个JPanel添加到JScrollPane中。

(P95)

17.FlowLayout布局:

是将其中的组件按照加入的先后顺序从左到右排列,一行排满之后就另起一行继续从左到右,每行中的组件都居中排列。

FlowLayout是小应用程序的默认布局。

可用超类Container的方法setLayout()加容器设定布局。

如,setLayout(newFlowLayout())。

(P97)

18.BorderLayout布局:

是把容器内的空间简单的划分为东“East”、西“West”、南“South”、北“North”、中“Center”五个区域。

BorderLayout是JWindow、JFrame、JDialog的默认布局(P97)

19.GridLayout布局:

是把容器划分成若干行和列的网格状,行数和列数由程序控制,组件放在网格的小格子中。

其布局特点是组件定位比较精确。

(P98)

20.CardLayout布局:

其容器可容纳多个组件,但是多个组件拥有同一个显示空间,某一时刻只能显示一个组件。

(P100)

21.null空布局是把一个容器的布局设置为null布局。

空布局采用setBounds()方法设置组件本身的大小和在容器中的位置。

(P101)

二、语法点

1.P90例5.2创建JFrame窗口

2.按钮处理程序的基本内容为(P92)P93例5.3处理按钮事件实例

3.面板处理程序的基本内容为(P94)P95例5.4

4.BorderLayout布局P97例5.5

5.GridLayout布局P98例5.6

6.文本框(JTextField)P103例5.8

7.文本区(JTextArea)P105例5.9、5.10

第六章图

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2