Java基础(JavaSE)
1、Java 基础语法;
1、1 注释
- 行内注释 //
- 多行注释 /**/
- 文档注释 /** */ - javadoc 生成帮助文档
1、2 标识符
- 关键字
1、3 数据类型
1、基本数据类型:四类八种
- 整数
- byte - 1byte
- short - 2byte
- int【默认】 - 4byte
- long - 8byte
- (拓展:进制转换 二进制 - 0b -、十六进制 - 0x 、8进制 - 0)
- 浮点数
- float - 4byte
- double【默认】- 8byte
- (拓展 - 金融计算不能使用 float和double ,要使用 BigDecimal)
- 字符
- char - 2byte
- (拓展 ASCII编码-1字节、UTF-8编码-3字节、Unicode-2字节)
- (拓展:
\u0000
转义字符)- \b
- \n
- \r
- \t
- \\
- \"
- \'
- 布尔值
- boolen- 1位(0或1)
- (拓展 if(a) )
2、引用数据类型
- 类
- 接口
- 数组
3、类型转换
- 自动类型转换
- 低转高(子类转父类)
- 强制类型转换
- 高转低(父类转子类) - 格式:(低)高 - (int)long
- 高低的概念在数字里面就是字节数,在类里面就是 子类 - 父类
1、4 变量和常量
1、type varName [= value];
2、作用域
- 类变量 - static 修饰变量(静态变量)
- 实例变量 - static去掉 (在类内方法外)-全局变量
- 局部变量(成员变量)- 方法内
3、常量
- final MAX_A = 10;常量必须全部大写,单词隔开用下划线
4、命名规范
- 见名知意
- 驼峰命名 - 用在变量和方法上
- 类命名 - 是首字母大写+驼峰命名
- 常量 - 大写+下划线
- 不要使用拼音和中文
1、5 运算符
1、算数运算符:+ 、- 、* 、/、%、++、--
2、赋值运算符:=
3、关系运算符:>、<、>=、<=、==、!= 、instanceof
4、逻辑运算符:&&、||、!
5、位运算符:&、|、^、~、>>、<<、>>>
6、条件运算符:?:
7、扩展运算符:+= 、-=、*=、/=
1、6 JavaDoc
1、JDK 帮助文档
2、命令 javadoc
生成文档
1、7 流程控制
1、Scanner 用户交互 System.in
2、顺序结构:自上而下的执行
3、选择结构
- if 单选择结构
- if - else 双选择结构
- if - else if - else 多选择结构
- switch
- (JDK7 支持了String类型)
- case穿透现象
- break
- default
4、分支结构(循环结构)
- while:尽量避免死循环
- do... while
- for - 可计次数一般用for循环 ,不可计次数一般用while 循环
- for(int i=0;i<100;i++)
- 经典案例 - 99 乘法表
- 增强for循环
- break & continue
- break 跳出循环
- continue 终止当此循环,继续下次循环
- (带标签的continue 废弃的)
- return 结束方法的运行;
1、8 方法
1、什么是方法?- 语句块的集合
2、方法的定义
修饰符 返回值 方法名(参数名){ return 返回值;}
3、方法的调用
- 类名.方法
- 对象.方法
4、方法重载
- 名字相同,方法形参列表不同;
5、命令行传参 - 给mian 方法传递参数 (涉及JVM调优)
- main 方法是自带了参数的,可以通过命令行的方式传递参数进运行程序;
1、9 数组
1、数组的定义
- new int[5]
- {1,2,3,4,5}
- 数组必须是同一个类型
2、数组的使用
- 通过下标拿到值
- ArrayIndexoutofBounds - 数组下标越界异常
- 通过增强for循环遍历
3、二维数组 :
- int[ ] [ ]
4、Arrays类(工具类)
5、排序算法(第一个数据结构)
- 冒泡排序
- 选择排序
- 插入排序
- 快速排序
- 归并排序
- 希尔排序
- 堆排序
- 桶排序(基数排序)
2、面向对象:一切皆对象
2、1 类和对象
1、类是对象的抽象:模板Class;
2、对象是类的具体
2、2 构造方法
1、构造方法的重载
2、默认的无参构造
- 如果手动定义了有参构造,就必须要手动加一个无参构造;
- 单例模式,需要构造器私有;
2、3 new对象
1、栈存放引用,堆存放具体的对象
2、4 三大特性:封装、继承、多态
1、封装属性私有:get、set 方法;
2、继承
- extends 继承关键字
- Object 是所有类的老祖宗
- 子类拥有父类的特性
- 方法重写
- this
- super
- Java 是单继承,只能继承一个父类,但是可以实现多个接口;
3、多态
- 父类的引用指向子类的对象 Person person = new Student();
- instanceof 关键字,如果匹配,可以进行类型之间的转换;
2、5 修饰符
1、public
2、protected
3、private
4、static
5、fina
6、abstract
2、6 接口
1、interface
2、特性:
约束,只能定义方法名;
子类实现接口必须重写其中的方法;
3、函数式接口:只有一个方法的接口,可以使用lambda表达式简化;
4、接口比抽象类更抽象;
- 抽象类里可以有具体的实现,接口不能有方法的具体实现,实现交给实现类进行;
2、7 内部类
1、局部内部类
2、静态内部类
3、匿名内部类(重点) - 可以被lambda表达式简写;
4、普通内部类
3、异常;
3、1 Throwable 异常的总结口
1、Exception
- 运行时异常(一般处理运行时异常)
- 1/0
- ClassNotFound
- NullPoint
- UnKnwoType
- 下标越界异常
- 编译时异常(检查型异常)
2、Error
- AWT错误
- JVM错误
- StackOverFlow 栈溢出
- Out.........