Review Java

Ⅰ. java基础
1. 变量
数据类型:
(1). 基本数据类型 : byte[1字节] short[2字节] int[4字节] long[8字节] float[4字节] double[8字节] boolean[1字节] char[2字节]
(2). 引用数据类型,类 接口 枚举 数组
变量名(命名规则) :
1. 由数字,字母,下划线_,美元符号$
2. 不能以数字开头 3. 不能使用java关键字
3. 习惯: 类名接口第一字母大写

2. 运算符(按照优先级先后顺序排列)
(1). 算术运算符 +,-,*,/,%,++(++在前先+1再运算,++在后先运算再+1),--(同理)
例子 : int a=1;int b =(++a);b=2
(2). 关系运算符。>,>=,<,<=,==,!= 得到的结果一定是boolean值。
(3). 逻辑运算符。 连接多个关系运算的。 &&[这两个关系运算符得到的结果都为true是才为true] || [两个关系运算符只要有一个为true,就是true] !
(4). 赋值运算符。=,+=,-=,*=,/=,%=
3. 控制语句
if(条件){}

if(条件){}else{}

if(条件){}else if(条件){} ...else{}

switch(表达式){ //switch表达式的值得类型byte short char int String
case 值1: break;
case 值2: break;
case 值3: break;
default: break;
}
// 每一个case得值不能重复。
// default 找到不匹配的case时执行default的语句。
// break执行完对应的case后 跳出switch语句。 如果没有使用break则找到匹配的case后 会把后面所有的语句都执行。

while(条件){//条件是boolean值。 }

do{//循环开始千执行一次}while(条件);

for(初始值;条件;变化){ //初始值只会被执行一次. }

4.数组:
数据类型[] 变量名=new 数据类型[长度];
数据类型[] 变量名={值,值,值,值};

排序: 冒泡排序(外层从一始,内存减i去...) 快速排序 选择排序【擂台排序】。

Ⅱ. java 面向对象
1. 类和对象
类 :具有相同属性和行为的一组对象的集合.抽象的概念。
对象 : 万事万物皆为对象,具体存在的实物

2. 如何定义类 :
public class 类名(
// 成员变量
// 成员方法
)

// 根据类创建对象
类名 对象名 = new 类名();
// 通过对象如何调用类中成员
对象名.成员变量;
对象名.成员方法(实参);

3. 三大特性 :
封装 : 把类中成员使用private封装,使法直接调用 ---为了安全
一般 :封装属性,并且生成getter/setter 方法 使用alt+insert自动生成

继承 : 一个子类继承父类父类中的成员 extends....
public class 子类名 extends 父类名()

over load重载 和 override重写
over load(重载) : 在同一个类中,出现方法名相同但参数列表不同的方法,不考虑返回类型,这些方法就是方法重载
override(重写) : 在父类和子类之间,在子类中出现了和父类方法名一样,参数列表一样,返回值一样,访问修饰符不能小于父类的访问修饰符,抛出异常不能大于父类中,子类出现这种方法就是重写

访问修饰符 :
public :同一个工程下都可以范围跟
protected : 同包或者不同包下的子类可以访问
默认(就是不写) : 同包访问
private : 同类下可以访问

多态 :一个对象具有多种形态
父类声明 对象名 =new 子类对象();//向上转型 对象名.方法(); 调用的是子类重写后的方法
能调用那些方法看=(等号左边),实际调用=(等号右边)
子类声明 对象名 =(子类)父类对象;//向下转型

抽象类和接口 :
抽象类 :只能被继承,因为他不能实例化对象,抽象类中可以有构造,抽象类中可以有非抽象方法 ,抽象类中的属性可以是普通属性也可以是静态属性
接口 :可以被多实现,没有构造方法,全是抽象方法[jdk1.8后出现了默认方法和静态方法],接口中的属性全是静态常量
一个子类,可以继承多个接口,但只能继承一个抽象类


异常处理 :
try()cathcah(异常类型 对象){}
throws 抛出异常 ----> throws加在方法参数的后面,谁调用方法谁处理异常

集合 :
Collection :
list :有序,可重复
Arraylist : 底层数组 :查询快 缺点:插入和删除慢(前提不是尾部元素)
LinkedList : 底层链表 :删除和插入快,查询慢
Vector :
set :无序不可重复
HashSet : 底层是按照hash表执行,先按照hashcode表比对如果hash值相同【hash冲突】,则按照equals方法比对,如果equals也相同则视为同一个元素
TreeSet : 底层树形结构,排好序的
LinkHashSet : 排好序的,按照添加的顺序

Map :
Hashmap : 底层原理 :map.put(key,value); map.get(key); 数组,链表,【链表超过八个】红黑树
Treemap 

posted @ 2021-10-19 08:46  Oner_z  阅读(31)  评论(0)    收藏  举报