java复习整理.docx
- 文档编号:3990350
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:18
- 大小:40.95KB
java复习整理.docx
《java复习整理.docx》由会员分享,可在线阅读,更多相关《java复习整理.docx(18页珍藏版)》请在冰豆网上搜索。
java复习整理
第一章java快速入门
1.什么是面向对象编程?
面向对象编程的编程语言将客观事物看作具有状态和行为(方法)的对象,通过抽象找出同一类对象的共同状态(静态特征)和(动态特征)。
2.为什么学习java
简单易学、面向对象、安全性、平台无关性、多线性
3.java开发环境
安装jdk+设置环境变量(path、bin)——才能打开eclipse
4.什么是Jdk和Jre
Jdk——java开发工具包
Jre——java运行环境
5.java与字节码的扩展名
java源程序文件的扩展名必须为.java,
字节码扩展名.class,个数与类有关
6.类的组成
JAVA主要有两种程序类型:
Application和Applet程序
Application应用程序从命令行开始运行,其主类必须有且只有一个main()方法,作为程序运行的入口。
第二章java语言基础
1.java语言的基本元素
数据类型、运算符、表达式
2.java源程序的组成
主要有两部分组成:
import语句和类定义语句
①inport语句用来导入其他包中的类,使得程序能够使用这些包中定义的类。
该语句位于类定义之前,可以多次使用,导入多个类
②类(class)是java程序的核心
格式:
[修饰符]class类名{
类体
}
注:
①在class关键字前面可以使用修饰符,也可以不用
②一个源程序最多只能有一个公有类,并且类(公有类)名与使用的文件名必须完全一样
注:
一个源程序也可以没有公有类
判断:
一个源程序只能含有一个类
一个源程序不能含有多个类
一个类中可以定义多个方法
格式:
[修饰符]方法名(参数列表){
方法体
}
①语句是java程序的基本单位,是程序具体操作的内容
②main()方法头定义为:
publicstaticvoidmain(Stringargs[])
③java程序中可以定义多个类,每个类中可以定义多个方法,但是最多只有一个公有类,main()方法也可只能有一个,该方法作为程序的入口。
注:
main()方法最好在公有类中
3.注释语句
①单行注释语句//
②多行注释语句/*…*/
③文档注释语句/**…*/
4.什么事变量
变量必须先定义后使用,定义变量的过程实际就是为其分配内存空间
5.Java数据类型
1.引用数据类型
2.基本数据类型:
逻辑类型(boolean)、整数类型(char、byte、short、int、long、float、double)
注:
1.逻辑类型(boolean):
真(true)、假(false)
2.char
①只能用一个字符
②必须用‘’(单引号)
③一个英文单词占用16位
例:
charsex=‘男’,chargrade=‘A’,charc=‘u0041’(表示英文字母A)
charc=‘\n’,charc=‘\\’,charc=‘\u4e2d(表示汉字中)
3.float——数字后面加f
floatf=1.2f;
4.double——数字后面可加可不加d
doubled=1.2;
doubled1=1.2d;
5.long——数字后面可加可不加l
longl=1l;
longl1=1;(存在隐式转换)
6.基本数据类型与引用数据类型之间的转换
boolean的引用类型:
Boolean
char的引用类型:
Character
byte的引用类型:
Byte
short的引用类型:
Short
int的引用类型:
Integer
long的引用类型:
Long
float的引用类型:
Float
double的引用类型:
Double
//将基本数据类型boolean转换成引用类型Boolean
Booleanb=newBoolean(true);
//将引用类型Boolean转换成基本数据类型boolean
booleanbool=b.booleanValue();
//将基本数据类型int转换成引用类型Integer
Integeri=newInteger
(1);
//将引用类型Integer转换成基本数据类型int
intiNum=i.intValue();
//将基本数据类型char转换成引用类型Character
Characterch=newCharacter('C');
//将引用类型Character转换成基本数据类型char
charch1=ch.charValue();
7.java标识符和关键字
1.标识符
①标识符必须以大小写字母、数字、下划线“_”和美元符号“$”组成
②所有标识符是区分大小写的;
③不可以用数字开头
④中文可以为标识符
⑤关键字不能为标识符
⑥标识符不能有空格
2.Java语言的关键字
abstract
boolean
break
byte
case
catch
char
class
continue
default
do
double
else
extends
false
final
finally
float
for
if
implements
import
instanceof
int
interface
long
native
new
null
package
private
protected
public
return
short
static
super
switch
synchronized
this
throw
throws
transient
true
try
void
volatile
while
8.运算符
①双目运算符
+加法
-减法
*乘法
/除法
%取余数
②单目运算符
++(自增1)
①a++表示在使用变量a之后,其值增加1
②++a表示在使用变量a之前,其值增加1
--(自减1)
①a--
②--a
-相反
9.逻辑运算符
①逻辑与&
&前后的操作数都为true时,表达式的值为true,其他情况下,表达式的值为false
②逻辑或|
只有|前后的操作数都为false时,表达式的值为false否则,表达式的值为true
③逻辑非~
表示相反的意思
④逻辑异或^
当运算符^前后数值同为true或者同为false时,表达式的值为false
当运算符^前后数值一个为true,另一个为false时,表达式的值为true
⑤条件与&&
当第一个操作数为假时,认定结果为假,而不必考虑第二个操作数的取值
注:
条件与&&的运算规则与逻辑与&相同
⑥条件或||
当第一个操作数为真时,认定结果为真,而不必考虑第二个操作数的取值
注:
条件或||的运算规则与逻辑或|相同
短路规则:
①条件与&&
只要前面为false,那么后面的式子就不参与运算(忽视掉),结果为假
②条件或||
只要前面为true,那么后面的式子就不参与运算(忽视掉),结果为真
10.关系运算符
作用:
比较两个操作数
运算结果为逻辑值,即true或false
①==等于运算符
如果两个数据值相等,表达式值为true;否则,表达式值为false
②!
=不等于运算符
如果两个数据值相等,表达式值为false;否则,表达式值为true
③>大于运算符
④<小于运算符
⑤>=大于等于运算符
⑥<=小于等于运算符
11.赋值运算
格式:
①变量名=数据
②变量名1=变量名2=……变量名n=数据
注意:
①数据可以是一般的数据,也可以是表达式
②变量的类型必须和数据的类型一致
特殊赋值运算符
①+=a+=b相当于a=a+b
②-=a-=b相当于a=a-b
③*=a*=b相当于a=a*b
④/=a/=b相当于a=a/b
⑤%=a%=b相当于a=a%b
例:
赋值运算intnum=2;
num*=2+3;//num=num*(2+3)=10
num-=2-3;//num=num-(2-3)=3
12.运算符优先级
13.数据类型转换
①系统自动转换(又称隐式类型转换)
概念:
所占内存空间字节数少→所占内存空间字节数多
转换规律:
(byte,short,char)→int→long→float→double
②强制类型转换
概念:
所占内存空间字节数多→所占内存空间字节数少
转换规律:
double→float→long→int→(byte,short,char)
例:
byteb3=2;
byteb2=(byte)(b3+2)//b3+2的结果为int数据类型,所以需要进行强制类型转换
第三章流程控制
流程控制有三种类型
1.顺序结构
2.选择结构——if,switch
3.循环结构——for,while,do…while
一.选择结构
1.if语句
1.只用if语句
格式:
if(表达式)
{
代码块
}
如果布尔表达式的求值为真,则继续执行下面的代码块,否则跳过这个代码块,执行后面的语句
注意:
表达式的值必须是布尔类型的
2.if-else语句
格式:
if(表达式)
{
代码块;
}
else
{
代码块;
}
注:
1.else子句不能单独作为语句使用,它必须和if配对使用
2.else总是与离它最近的if匹配
3.if-else语句可以嵌套
2.switch语句
switch(表达式)
{
case常量1:
代码块;
break;
case常量2:
代码块;
break;
……
case常量n:
代码块;
break;
default:
代码块;
break;
}
switch语言执行流程:
1.计算表达式的值
2.程序转向与表达式的值相等的case,如果没有匹配任何cast,则转向default子句
3.以匹配的cast或default处开始执行直到遇到break语句或switch语句
注:
1.switch语句中表达式的值的类型必须是:
byte、short、int、char
2.常量值1到常量值N也必须是字符型或整数型(除long型)
3.default是可有可无的,如果它不存在,并且所有的常量值都和表达式不相同,那么switch语句就不会进行任何处理。
4.同一个switch语句中,case后的值要求互不相同,但是对次序没有要求。
二.循环结构
1.for语句
格式:
for(表达式1;表达式2;表达式3){
语句;
}
2.while语句
格式:
while(表达式){
语句;
}
当表达式的值为真时,则重复执行循环体,直到表达式的值为假时结束
适用于:
循环次数不确定的情况
注:
如果在程序执行过程中,while语句中条件表达式的值始终为true,则循环体会被无数次执行,进入到无休止的“死循环”状态中。
3.do-while语句
格式:
do{
语句;
}while(表达式);
无条件地执行一遍循环体,再来判断条件表达式的值,若表达式的值为真,则再执行循环体,否则跳出do-while循环,执行下面的语句。
特点:
它的循环体至少要执行一次
三.跳转
1.break语句
常用于下列情况:
1.switch结构中,break语句用来终止switch语句的执行
2.在for循环及while循环结构中,用于终止break语句所在的最内层循环
2.continue语句
continue语句用于循环结构中:
1.在while或do-while循环中,continue语句会使流程直接跳转至条件表达式
2.在for循环中,continue语句会跳转至表达式,计算并修改循环变量后再判断循环条件
第四章类与对象
1.类的结构
成员属性、构造方法、成员方法
2.类的定义
类是具有相同操作功能和相同数据格式(属性)的对象的集合与抽象
3.类的声明
[修饰符]class类名{
变量成员声明与初始化
方法声明及方法体
}
4.访问修饰符与一般修饰符
类访问修饰符:
public、default
一般修饰符:
abstract、final
(一般修饰符可以和访问修饰符同时使用)
成员方法访问修饰符:
private,default,protected,public.
一般修饰符:
final,static,abstract
成员属性访问修饰符:
private,default,protected,public.
一般修饰符:
final(常量),static(静态)
(static——该变量属于类,也就是该变量的值被多个对象所共享)
构造方法访问修饰符(和类一样):
public,default
一般修饰符:
无
5.对象的声明
生成实例:
类实例名=new<类名>(参数列表);
作用:
在内存中为对象分配内存空间,返回对象的引用(即存储地址)。
存储对象的变量(实例名)称为引用变量
例:
方法1:
Students1;
s1=newStudent();
方法2:
Students1=newStudent();
6.数据成员
类的成员变量声明的格式:
[修饰符]类型变量[=初始值];
访问实例的成员变量:
<实例>.<成员变量名>;
7.方法成员
声明方法:
[修饰符]返回类型方法名([参数列表]){
方法体
}
8.对象初始化
构造方法public类名(参数列表){
语句体
}
构造方法的主要特点:
1.构造方法的方法名与类名相同
2.构造方法没有返回类型(修饰符void也不能有),没有一般修饰符
3.构造方法通常被声明为公有的(public)
4.构造方法的主要作用是完成对象的初始化工作
5.构造方法通过new关键字来调用
6.构造方法的访问修饰符(和类一样):
public,default
7.缺省的构造方法的访问修饰符与类一致
8.若类里已经显示的定义了一个构造方法,那么就不存缺省的构造方法
9.get方法和set方法
get方法的功能是取得属性变量的值
格式:
public<类型>get<成员变量>(){
return<成员变量>;
}
(注:
get方法名以“get”开头,后面是成员变量的名字)
set方法的功能是修改属性变量的值
格式:
publicvoidset<成员变量>(<成员变量类型><参数名>){
<成员变量>=<参数名>;
}
(注:
set方法名以“set”开头,后面是成员变量的名字)
10.静态方法
静态成员方法、静态属性既可以通过类名也可以通过实例名来存取类变量的值
格式:
<类名|实例名>.<类变量名>
注:
静态属性可以用来存储经常需要共享的数据(如果一个静态修改,影响所有的对象)
11.方法重载
方法重载:
允许一个类中有两个或两个以上的同名的方法,但参数表不同
作用:
为了使功能相同参数不同的方法的命名一致
12.this应用
作用:
引用当前对象
利用this可以解决的问题
1.在类的构造方法和实例方法中解决局部变量与实例变量同名的问题
例:
this.id=id;(局部变量)
privateStringid;(第一个id)
publicStudent(Stringid,…)(第二个id)
2.在构造方法的第一条语句使用this,可以调用同一个类的另一个构造方法
例:
this(“”,0,20);
13.特殊变量super
1.特殊变量super,提供了对父类的访问。
2.可以使用super访问父类被子类隐藏的变量或覆盖的方法。
3.每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造方法,那么在编译的时候就会报错。
14.类的组织
包的目的:
为了解决类名冲突的问题
包的定义:
——(位置:
文件的开头位置,空白注释除外)
package包名;
注:
1.包不具有嵌套关系
2.在一个工程中,一个包要被所有的类所访问到,访问修饰符是public
在一个工程中,同一个包被所有的类所访问到,访问修饰符是default
3.如果不加package语句,则指定为缺省包或无名包
4.在package语句中,用.来指明包(目录)的层次
15.声明toString()方法
1.最早在object类中被定义
2.在声明tostring()方法时,需要注意一下几点:
(1)tostring方法必须被声明public(因为在object类中tostring是被声明为public)
(2)返回类型为string
(3)方法的名称必须为tostring,且没有参数
16.new关键字的作用
1.为对象分配内存空间
2.为对象返回一个引用
3.引起对象构造方法的调用
17.常量的定义
1.使用关键字final定义常量
例如:
finaldoublePI=3.1415926;
2.作为一种约定,在定义常量时,通常采用大写形式
3.final常量可以在声明的同时赋初值,也可以在构造函数中赋初值
4.为了节省内存,我们通常将常量声明为静态的(static),那只能在声明的时候同时赋值
第五章类的重用
1.面向对象技术的3大特征
继承性、多态性和封装性
2.类的继承是一种重用已有类来创建新类的机制,利用类的继承复用现有代码,可缩短软件开发周期。
3.继承的语法
[修饰词]class子类名extends父类名{
语句体
}
注:
1.用关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类)。
2.在Java中,不允许多继承。
3.类继承并不改变类中变量和方法的访问权限,如果父类中的变量和方法为public、protected,那么其子类中的这些变量和方法依然为public、protected。
子类不能直接访问从父类中继承的私有属性及方法,但可以使用公有(及保护)方法间接访问。
4.有继承时的构造方法
遵循以下的原则:
1.子类不能从父类继承构造方法
2.super关键字调用父类的构造方法,在构造方法的第一句
3.子类没显示调用父类构造方法,则默认调用父类的无参构造方法
5.覆盖——重写
覆盖:
子类对从父类继承来的方法可以重新加以定义
方法的覆盖:
在子类中定义一个与父类同名、返回类型、参数类型均相同一个方法
注:
1.覆盖发生在子类与父类之间
2.有继承才会有覆盖,有覆盖才会有多态性
重载:
子类定义的方法与父类名称相同,但参数列表不同(参数类型不同,排列顺序不同)
6.特殊变量super
1.特殊变量super,提供了对父类的访问。
2.可以使用super访问父类被子类隐藏的变量或覆盖的方法。
3.每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造方法,那么在编译的时候就会报错。
7.StringtoString()在Object类
8.抽象类
抽象类:
不能使用new方法进行实例化的类,即没有具体实例对象的类
抽象类和抽象方法的定义:
:
abstractclass类名{
abstractvoidshow();//无方法体
}
说明:
1.在类中没有方法体的方法,就是抽象方法。
2.如果一个子类没有实现抽象基类中所有的抽象方法,则子类也成为一个抽象类。
3.我们可以将一个没有任何抽象方法的类声明为abstract,避免由这个类产生任何的对象。
4.构造方法、静态方法、私有方法、final方法不能被声明为抽象的方法。
抽象类与抽象方法的关系:
抽象类里可以没有抽象方法,抽象方法必须写在抽象类中
第六章接口与多态
接口是一种特殊的抽象类
接口中所有的方法都是抽象方法,而且访问修饰符为public
1.接口的定义
[接口修饰词列表]interface接口名[extends接口命称列表]{
接口体
}
注:
1.接口修饰词列表:
public或缺省
2.接口中可以有数据成员,这些成员默认都是public、static、final。
3.接口中所有的方法都是public和abstract属性。
4.public类一样,public接口也必须定义在与接口同名的文件中。
5.不能直接由接口来创建对象
6.在Java中,一个类可以实现多个接口
2.接口的实现
[修饰符]class类名称implements接口名列表{
类成员
}
注:
一个类在继承另外一个类的同时,可以实现多个接口。
3.多态
多态性:
父类的对象,指向的是子类的实例对象
1.如果调用覆盖的方法,那么就会执行子类的方法
2.有继承,才有覆盖;有覆盖,才有多态性
第七章数组
1.数组的定义
数据类型数组名[];
或数组类型[]数组名;
2.数组的创建
New数据类型[元素个数]
注:
声明的数组名不可以直接适用,必须为其分配内存并经过初始化才能使用
例如:
intscores[];scores=newint[3];或者intscores=newint[3];
3.数组元素的初始化
数组声明后必须经过初始化才能引用(即数组的元素要被赋值)
方法1:
intscores[]={85,87,89,…,88};
方法2:
scores[0]=86;
scores[1]=86;
…
scores[4]=38;
方法3:
int[]ages=newint[]{12,13,4,12}//后面的[]不能写数据
第九章数据库编程基础
1.什么是JDBC
JDBC是为Java语言定义的一个SQL调用级接口
2.JDBC的作用
隔离了JAVA与不同数据库的对话
3.JDBCAPI中的重要接口
①DriverManager——驱动程序管理器
利用Class.forName(“”)加载数据库驱动
可获得新的Connection.
②Connection——数据库连接对象
③Statement——定义接口
Statement对象用于执行不带参数的简单SQL语句
executeQuery(Stringsql)用于执行产生单个结果集的SQL语句,例如select语句
④ResultSet——容纳数据库查询操作获得的结果
4.访问数据库的主要流程
①使用JDBC查询存储在数据库中的数据
②使用JDBC更新数据库的数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 复习 整理