Java课程总结Word文件下载.docx
- 文档编号:6410528
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:21
- 大小:25.29KB
Java课程总结Word文件下载.docx
《Java课程总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《Java课程总结Word文件下载.docx(21页珍藏版)》请在冰点文库上搜索。
Java
Application
Applet
运行方式
可以独立运行
不能单独运行
运行工具
普通的Java解释器
浏览器或Applet观察器
程序结构
有且只有一个main方法
没有main方法
受到的限制
可以实现各种操作
不能写操作
第2章Java语言基础
第3章结构控制
一.Java标识符的规定
1.标识符由大小写字母,
下划线,
数字,
$符号组成.
2.开头可以是大小写字母,
和$符号.(数字不能开头)
3.标识符长度没有限制
4.标识符不能是关键子和保留字
5.标识符的命名最好能反映出其作用
6.java语言对字母的大小写有严格的要求.
7.所有自定义标识符需全部遵循标识符的命名规范.
变量:
①如果是一个单词,单词字母全部小写
②如果由多个单词组成,除第一个单词外,其后所有单词首字母大写
常量:
常量所有单词字母大写,
如果是由多个单词组成,
由下划线连接.
方法:
方法命名规范与变量相似
类:
类名的所有单词首字母均大写.
包:
用小写的倒置域名来命名.
格式:
前缀
+
项目名
模块名
层
二.Java的数据类型
Java基本类型共有八种,基本类型可以分为三类:
字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double。
数值类型又可以分为整数类型byte、short、int、long和浮点数类型float、double
1.常量
①整数型常量(4字节):
十进制整数、八进制整数、十六进制整数
②浮点型常量:
小数点形式、指数形式
存储方式:
单精度(4字节)、双精度(8字节)
③布尔型常量:
true、false
④字符型常量:
单引号括起的单个字符、单引号括起来的转义字符、单引号括起来的八进制转义序列
⑤字符串常量:
双引号括起来的0个或多个字符串序列
2.变量
①整数型变量:
byte(1字节)、short(2字节)、int(4字节)、long(8字节)
②浮点型变量:
float(4字节)、double(8字节)
③字符型变量:
char(2字节)
④布尔型变量:
boolean
3.强制类型转换
①隐式类型转换
②显示类型转换
三.分支及循环语句,break,continue
1.分支选择语句
if:
基本形式:
if(布尔表达式)
语句区块1
else
语句区块2
嵌套:
if(布尔表达式1)语句区块1
elseif(布尔表达式2)语句区块2
elseif(布尔表达式3)语句区块3
.
else语句区块n+1
注意事项:
①else和if配对
②语句区块有多个语句时要用{}
switch:
switch()
{case值1:
语句区块1:
break;
//分支1
case值2:
语句区块2:
//分支2
case值n:
语句区块n:
//分支n
[default:
语句区块n+1;
]//分支n+1
}
说明:
①switch后表达式类型不允许是浮点数类型和long类型
②case后面的值是与表达式类型相同的常量,值各不相同
③default语句可省去
④当表达式的值与某个case后常量值相等时,就执行后面的语句
⑤去掉brake,执行完第一个匹配的case后仍会执行其余语句
2.循环语句
While:
While(条件)
{
//循环体
}
(1)此语句是先判断条件,再确定是否执行语句或程序块。
(2)条件为true时,执行循环体的语句或程序块。
反之,不执行循环体。
(3)在循环体中要有改变条件的语句,否则会成为死循环。
do-while:
do{
//循环体;
}while(条件);
(1)此语句是先执行一次循环体,再判断条件。
(2)条件为true时,再次执行循环体的语句或程序块。
(3)在循环体中要有改变条件的语句,否则会成为死循环。
(4)do-while循环语句即是至少都要执行一次的。
For:
for(设定初始值;
条件限定;
修改控制变量)
//程序代码;
3.break,continue
break语句用于终止某个语句块或循环体的执行
continue语句用于跳过某个循环语句块的一次执行
第4章类与对象
第5章消息、继承与多态
一.熟悉类、对象的创建方法
对象是实际存在的一类事物的每个个体,也称实例。
对象具有以下特征
(1)对象标识:
即对象的名字,是用户和系统识别它的唯一标志,可以把对象看成计算机存储器中一块可标识的区域。
(2)属性:
即一组数据,用来描述对象的静态特征。
“数据成员”
(3)方法:
也称为服务或操作,它是对象动态特征(行为)的描述。
“成员方法”
类是对某类事物的描述,是抽象的、概念上的定义。
包括:
(1)类标识:
类的一个有别于其他类的名字。
这是必不可少的。
(2)属性说明:
用来描述相同对象的静态特征。
(3)方法说明:
用来描述相同对象的动态特征。
[修饰符]class类名[extends父类][implements接口名]
类成员变量声明
类方法声明
二.构造函数、成员方法、封装等概念
构造函数:
(1)构造方法的方法名与类名相同。
(2)构造方法是类的方法,能简化对象数据成员的初始化操作
(3)不能对构造方法指定类型,它有隐含的返回值,该值由系统内部使用。
如果标明返回值则不再是构造函数。
(4)构造方法一般不能由编程人员显式地直接调用,在创建一个类的对象的同时,系统会自动调用该类的构造方法将新对象初始化。
系统正是因为构造方法与类方法名相同,从而找到构造方法的。
但是一旦用户定义了构造函数,系统就不再构建了。
(5)构造方法可以重载,即可定义多个具有不同参数的构造方法。
编译器可以根据这一点判断出用new关键字产生对象时,该调用哪个构造方法。
产生对象的格式是:
new类名(参数列表)其构造过程在下页。
(6)构造方法可以继承,即子类可以继承父类的构造方法。
(7)如果用户在一个自定义类中未定义该类的构造方法,系统将为这个类定义一个缺省的空构造方法。
这个空构造方法没有形式参数,也没有任何具体语句,不能完成任何操作。
成员方法:
成员方法描述对象所具有的功能或操作,反映对象的行为,是具有某种相对独立功能的程序模块。
它与过去所说的子程序、函数等概念相当。
一个类或对象可以有多个成员方法,对象通过执行它的成员方法对传来的消息作出响应,完成特定的功能。
封装:
也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部发生联系。
三.访问控制符:
public、private、protected
Public:
如果一个类的修饰符是public,则这个类是公共类。
公共类不但可供它所在包中的其他类使用,也可供其他包中的类使用。
在程序中可以用import语句引用其他包中的public类。
Java规定,在一个程序文件中,只能定义一个public类,其余的类可以是无修饰符的类,也可以是用final修饰符定义的最终类,否则编译时会报错。
Private:
用private修饰的数据成员或成员方法只能被该类自身所访问和修改,而不能被任何其他类(包括该类的子类)来访问和引用。
它提供了最高的保护级别。
当其他类希望获取或修改私有成员时,需要借助于类的方法来实现。
Protected:
用protected修饰的成员变量可以被三种类引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类。
使用protected修饰符的主要作用是允许其他包中的它的子类来访问父类的特定属性。
四.多态机制:
覆盖、重载
覆盖:
含义:
由于面向对象系统中的继承机制,子类可以继承父类的方法。
但是,子类的某些特征可能与从父类中继承来的特征有所不同,为了体现子类的这种个性,Java在子类中定义与父类中已定义的相同名而内容不同的方法叫做覆盖(overload)。
覆盖也叫重写
子类可以根据需要对从基类中继承的方法进行重写
重写的方法必须和被重写的方法具有形同的名称、参数列表和返回类型,否则就不是方法的覆盖,而是子类定义自己特有的方法,与父类的方法无关。
重写方法不能使用比被重写方法更严格的访问权限。
覆盖是基于继承的,如果不能继承一个方法,则不能构成重写,不必遵循覆盖原则。
重载:
在同一类中定义了多个同名而不同内容的成员方法时,我们称这些方法是重载(override)的方法。
原则:
重载的方法主要通过形式参数列表中参数的个数、参数的数据类型和参数的顺序等方面的不同来区分。
重载方法的返回值类型、访问权限没有特别要求,可以相同也可以不同。
调用时,根据不同的参数列表来调用。
第6章数组
第7章字符串类
一、一维数组的定义、初始化及引用
定义:
类型标识符数组名[];
类型标识符[]数组名;
初始化:
直接指定初值的方式
用关键字new初始化数组
引用:
arrayName[index]
1.数组间相互赋值
2.向成员方法传递数组元素
3.向成员方法传递数组
4.对象数组
二、二维数组的定义、初始化及引用
类型说明符数组名[][];
或
类型说明符[][]数组名;
用new操作符初始化数组
1.测定数组的长度及数组赋值
“数组名.length”为测定的是数组的行数
“数组名[i].length”表示第i行的列数
数组名作为成员方法的参数
三、String类与StringBuffer类的区别
1.String类(字符串类)的对象是一经创建便不能变动内容的字符串常量,创建String类的对象可以使用直接赋值和利用String类的构造方法。
2.StringBuffer类(字符串缓冲器类)也是java.lang.Object的子类。
与String类不同,StringBuffer类是一个在操作中可以更改其内容的字符串类,即一旦创建了StringBuffer类的对象,那么在操作中便可以更改和变动字符串的内容。
也就是说,对于StringBuffer类的对象,不仅能进行查找和比较等操作,还可以进行添加、插入、修改之类的操作。
第8章集合类
一.集合框架的概念
集合:
java.util包提供被称为集合(Collection)的容器类来存储各种类型的对象。
Java集合主要包括四种类型:
Set(集),List(列表),Map(映射)和Queue(队列)。
Set:
数据对象没有顺序且不可重复。
类似于数学中的“集合”
List:
数据对象有顺序且可重复。
Map:
一个映射集合。
每个元素都包含key-value(键----值对)。
Key不可重复,但value可重复。
Queue:
一个队列集合,强调对象先进先出的操作顺序。
集合框架:
是用来表示和操作集合的统一框架。
为了使整个集合框架中的类便于使用,Java提供了标准的接口,允许不同类型的集合以相同的方式和高度互操作方式工作,使得集合容易扩展和修改。
集合框架包含三部分:
接口、实现及算法。
二.掌握集合类相关的几个接口和几个类
接口
实现的功能
Collection
一个独立元素的集合
List
有序集合
Set
不包含重复元素的集合
SortedSet
不包含重复元素且按升序排列的集合
Map
不包含重复key的一组key-value对元素集合
SortedMap
在Map的基础上,增加了排序功能的集合
Iterator
一个可单向遍历集合的迭代器
ListIterator
一个可双向遍历集合的迭代器
三.掌握collections算法类的应用
Collection接口:
存储方式为将元素作为单个对象存储。
方法
功能描述
int
size()
获取集合中元素个数
boolean
add(object)
添加一个元素
addAll(Collection)
添加一个集合中的所有元素
remove(object
)
删除一个元素
removeAll(Collection
删除集合中所有元素
void
clear()
清空,删除所有元素
retainAll(Collection)
求两个集合的交集
isEmpty()
判断集合是否为空
contains(Object
判断是否包含指定元素
containsAll(Collection
判断是否包含指定集合中所有元素
Object[]
toArray()
返回包含此Collection中所有元素的数组
<
T>
T[]
toArray(T[]
a)
返回包含此Collection中所有元素的数组,返回数组的运行时类型与指定数组运行时类型相同
第9章文字与图形GUI设计
第10章常用组件GUI设计
第11章高级组件GUI设计
一.事件响应原理
Java采用委托事件模型来处理事件。
委托事件模型由事件源、事件(Event)及事件监听器(Listener)组成。
1.事件源与事件
如果在一个图形用户界面上,点击按钮后改变了界面上的内容,这就意味着这个界面上的按钮组件可以触发一个事件。
我们称这个按钮组件是事件源。
2.事件监听器
事件监听器是实现事件监听的接口类。
事件监听器不断地监听事件源的动作,当事件源产生一个事件,监听器接收到事件源的通知后,就调用特定的方法执行指定的动作。
3.委托事件模型的实现步骤如下:
(1)建立事件源对象;
(2)为事件源对象选择合适的事件监听器;
(3)为监听器添加适当的处理方法;
(4)为监听器与事件源建立联系。
二.布局管理器
1.java.FlowLayout类是java.lang.Object类的直接子类。
FlowLayout的布局策略是将遵循这种布局策略的容器中的组件按照加入的先后顺序从左向右排列,当一行排满之后就转到下一行继续从左至右排列,每一行中的组件都居中排列。
FlowLayout是Applet缺省使用的布局编辑策略。
FlowLayout类有三个构造方法,分别是:
(1)FlowLayout()、
(2)FlowLayout(intalign)、(3)FlowLayout(intalign,inthgap,intvgap)
2.java.BorderLayout类是java.lang.Object类的直接子类。
BorderLayout布局策略是把容器内的空间划分为东、西、南、北、中五个区域。
这五个区域分别用字符串常量East、West、South、North、Center表示。
3.CardLayout的版面布局方式是将每个组件看成一张卡片,如同扑克牌一样将组件堆叠起来,而显示在屏幕上的每次只能是最上面的一个组件,这个被显示的组件将占据所有的容器空间。
用户可通过表10.1所示的方法选择使用其中的卡片。
CardLayout类有两个构造方法,分别是CardLayout()和CardLayout(inthgap,intvgap)
4.GridLayout的布局策略是把容器的空间划分为若干行、若干列的网格区域,而每个组件按添加的顺序从左向右、从上向下地占据这些网格。
GridLayout类的三个构造方法如下:
GridLayout()
GridLayout(introws,intcols)
(3)GridLayout(introws,intcols,inthgap,intvgap)
5.BoxLayout是swing所提供的布局管理器,BoxLayout类与Box类结合,可以提供多样化的布局。
通常的做法是使用若干个Box容器,由于Box容器的默认布局是BoxLayout,而且只能使用这个布局,因此,每一个Box容器中组件的排列方式也只能按水平或垂直方向排列。
创建BoxLayout类的对象的构造方法是:
BoxLayout(Containertarget,intaxis)
第12章异常处理
一.JAVA的异常处理机制
1.Java中引入了异常和异常类,并且定义了很多异常类。
每个异常类代表一类运行错误,类中包含了该运行错误的信息和处理错误的方法等内容。
每当Java程序运行过程中发生一个可识别的运行错误时,系统都会产生一个相应异常类的对象,并由系统中相应的机制来处理,以确保不会产生死机、死循环或其他对操作系统有损害的结果,从而保证了整个程序运行的安全性。
2.两种方式处理异常:
一是由Java异常处理机制的预设处理方法来处理,即一旦程序发生异常,程序就会被终止并显示一些错误信息给用户;
二是使用Java语言提供的try-catch-finally语句自行处理异常。
二.了解JAVA的异常处理语句
1.try-catch-finally语句
ry-catch-finally组合语句用来实现抛出异常和捕获异常的功能。
其格式如下:
try
{
statements//可能发生异常的程序代码
}
catch(ExceptionType1ExceptionObject)
ExceptionHandling//处理异常的程序代码1
catch(ExceptionType2ExceptionObject)
ExceptionHandling//处理异常的程序代码2
。
finally
{
FinallyHandling
//无论是否发生异常都要执行的程序代码
}
2.嵌套try-catch-finally语句
3.抛出异常的throw语句与throws语句
(1)throw语句
throw语句用来明确地抛出一个异常。
throw语句的作用是改变程序的执行流程,使程序跳到相应的异常处理语句中执行。
格式:
throwexceptionObject
(2)throws语句
在有些情况下,不需要一个方法本身来处理异常,而是希望把异常向上移交给调用这个方法的方法来处理。
此时,可以通过throws语句来处理。
returnTypemethodName(para1,para2,…)throwsexceptionList
第13章多线程
一.多线程的概念
每个Java程序都有一个缺省的主线程。
对于Application,主线程是main( )方法执行的线索。
对于Applet,主线程指挥浏览器加载并执行Java小程序。
要想实现多线程,必须在主线程中创建新的线程对象。
Java语言使用Thread类及其子类的对象来表示线程。
新建的线程在它的一个完整的生命周期中通常要经历新生、就绪、运行、阻塞和死亡等五种状态
二.怎样创建和启动一个新的线程
1.新生状态
当用new关键字和某线程类的构造方法创建一个线程对象后,这个线程对象处于新生状态,此时它已经有了相应的内存空间,并已被初始化。
处于该状态的线程可通过调用start( )方法进入就绪状态。
2.就绪状态
处于就绪状态的线程已经具备了运行的条件,但尚未分配到CPU资源,因而它将进入线程队列排队,等待系统为它分配CPU。
一旦获得了CPU资源,该线程就进入运行状态,并自动地调用自己的run方法。
此时,它脱离创建它的主线程,独立开始了自己的生命周期。
3.运行状态
进入运行状态的线程执行自己的run方法中的代码。
若遇到下列情况之一,将终止run方法的执行:
(1)终止操作。
调用当前线程的stop方法或destroy方法进入死亡状态。
(2)等待操作。
调用当前线程的join(millis)方法或wait(millis)方法进入阻塞状态。
当线程进入阻塞状态时,在millis(毫秒)内可由其他线程调用notify或notifyAll方法将其唤醒,进入就绪状态。
在millis内若不唤醒,则需等待到当前线程结束。
(3)睡眠操作。
调用sleep(millis)方法来实现。
当前线程停止执行后,会处于阻塞状态,睡眠millis(毫秒)之后重新进入就绪状态。
(4)挂起操作。
通过调用suspend方法来实现。
将当前线程挂起,进入阻塞状态,之后当其他线程调用当前线程的resume方法后,才能使其进入就绪状态。
(5)退让操作。
通过调用yield方法来实现。
当前线程放弃执行,进入就绪状态。
(6)当前线程要求I/O时,则进入阻塞状态。
(7)若分配给当前线程的时间片用完,则当前线程进入就绪状态。
若当前线程的run方法执行完,则线程进入死亡状态。
4.阻塞状态
一个正在执行的线程在某些特殊情况下,如执行了suspend、join或sleep方法,或等待I/O设备的使用权,那么它将让出CPU并暂时中止自己的执行,进入阻塞状态。
阻塞时它不能进入就绪队列,只有当引起阻塞的原因被消除时,线程才可以转入就绪状态,重新进到线程队列中排队等待CPU资源,以便从原终止处开始继续运行。
5.死亡状态
处于死亡状态的线程将永远不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程 总结