java se知识点初步总结---附件附思维导图

JavaSE

基础语法

基本数据类型

整数型

字节型byte8位一个字节
byte最大:127
byte最小:-128

短整型short16位
Short最大:32767
Short最小:-32768

整数型int32位
int最大:2147483647
int最小:-2147483648

长整型long64位
long最大:9223372036854775807
long最小:-9223372036854775808

浮点型

单精度浮点型float32位
float最大:3.4028235E38
float最小:1.4E-45

双精度浮点型double64位
double最大:1.7976931348623157E308
double最小:4.9E-324

字符型

字符型char16位Unicode字符,在Java底层是以整数型进行运算;
最大值:char d = ‘\uffff’;
最小值:char c = ‘\u0000’;

布尔型

布尔型boolean一个字节表示逻辑运算的结果,值为true或false

自动类型转换,强制类型转换

类型转换优先级byte 、short、int、long、float、double、char

符合低优先级转高优先级的可以隐式的转换类型,即自动类型转换。否则需要强制转换类型,即手动确认要转换的类型,原因会有精度损失。char类型在运算时会优先转换为int型再参与运算。

运算符

算术运算符

+相加运算符两侧的纸

关系运算符

赋值运算符

逻辑运算符

位运算符

条件运算符

修饰符

访问修饰符

非访问修饰符

流程控制

分支语句

if-else

if(条件){
当条件为true时,执行大括号内的代码
}else if(条件){

}

switch-case

switch 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。当程序执行到break关键字时,跳出当前的switch语句;

循环语句

for

for(int i = 0 ; i < 10 ; i++){

}

while

while(条件){
当条件为true时,执行循环体内的代码;
}
备注:
满足循环的三个条件:初始化变量、关系运算、迭代

do-while

do{

}while(条件);
备注:与while循环的区别是,当条件为false时,也会被执行一次。

break 标签名 : 跳出该标签名后面的循环;
continue 标签名: 跳过该标签名的本次循环,继续进行下次迭代;

数组

数组的声明

Object[] arr = new Object[长度];

Object[] arr = new Object[]{o1,o2,o3};

Object[] arr = {o1,o2,o3};

数组的遍历

普通for循环

增强for循环:
语法:
for(数组类型 变量名 : 数组名){
System.out.println(变量名);
}

数组的排序

冒泡排序 从后往前依次确定元素,相邻的两个元素比较,互换位置;

选择排序 从前往后确定元素,让未确定的第一个数依次和后面的比较,互换位置;

快速排序

使用Arrays类的方法实现升序和降序排列

函数的声明和调用

返回值

当方法没有任何返回值时,方法声明语句中使用void关键字;
当方法有返回值时,返回值是什么数据类型,就声明为什么类型

参数列表,传参

在方法名后面的括号中声明;
参数的个数为大于等于0;
写法:方法名(类型 变量名,类型 变量名,……){}
参数是当前方法的局部变量,是一种特殊的局部变量;
参数的赋值过程,是在调用该方法时完成的;
当有多个参数,调用该方法时,依次按照括号中的顺序为参数赋值;
参数的类型可以为Java的任何数据类型;

抛出异常

方法的重载

概念:重载(overloading) 是在一个类里面,方法名字相同,而参数不同。与返回值类型、访问修饰符无关。
规则:
(1)参数的类型不同;
(2)参数个数不同;
(3)参数的顺序不同;

变量

实例变量

声明在所有方法体和代码块之外,并且没有使用static修饰的变量,叫做实例变量;

可以使用访问修饰符和final修饰;

使用final修饰时,一定要赋值;

实例变量是在对象被创建时创建,对象被销毁时销毁;

作用域范围在整个类中;

局部变量

声明在构造方法、静态方法、实例方法、代码块中的变量,都是局部变量;

不能使用static和访问修饰符修饰;

可以使用final修饰,即为常量,不必在声明语句中赋值;

当执行局部变量所在的方法或代码块时,才有机会被创建,在方法或代码块执行结束后被自动销毁;

局部变量在内存的栈区分配;

局部变量在使用之前必须要先赋值;

静态变量

声明在所有方法体和代码块之外,并且使用static修饰的变量;

可以使用访问修饰符修饰;

一般配合final使用,即public static fianl,标识符使用大写;

类变量被分配在静态存储区,是被所有该类的对象共享数据;

类变量是在程序开始时被创建,程序结束时销毁

面向对象

封装

私有的属性,公共的方法

继承

java是单继承,多层继承

多态

实现多态条件:
1、继承
2、方法重写
3、父类引用指向子类对象

抽象类

只要包含抽象方法的类都是抽象类

接口

是一个完全抽象的抽象类,用于制定标准

内部类

成员内部类 声明在类中,方法体、代码块之外。和成员变量、成员方法在同一级别。

//先实例化外部类
    Out o = new Out();
    //使用外部类对象,再实例化内部
    Out.Inner inner = o.new Inner();

静态内部类 声明在类中,方法体、代码块之外。和成员变量、成员方法在同一级别。

实例化静态内部的对象:
Out.Inner inner = new Out.Inner();

局部内部类 声明在方法体或代码块内,作用域范围在方法体或代码块内。

//实例化局部内部类
    Inner inner = new Inner();
    inner.print();

匿名内部类

 声明位置同局部内部类一样,前提条件:必须继承一个类或实现一个接口,匿名内部类的声明和实例化对象是同时进行的;
 一般使用于获得抽象类或接口对象;

语法:
父类名/接口名 对象名 = new 父类名/接口名(){
//匿名内部类成员
};

常用工具类

字符串

String

用于判断

contains(CharSequence c) 判断字符串中是否包含指定的字符序列;

startsWith(String s) 判断字符串是否以指定的前缀开始;

endsWith(String s) 判断字符串是否以指定的后缀结束;

indexOf(char c) 返回指定字符在字符串中第一次出现的索引;

lastIndexOf(char c) 返回指定字符在字符串中最后一次出现的索引;

isEmpty() 当且仅当字符串长度为0时,返回true;

截取字符串

split(String s) 根据指定的规则拆分字符串,返回字符串数组;

subString(int begin,int end) 按照指定的索引截取字符串,从begin(包含)开始,到end(不包含)结束;

字符串转换

replace(char old,char new) 把字符串中的old字符替换为new字符,然后返回一个新字符串

toLowerCase()把字符串的英文字母全部转为小写

toUpperCase()把字符串的英文字母全部转为大写

toCharArray()把字符串转为字符数组

valueOf()把指定类型的数据转为字符串类型

getBytes()

StringBuffer可变字符序列线程安全

StringBuilder可变字符序列线程不安全

数学运算

MathMath类是数学相关的操作工具类

Random获取伪随机数的类

时间日期

Date Date():创建日期对象;
Date(long t):根据时间戳创建日期对象

after(Date d):当前日期对象是否在指定日期之后;
before(Date d):当前日期对象是否在指定日期之前;
getTime():获得当前的时间戳;
setTime(long t):设置时间对象的具体时间为指定的时间戳;

Calendar

add(int field,int value):计算时间日期的偏移量;

getTime():获得Date类型的日期对象;

getTimeInMillis():获得时间戳;

get(int field):获得时间数据;

set(int field,int value):设置具体的时间;

set(year,month,day,hour,minute,second):通过参数直接设置具体时间;

setTime(Date d):把Date类型转为Calendar类型;

Calendar的子类GregorianCalendar,是格里高利日历,常用的方法:

isLeapYear(int year):判断指定年份是否为闰年,是闰年返回true;

SimpleDateFormat

格式化日期

解析日期

获取时间戳,使用时间戳转换日期类型

集合

Collection

List

实现类:ArrayList

添加方法

add(Object obj):添加元素;

add(int i,Object o):在指定位置处添加元素;

addAll(Collection c):把一个集合内的元素依次添加到当前集合;

addAll(int i,Collection c):把一个集合内的元素添加到当前集合的指定位置;

修改方法

set(int i,Object o):修改指定位置的元素,返回被修改的原对象;

删除方法

remove(int i):删除指定位置的元素,返回指定位置的元素;

remove(Object o):删除指定的对象,删除成功返回true;

removeAll(Collection c):从列表中移除指定集合中包含的其所有元素,删除成功返回true;

clear():清除集合中的所有元素;

遍历方法

contains(Object o):判断集合中是否包含指定的元素,包含返回true;

indexOf(Object o):返回指定元素在集合中第一次出现的下标;

lastIndexOf(Object o):返回指定元素在集合中最后一次出现的下标;

isEmpty():当且仅当集合长度为0时,返回true;

subList(int start,int end);截取集合,下标从start开始(包含),到end结束(不包含),返回一个新的集合

排序方法

Set

实现类:HashSet

添加方法

修改方法

删除方法

遍历方法

Map

实现类:HashMap

添加方法

修改方法

删除方法

遍历方法

IO流

File

创建的方法

修改文件的方法

获取文件信息的方法

删除文件

判断文件

输入流

字节输入流:InputStream

FileInputStream

ObjectInputStream 反序列化

字符输入流:Reader

InputStreamReader(InputStream is)

FileReader(String fileName)

缓冲输入流

BufferedReader(Reader in) 是Reader的子类

输出流

字节输出流:OutputStream

FileOutputStream

ObjectOutputStream 序列化

字符输出流:Writer

OutputStreamWriter(OutputStream out)

FileWriter(String fileName)

缓冲输出流

BufferedWriter(Writer out) 是Writer的子类

多线程

创建线程

继承Thread类

实现Runnable接口

使用 Thread(Runnable target) 创建线程对象

线程的生命周期

新建状态

就绪状态(调用start方法后)

运行状态(获取CPU调度之后)

阻塞状态

死亡状态

常用方法

获取线程信息

设置线程的方法

线程控制

问题:

线程同步

解决:对象锁

死锁

解决:wait(),notify()

异常

Exception

自定义异常

java特性

Java反射机制

类的反射

方法的反射

属性的反射

泛型

泛型类

泛型方法

注解

操作配置文件

json

xml

properties

网络编程

URL类

TCP/IP

Socket

ServerSocket

UDP

设计模式

单例模式

工厂模式

适配器模式

代理模式

责任链模式

观察者模式

MVC设计模式

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值