01 JAVA基础知识点总结.docx
- 文档编号:29986304
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:42
- 大小:169.98KB
01 JAVA基础知识点总结.docx
《01 JAVA基础知识点总结.docx》由会员分享,可在线阅读,更多相关《01 JAVA基础知识点总结.docx(42页珍藏版)》请在冰豆网上搜索。
01JAVA基础知识点总结
JAVA基础知识点总结
目录
1.JAVA简介3
1.1java体系结构3
1.2java特点3
1.3JDK与JRE3
1.4第一个java程序3
1.5java程序的开发步骤3
2.基本数据类型3
2.1标志符3
2.2关键字3
2.3常量3
2.4变量3
2.5基本数据类型3
2.6基本数据类型之间的转换3
3.运算符与流程控制4
3.1运算符:
算术,关系,赋值,逻辑(着重注意),位运算符4
3.2流程控制语句4
3.3switch的规则4
3.4for,while,dowhile搞清楚代码的执行流程4
3.5break,continue4
3.6流程控制代码编写4
4.面向对象基本语法4
4.1定义一个类5
4.2实例化对象5
4.3区分引用类型与基本数据类5
4.4如何操作对象:
使用.操作符5
5.访问控制,方法定义与调用,重载,方法重写5
5.1访问控制5
5.1.1package包的使用5
5.1.2继承(简单概念)6
5.1.3四个访问级别6
5.2重载与重写6
5.2.1重载6
5.2.2重写6
5.3类与对象的生命周期6
5.3.1类与对象的初始化过程6
5.3.2垃圾回收机制6
5.4单例模式7
6.继承,抽象类,接口7
6.1继承:
7
6.1.1继承的语法7
6.2.2继承中的构造方法7
6.3.3对象的转型7
6.4.4多态8
6.2抽象类:
8
6.3static:
静态关键字8
6.3.1static属性8
6.3.2static方法8
6.4final关键字8
6.5接口8
7.异常处理9
7.1什么是异常,为什么要引入异常9
7.2java的异常的分类9
7.3异常的处理方式9
7.4try,catch,finally中程序的运行过程9
7.5区分RuntimeException与被检查异常10
8.数组10
9.常用类10
10.集合框架12
11.JDBC13
12.图形-布局,常用Swing组件14
13.图形-事件处理,绘图15
14.多线程15
15.IO16
16.网络16
17.类与对象的生命周期17
18.补充知识点17
1.JAVA简介
1.1java体系结构:
j2se,javaweb,j2ee
1.2java特点:
平台无关(虚拟机),垃圾回收(使得java更加稳定)
1.3JDK与JRE,JDK:
java开发环境,JRE:
java运行环境
1.4第一个java程序:
HelloWorld,java的入口是main(publicstaticvoidmain(String[]args))
1.5java程序的开发步骤:
.java编译(javac)成.class运行(java).class文件
2.基本数据类型
2.1标志符:
自己可以取名字的地方称为标志符
*标志符的规则:
1,只能是字母,数字,下划线,$;不能以数字开头;严格区分大小写;不能使用关键字作为标志符
2.2关键字:
关键字都是小写
2.3常量:
如123,“hello”
*也可以使用final定义常量(请参照Math.PI),如publicstaticfinalintSLOW_SPEED=1;
2.4变量:
变量的本质是内存中的一小块区域,用这个区域保存数据
*变量申明:
类型变量名字
*变量必须先声明,再赋值,再使用
*注意区分基本数据类型的变量与引用数据类型的变量
*变量的作用域,局部变量与成员变量:
变量在哪个大括号里定义,就在哪里有效,出了大括号无效
2.5基本数据类型:
java数据类型分为两大类:
基本数据类型,引用数据类型
*基本数据类型分为4类8中:
boolean,char,byte,short,int,long,float,double
*boolean类型只有true,false
*char是Unicode编码
*float,double是有精度的(不是绝对精确的)
2.6基本数据类型之间的转换
*123字面常量是int型,12.3字面常量是double型,8888888888888这个字面常量有问题(因为它已经超出int的范围,改成8888888888888L)
*boolean与其他类型不兼容
*byte,short,char之间相互运算的时候,先转换为int,再进行运算
*小容量的数据类型可以自动转换为大容量的数据类型:
byte,short,char——>int——>long——>float——>double
*大容量转换为小容量的数据类型,要进行强制转换
*多种数据类型进行运算的时候,先转换为容量最大的数据类型再进行运算,整个表达式的类型是容量最大的数据类型
*必须掌握PPT上的习题
1、自动类型转换(隐式类型转换)
需要同时满足两个条件:
1)、两种类型彼此兼容
2)、目标类型的取值范围要大于源类型
2、强制类型转换(显示类型转换)
当两种类型不兼容,或目标取值类型范围小于源类型时,自动类型转换无法进行,需要进行强制类型转换。
数据类型强制转换的格式为:
(数据类型)数据表达式;
例如:
inti=5;byteb=(byte)i;
3.运算符与流程控制
3.1运算符:
算术,关系,赋值,逻辑(着重注意),位运算符
*自加自减++,--,注意顺序
*关系运算符的结果是boolean类型
*逻辑运算符注意短路与&&,短路或||
*三元运算符(逻辑表达式)?
表达式一:
表达式二
1)、算术运算符
运算符
运算
范例
结果
+
正号
+3
3
-
负号
b=4;-b;
-4
+
加
5+5
10
-
减
6-4
2
*
乘
3*4
12
/
除
5/5
1
%
取模(求余)
5%5
0
++
自增(前)
a=2;b=++a;
a=3;b=3;
++
自增(后)
a=2;b=a++;
a=3;b=2;
--
自减(前)
a=2;b=--a;
a=1;b=1;
--
自减(后)
a=2;b=a--;
a=1;b=2;
+
字符串相加
“he”+“llo”
“hello”
两个整数之间的相除(/)运算结果还是整数,其结果是除的结果的整数部分。
例如:
5/2结果为2
要获得实数结果,运算中至少一个浮点数。
例如:
5/2.0结果为2.5
2)、关系运算符
运算符
运算
范例
结果
==
相等于
4==3
false
!
=
不等于
4!
=3
true
<
小于
4<3
false
>
大于
4>3
true
<=
小于等于
4<=3
false
>=
大于等于
4>=3
true
3)、赋值运算符
运算符
运算
范例
结果
=
赋值
a=3;b=2;
a=3;b=2;
+=
加等于
a=3;b=2;a+=b;
a=5;b=2;
-=
减等于
a=3;b=2;a-=b;
a=1;b=2;
*=
乘等于
a=3;b=2;a*=b;
a=6;b=2;
/=
除等于
a=3;b=2;a/=b;
a=1;b=2;
%=
模等于
a=3;b=2;a%=b;
a=1;b=2;
4)、逻辑运算符
运算符
运算
范例
结果
&
AND(与)
false&true
false
|
OR(或)
false|true
true
^
XOR(异或)
false^true
true
!
NOT(非)
!
true
false
&&
AND(短路与)
false&&true
false
||
OR(短路或)
false||true
true
在使用短路与(&&)时,如果第一个操作数(或表达式)为“假”,则不再计算第二个操作数(或表达式),直接返回“假”。
在使用短路或(||)时,如果第一个操作数(或表达式)为“真”,则不再计算第二个操作数(或表达式),直接返回“真”。
逻辑运算符只能用于布尔(boolean)类型之间;其结果值为布尔(boolean)类型。
5)、位运算符
运算符
运算
计算规则
&
按位与
只有参加运算的两位都为1,‘&’运算的结果才为1,否则为0。
|
按位或
只有参加运算的两位都为0,‘|’运算的结果才为0,否则为1。
^
按位异或
只有参加运算的两位不同,‘^’运算的结果才为1,否则为0。
<<
左移位
左移指定位数,右边补0。
>>
右移位
右移高位是0,左边补0;高位是1,左边补1。
>>>
无符号右移位
左边补0。
~
按位取反
1取反是0,0取反是1。
位运算符只可用于整数类型、char类型,不可应用于浮点类型。
6)、条件运算符
条件运算符是一个三目运算符,也是唯一的一个三元运算符,符号为“?
:
”,在程序中能实现简单的判断功能。
语法格式:
表达式1?
表达式2:
表达式3
其中表示1是一个布尔表达式,如果表达式1结果为true,则执行表达式2,否则执行表达式3。
举例说明:
求a,b的最大值。
inta=4,b=6,max;
max=a>b?
a:
b;//将a和b中的较大值赋给max
3.2流程控制语句:
条件(if,switch),循环(for,while,dowhile),break与continue
单分支条件语句
语法格式为:
if(条件表达式){
语句或语句块;
}
二分支条件语句
语法格式为:
if(条件表达式){
语句或语句块1;
}else{
语句或语句块2;
}
嵌套条件语句
语法格式为:
if(条件表达式){
if(条件表达式){
语句或语句块;
}
}else{
语句或语句块2;
}
多分支条件语句
语法格式为:
if(条件表达式1){
语句或语句块1;
}elseif(条件表达式2){
语句或语句块2;
}……
……
}elseif(条件表达式n){
语句或语句块n;
}else{
语句0;
}
3.3switch的规则:
*switch只能探测:
byte,short,char,int类型的值(case后面也只能是这4种)
*switch中小心case的穿透(代码会一直运行,直到遇到break停止,建议每个case写一个break)
*default:
如果没有找到匹配的case,则执行default
语法格式为:
switch(条件表达式){
case常量1:
语句1;
break;
case常量2:
语句2;
break;
……
case常量N:
语句N;
break;
[default:
语句;break;]
}
3.4for,while,dowhile搞清楚代码的执行流程(PPT上有图,必须记住)
1、for循环语句
语法格式为:
for(变量初始化表达式;循环条件表达式;迭代部分)
{
语句或语句块;//循环体
}
for循环有一个特殊的循环,叫死循环。
表现形式为:
booleanisOk=true;或for(;;){}
for(;isOk;){}
for循环可以再嵌套for循环。
注意:
在for循环的初始化或迭代部分,可以有多个表达式,表达式之间用逗号隔开。
例如:
intcount=0;
for(inta=1,b=10;a
count++;
}共循环多少次?
2、while循环语句
语法格式为:
while(循环条件表达式){
语句或语句块;
}
3、do-----while循环语句
语法格式为:
do{
语句或语句块;
}while(表达式);(注意分号绝对不能省略)
3.5break,continue
*都可以用在循环里面,break还可以用在switch中
*break跳出单前的代码块(结束循环)
*continue:
跳过本轮循环,继续下一轮循环(循环会继续,仅仅跳过本次)
3.6流程控制代码编写:
可以灵活的组合这些流程控制代码,注意一定要写{}
方法调用语句
方法调用语句是执行对象的某个方法。
一个完整的方法调用语句由某个方法调用加上一个分号构成。
调用语法格式为:
类对象名称.方法名(参数);
例如:
System.out.println(“Thisisastatementcallamethod!
”);
调用对象System.out的println方法。
4.面向对象基本语法
需要大家掌握:
类与对象的区别,如何定义一个类,如何实例化一个对象
4.1定义一个类
*使用class关键字定义类,注意类名大写
*成员属性:
成员属性不赋值会有默认值(默认值规则参考PPT)
*成员方法
*构造方法:
没有任何返回值,名字与类名一样,构造方法的本意是用来初始化对象(初始化对象的属性值)
4.2实例化对象:
Students=newStudent();
*使用new+构造方法实例化对象
*new在堆中开辟了对象的空间,并且给属性赋上默认值
*接下来调用构造方法,执行构造方法中的代码
*最后返回对象的引用
4.3区分引用类型与基本数据类型
*引用类型的变量在内存中有两块区域,一块是引用本身,另一块是引用所指向的对象
*基本数据类型在内存中只有一块空间:
里面存着值
4.4如何操作对象:
使用.操作符
*使用对象名.属性操作对象的属性(如:
stu.age=18;)
*使用对象名.方法调用对象的方法(如:
stu.study());
*this:
每个对象都有this,this是指向本身的引用,代表本身
4.5.必须能够独立写出Point3D的代码(题目在PPT上)
5.访问控制,方法定义与调用,重载,方法重写
5.1访问控制
5.1.1package包的使用
*使用package定义包:
package只能放在代码的第一行
*import:
导包,可以到入包下所有importjava.io.*;可以导入具体的一个类importjava.io.Reader;
*包的作用:
1,分类;2,隐藏(封装的作用),3,便于管理
*java本身提供了一些包:
java.lang(核心类,此包如需要引入),java.util(集合框架以及其他常用类),java.io(输入输出),java.awt,javax.swing(图形)
5.1.2继承(简单概念):
使用extends关键字表示继承
*子类继承父类的所有属性
*子类继承父类除private(非同包的时候也除默认的方法)外的所有方法
*子类对象拥有super引用,表示父类的引用,可以使用super明确的调用父类的方法或属性
5.1.3四个访问级别,从大到小:
public,protected,默认,private
*注意访问级别是针对类来讲的,不是针对对象!
!
!
!
!
!
!
*注意类的访问修饰符只能使用public或默认
*学了访问控制后:
类的属性都写private,通过set/get方法对属性进行赋值,取值
5.2重载与重写
1.判断是否是重载,或者是否是重写,如果不是重写或者重载,就不受重写重载规则的约束
5.2.1重载:
一个类当中,有方法名相同,参数不同的方法,称为重载
*不能只改返回值:
不能根据方法的返回进行重载
5.2.2重写:
在继承当中,子类将父类的方法重新写了一遍:
重写的方法与被重写的方法拥有相同的方法签名(返回值类型,方法名,参数列表)
*.重写的方法能够改变被重写的方法的访问级别,注意只能是相等或者扩大
*.重写的方法不能抛出比被重写方法更多的异常,注意只能缩小异常的范围
*.如果被重写的方法是具体的,重写之后不能改为abstract
5.3类与对象的生命周期
5.3.1类与对象的初始化过程:
*静态属性先初始化,而且仅仅初始化一次
*首先给静态属性进行声明,并赋默认值,然后代码从上往下执行静态代码块或静态赋值
*每创建一个对象,就先实例化成员属性:
首先给成员属性声明,赋默认值,然后.执行赋值语句
*成员属性初始化后再调用构造方法
5.3.2垃圾回收机制
*java虚拟使用垃圾回收机制进行垃圾回收
*垃圾回收本身是一个线程(当内存不够用的时候,一般会进行垃圾回收)
*垃圾回收不能通过程序来调用,仅仅能够通过System.gc()建议虚拟机进行垃圾回收
*当进行垃圾回收时,会调用对象的finalize方法
5.4单例模式:
一个类仅仅能有一个实例(设计模式的一种)
*构造方法必须为私有的
*提供静态的方法来获得对象
*提供静态的属性,该属性是该类的一个对象
6.继承,抽象类,接口
6.1继承:
6.1.1继承的语法:
使用extends关键字表示继承
*子类继承父类所有的属性
*私有方法不能被继承
*super关键字表示父类的引用,可以用super来调用父类的方法或属性
6.2.2继承中的构造方法:
了解下面的知识点以及实例化对象时代码的执行过程
*子类的构造过程必须调用其基类的构造方法
*子类可以在自己的构造过程中使用super(arg_list)来调用基类的构造方法
*如果调用super,必须写在子类构造方法的第一行
*可以使用this(argument_list)调用本类的另外的构造方法
*如果子类的构造方法中没有显示的调用基类的构造方法,系统默认调用基类无参数的构造方法
*如果子类构造方法中既没有显式的调用基类构造方法,基类中又没有无参数的构造方法,编译出错
6.3.3对象的转型
*一个基类的引用类型变量可以指向其子类的对象
*一个基类的引用不可以访问其子类对象新增的成员
*可以使用instanceof关键字来判断一个引用类型变量所指向的对象是否是制定的类型
*子类的对象可以当作基类的对象来使用称作向上转型,反之称为向下转型
*子类可以当成父类来使用,无需显示转换
*父类引用转换为子类引用要进行强制转换
*注意:
不兼容的类型之间不能进行相互转换(只有具有直接或间接父子关系的类才是兼容的类型),否则编译时会报错
*注意:
兼容类型之间的转换要看对象的实际类型,因此向下转化时最好先用instanceof来判断是否是某个类型,在转换,以免报报错
6.4.4多态:
也称运行时绑定:
一般是指父类的引用指向子类对象,通过父类的引用调用被子类重写的方法,这个时候执行的是子类的方法
*一句话总结多态:
对象实际是什么类型就调用什么类型的方法
*多态成立的条件:
1,要有继承。
2,要有重写。
3,必须有父类引用指向子类对象。
6.2抽象类:
用abstract修饰的类称为抽象类(抽象的本意是不具体)
1.抽象方法不能有方法体
2.抽象类不能被实例化。
3.含有抽象方法的类必须被声明为抽象类,
4.子类继承抽象类,必须被重写父类的抽象方法,否则本身也必须被声明为抽象类
5.抽象类中的方法和属性没有其他规则来约束,抽象类中没有抽象的方法是可以的,抽象类中可以有非抽象的方法和属性
6.3static:
静态关键字
6.3.1static属性:
在类中,用static申明的成员变量叫静态变量,他为该类的公用变量,在第一使用时被初始化,对于该类的所有对象来说,static成员变量只有一份
6.3.2static方法:
用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以static方法中不可以访问非static的成员。
*静态方法中不能访问非静态成员
*静态成员方法没有this引用
*可以通过类名(不需要实例化)或对象引用来访问静态成员
6.4final关键字:
final表示最终的意思
*final的变量的值不能够被改变
*final的成员变量
*final的局部变量(形参)
*final的方法不能够被重写
*final的类不能够被继承
6.5接口:
interface
1.使用interface定义一个接口,使用implements实现一个接口
2.接口中的属性只能为publicstaticfinal类型(静态常量)
3.接口中的方法只能为publicabstract类型
4.一个类可以实现多个接口,但只能继承一个类
5.接口也可以继承接口
7.异常处理
java的异常处理机制
异常的关键字Exception
try,catch,finally,throw,throws关键字
7.1什么是异常,为什么要引入异常
*java程序运行时出错,java就抛出异常,程序立即终止(也可以说程序崩溃)
*java将错误信息封装在异常对象里抛出
*学会查看异常的信息:
异常的名字,异常的信息,程序抛异常的位置
*java引入异常处理机制,是防止程序出错崩溃
7.2java的异常的分类
*java的抛出的错误用异常类来表示,java拥有一个异常体系(有许多异常类,并且相互之间具有关系)
*java里面的所有异常都是Throwable的子类
*java虚拟机的异常是Error的子类,一般不需进行处理(因为没法进行处理)
*除Error之外还有Exception,Exception分为两类:
RuntimeException(运行时异常),被检查异常(除了RuntimeException都是被检查异常)
*RuntimeException(运行时异常,可以不捕获或声明抛出,编译不会报错,一般是控制不当造成的),可检查异常(必须捕获或声明抛出,这类异常通常需要检测并处理,一般使用资源时造成的)
*几个常见的异常:
NullPointerException(空指针),IndexOutOfBoundsException(索引越界),SQLException(数据库异常),IOException(文件异常)
7.3异常的处理方式
*使用try,catch,finally进行处理
*不处理,使用throws,throw交给别人来处理
7.4try,catch,finally中程序的运行过程
*尝试执行try里面的语句
*一次运行当中最多执行一个catch块,如果没有抛出异常,catch块不执行
*finally总会执行,不管有没有抛出异常
*如果try块里面有return语句,finally也会执行
7.5区分RuntimeExcepti
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 01 JAVA基础知识点总结 JAVA 基础 知识点 总结