java自学考试复习资料Word文档格式.docx
《java自学考试复习资料Word文档格式.docx》由会员分享,可在线阅读,更多相关《java自学考试复习资料Word文档格式.docx(17页珍藏版)》请在冰点文库上搜索。
![java自学考试复习资料Word文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/a862fffa-6cdc-4471-9c50-4d8f0ff22f9a/a862fffa-6cdc-4471-9c50-4d8f0ff22f9a1.gif)
通常在JDK目录下有bin、demo、lib、jre等子目录,其中bin目录保存了javac(编译器)、java(解释器)、jdb(调试器)、appletviewer(javaAppelt解释器)等命令文件;
Java的字符集和标识符。
Java语言使用Unicode字符集,字符采用双字节的表示方式,共有65535个字符,最前面的128个字符与标准的ASCII字符一致,包括:
1)数字字符10个(0~9)
2)英文大小写字母各26个(A~Z,a~z)
3)下划线(_)、美元符号($)
4)文字字符(汉字,日文片假名、平假名,朝鲜文字等)
5)其他用于构成特殊符号的字符集
标识符可以用来标识文件名、变量名、类名、接口名和成员方法名等,其构造规则如下:
1)标识符由Java字母和Java数字组成;
2)首字符必须是Java字母;
3)除去关键字、false、true和null;
4)所有标识符是区分大小写的。
关键字是Java语言保留的一些英文单词,具有特殊的含义。
例如:
public、static和class,具有特殊用途,不能作为标识符使用。
基本数据类型。
布尔型(boolean)1个字节(true或false)
字符型(char)16位
字节型(byte)8位
短整型(short)16位
整数型(int)32位
长整型(long)64位
单精度浮点型(float)32位
双精度浮点型(double)64位
Java直接量是直接显式地表示基本数据类型数据、字符串(String)值和空引用值(null)的表达式,而且在该表达式中不含运算。
布尔(boolean)直接量只有两个:
true和false
字符(char)直接量:
如‘a’,‘6’,‘猫’,‘\u0061’,‘\n’
整型(byte,short,int)直接量:
如-27,+0123,0x56ab
长整型(long)直接量:
如-27L,+0123L,0x56abL
浮点数(float,double)直接量:
如,,100d,,,,,,
字符串(String)直接量:
如“HelloWorld!
”
引用数据类型的直接量:
null
变量在计算机内部对应着一个存储单元,而且总是具有某种数据类型:
基本数据类型或引用数据类型。
每个变量均具有:
名字、类型、一定大小的存储单元以及值。
变量总是具有与其数据类型相对应的值。
基本数据类型:
变量的存储单元中存放的是具体的布尔值或数值;
引用数据类型:
变量的存储单元中存放的是引用值,引用值一般用来指向某个具体的对象。
如果引用值是null,则该引用值不指向任何对象。
在使用变量前,必须先定义该变量,而且一般要求先初始化。
例如:
intstudentNumber;
while循环的嵌套
以上三个任意之间的嵌套
continue语句。
格式:
continue;
功能:
跳过continue之后的语句,重新判断循环控制条件,决定是否继续循环。
说明:
(1)continue语句只能用在三种循环语句的循环体中。
(2)continue语句通常和if语句联合使用,从而构成其后的部分循环体是否执行的单分支结构。
break语句。
break;
强制结束当前的循环,不再执行循环体中break后面的语句。
(1)break语句只能在三种循环语句的循环体和switch语句中使用。
(2)在循环语句中break通常和if语句联合使用,用于构成第二个退出循环的机会。
Package语句。
程序包相当于其它语言的函数库,系统提供大量的程序包,自己编写的类也可以组成程序包,但一定要用package语句声明。
package包名;
包名是一个目录名,可以有路径。
import语句。
用来引入所需要的类
import包名.类名;
import引入Date类
如果从一个包中引入多个类,可以用通配符“*”,如:
import.*;
一个java源程序中可以有多个import语句,它们必须出现在package语句之后;
类的定义之前。
Java程序的基本结构。
[package包名;
]
…员变量名
调用对象的方法,一般形式为:
对象名.方法名([参数表])
实例变量和类变量
被关键字static修饰的变量为类变量(静态变量),未被关键字static修饰的变量为实例变量。
例如:
classD{
floatx;
applet.Applet类是所有Javaapplet的基类,所有的Javaapplet都必须继承该类。
(1)小应用程序的建立和运行
Javaapplet程序从建立到运行的步骤如下:
1)选用写字板或文本编辑器等工具建立Javaapplet源程序。
(其中必须有一个类继承类,这个类是小应用程序的主类,用关键字public修饰。
)
2)把Javaapplet的源程序编译为字节码文件。
3)编制HTML文件,通过<
applet>
<
/applet>
标记将字节码文件嵌入HTML文件中。
4)在支持Java的浏览器上运行。
(2)Applet类的基本方法
publicvoidinit()
publicvoidstart()
publicvoidpaint()
publicvoidstop()
publicvoiddestroy()
publicvoidrepaint()
publicvoidupdate()
(4)小应用程序数据输入与输出
小应用程序的数据输入有多种方式:
从图形用户界面的文本框、文本区域中输入;
采用系统标准输入;
由HTML文件中的参数导入。
第2章数组和字符串
1.数组
数组是连续存储区域的命名集合,这些存储区域彼此相邻,存放着相同类型的数据元素。
一维数组
(1)声明一维数组
一维数组变量的声明格式有如下两种:
数组元素的数据类型[]数组名;
数组元素的数据类型数组名[];
(2)创建一维数组
Java数组是引用类型,可以通过new操作符来创建;
在创建一个数组时必须指明数组的元素类型和它的长度。
先声明后创建
格式:
数组名=new数组元素类型[元素个数]
示例:
char[]c;
ength是二维数组的子数组个数;
二维数组名[下标1].length是指定子数组的元素个数。
2.字符串
字符串常量
双引号括起来的字符序列。
示例:
“student”、“你好”或“”
字符串声明和创建
Stringname1=newString();
Stringname2=newString(“HelloWorld”);
chara[]={‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’};
Stringname3=newString(a);
Stringname4=newString(a,2,4);
字符串基本操作
(1)字符串连接
Strings1=“sweet”;
Strings2=newString(“you”+“are”+s1);
(2)获取字符串长度
方法:
publicintlength()
返回此字符串的长度
(3)字符串前缀或后缀的比较
publicbooleanstartsWith(String
prefix)
测试此字符串是否以指定的前缀开始
publicbooleanendsWith(String
suffix)
测试此字符串是否以指定的后缀结束
(4)比较两个字符串是否相同
publicbooleanequals(Object
obj)
比较两个引用变量是否引用同一个对象,例如(y),对于任何非空引用值x和y,当且仅当x和y引用同一个对象时,此方法才返回true(x==y具有值true)。
publicbooleanequalsIgnoreCase(String
anotherString)
将此String与另一个String比较,不考虑大小写。
如果两个字符串的长度相同,并且其中的相应字符都相等(忽略大小写),则认为这两个字符串是相等的。
publicintcompareTo(String
str)
按字典顺序比较两个字符串的大小。
该比较基于字符串中各个字符的Unicode值。
如果此String对象小于参数字符串,则返回一个负整数。
如果此String对象大于参数字符串,则返回一个正整数。
如果这两个字符串相等,则返回0。
publicintcompareToIgnoreCase(String
按字典顺序比较两个字符串,不考虑大小写。
(5)字符串检索
String的实例方法indexOf()可以用于在字符串中查找一个字符或子串的索引位置。
indexOf()方法在一个String里从左到右查找一个字符或子串,它有几种版本:
publicintindexOf(Stringstring);
publicintindexOf(Stringstring,intstartingIndex);
(6)取字符串的子串
方法substring()可以用来从一个String里检索一个字符子串。
publicStringsubstring(intstartIndex)
Stringstr=“HelloWorld”;
(5);
图形界面设计基础
AWT和Swing
AWT:
AbstractWindowingToolkit,抽象窗口工具包
Swing:
与AWT相比——功能更加强大、完善,平台相关性较小
组件和容器组件(Component)
组件是Java图形用户界面的最基本组成部分,是一个可以以图形化的方式显示在屏幕上、并能与用户进行交互的对象,组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。
容器(Container)
容器是可以容纳其他组件的组件,是图形界面的复合元素。
Container类有add()方法,可以向容器添加组件。
类的成员方法:
publicComponentadd(componentcomp)
标签、按钮和按钮事件
标签()是用于短文本字符串或图像或二者的显示区。
标签不对输入事件作出反应。
标签(类)的构造方法:
publicJLabel()
publicJLabel(Stringtext)
publicJLabel(Stringtext,intalign)
面板
JPanel(见课本94-95页)面板是一种常用容器,常被用作中间容器。
面板(类)的构造方法:
publicJPanel()
publicJPanel(LayoutManagerlayout)布局设计(课本96-102页,综合应用)
FlowLayout布局
流布局管理器()是、和的默认布局方式。
特点:
在容器中,从左到右依次排列组件,当组件排满一行时,则从下一行开始继续排列组件。
可以设置每行组件的对齐方式为:
左对齐、中间(默认对齐方式)和右对齐。
类的构造方法:
publicFlowLayout()
publicFlowLayout(intalign)
publicFlowLayout(intalign,inthgap,intvgap)
文本框和文本区
文本框:
文本框()可用来编辑单行文本。
文本框(类)的构造方法:
publicJTextField()
publicJTextField(Stringtext)
publicJTextField(intcolumns)
publicJTextField(Stringtext,intcolumns)
择框和单选按钮
选择框(JCheckBox)和单选按钮(JRadioButton)均为触击式选择组件,单击这些组件时,都能触发特定的事件,使得复选框和单选按钮的选择状态发生变化。
选择状态有两种,一种是选中(on),一种是未选中(off)。
当需要让用户在一组选择项目中做出选择时,可以使用选择框和单选钮。
选择框(
选择框也称为复选框,选择框(类)的常用构造方法:
publicJCheckBox()
publicJCheckBox(Stringtext)
publicJCheckBox(Stringtext,booleanselected)表和组合框列表
JList构造方法:
JList(),JList(String[]list)
其他常用方法:
课本114-116页
组合框
JComboBox---文本框和列表的组合
常用构造方法:
JComboBox(),
JComboBox(JComboBoxModelaModel),
JComboBox(Object[]items)
选择框菜单项
JCheckBoxMenuItem
4.对话框
JDialog类
JOptionPane类
6.鼠标事件
MouseListener接口
MouseMotionListener接口
第3章图形、图像与多媒体
主要内容:
绘图基础、绘图、图像处理基础、多媒体基础
绘图基础
Graphics类的基本功能:
建立字体、设定显示颜色、显示图像和文本、绘制和填充各种几何图形。
getGraphics()
Paint()paintComponent()
字型和颜色
drawString(Stringstr,intx,inty)
drawChars(chardata[],intoffset,intlength,intx,inty)
drawBytes(bytedata[],intoffset,intlength,intx,inty)
字型的三个要素:
字体、风格、字号
类Font设置字型
构造方法有:
Font(StringfontName,intstyle,intsize)
常用方法如:
getStyle()getName()等
绘图模式:
如何确定重叠部分,正常模式、异或模式
setPaintMode()、setXORMode()
绘图
Graphics类的绘图方法
画线段drawLine()
画矩形drawRect()
画图
擦除矩形块clearRect()
复制图形copyArea()
Graphics2D类的绘图方法
图像处理基础
图像载入和输出
Image类:
getImage(URLurl)
图像缓冲技术
加载图像
•小应用程序通过URL得到网页上的图像
•类中的方法
–ImagegetImage(URLurl)
–ImagegetImage(URLurl,Stringname)
–返回图像对象
显示图像
•类中的成员方法
–不带缩放的图像显示:
–booleandrawImage(Imageimg,intx,inty,Colorbgcolor,ImageObserverobserver)
–booleandrawImage(Imageimg,intx,inty,ImageObserverobserver)
–带缩放的图像显示:
–booleandrawImage(Imageimg,intx,inty,intwidth,intheight,Colorbgcolor,ImageObserverobserver)
–booleandrawImage(Imageimg,intx,inty,intwidth,intheight,ImageObserverobserver)
•BufferedImage类
通过定时器控制动画速度
–构造方法
publicTimer(intdelay,ActionListenerlistener)
–成员方法
publicvoidsetInitialDelay(intinitialDelay)
publicvoidsetCoalesce(booleanflag)
动画制作
•相关方法
publicvoidactionPerformed(ActionEvente)
repaint();
publicvoidpaint(Graphicsg)
提高动画质量
•帧缓存技术
加载与播放声音资源
•支持多种声音资源
–SunAudio文件(.au后缀),
–WindowsWave文件(.wav后缀),
类中的相关方法
•AudioClipgetAudioClip(URL)和AudioClipgetAudioClip(URL,String)
–返回声音资源
•voidplay(URL)和
voidplay(URL,String)
–播放AudioClip
接口中相关方法
•voidloop()
–重复播放audioclip
•voidplay()
–播放audioclip(不循环)
•voidstop()
–停止播放
第4章多线程
1.线程的基本概念
2.在Java程序中,多任务是通过多线程实现的。
•多任务是一种在单个程序里同时执行多项任务的技术。
在Java中,通过给每个任务一个独立的执行线程,从而形成了多线程的并行程序。
•一个CPU一次只能执行一条机器指令,通过在线程之间快速的切换,就可以并行的运行多个线程。
•通过调度技术将CPU时间在各个线程之间分享,就可以实现多线程的程序。
在不同的操作系统中,处理线程调度有不同的解决方案。
•常用的一种调度技术为时间分片,在某种调度算法的控制下,每个线程得到一小片CPU时间。
–轮循调度:
每个线程分到一个相等的时间片,并且遵循先来先服务的原则。
–优先级调度:
更高优先级的线程可以在低优先级线程运行之前先运行。
(1)线程的生命周期
•新建->
就绪->
运行->
阻塞->
死亡
•Thread类
•Start()
•Run()
•Sleepwait
•ResumenotifynotifyAll
(2)线程调度与优先级(课本160页)
•每个Java程序都有一个默认的主线程,就是通过JVM启动的第一个线程。
–对于应用程序,主线程执行main()方法。
–对于Applet,主线程是指浏览器加载并执行小应用程序的那一个线程。
•守护线程(Daemon)是一种监视其他线程工作的服务线程,具有最低的优先级。
2.Thread类和Runnable接口
•在程序中创建线程的方法通常有两种:
(1)创建Thread的一个子类,并重写run()方法,创建此子类的对象作为线程对象。
(2)定义实现Runable接口的类(即在类中实现run()方法),创建此类的对象并将其作为实参传给Thread类的构造方法Thread(Runnabletarget),从而创建线程对象。
(1)Thread类常用成员方法:
publicfinalStringgetName()线程互斥和同步
线程的行为是异步的,无法预测一个线程什么时候可能被中断或让出CPU给其他线程。
当涉及协调多个线程协作的应用程序中,很重要的一点是,设计应当具有防范因异步而导致问题的能力。
第5章输入和输出流
File对象
(1)File(Strings)
(2)File(Stringdirectory,Strings)
流对象:
InputStream和OutputStream、FileInputStream和FileOutputStream、FileReader和FileWriter类
建立流对象:
FileInputStream(Stringname)
FileInputSteam(Filefilename)
创建输入流的一般代码如下:
try{
FileInputStreamins=newFileInputStream(“”);
}catch(FileNotFoundException