此篇文章主要是想让大家帮忙看看整个框架对不对,内容并未全部补齐,部分都是网上摘抄下来的,后面会补齐!
JavaSE_基础知识扫盲
- First Chapter:two week time
1 Java语言概述
2 Java的运行环境
2.1 JDK配置及目录说明
2.2 IDE的熟悉和使用
3 Java基本程序结构
3.1 基本数据类型
整数型
- 整形:int
长整型:longerInt
短整型:shortInt
浮点型
- 单精度:float
双精度:double
布尔类型
- 布尔类型:boolean
字符型
- 字符型:char
- 其他:引用类型(对象类型):String
3.2 运算符
逻辑运算符
- 与运算符:&&
或运算符:||
非运算符:!
算术运算符
- 加:+
减:-
乘:*
除:/
取模(取余数):%
关系运算符
- 大:>
小:<
相等:==
3.3 字符串
3.4 流程控制语句
3.4.1 判断语句
- If判断语句
- If(判断条件){
// 条件成立,则执行该代码块
}
- If(判断条件){
- If-else判断语句
- If(判断条件){
// 执行代码块1
}// 如果判断条件不成立
else{
// 执行代码块2
}
- If(判断条件){
3.4.2 选择语句
-
多重if-else 选择语句
- if(判断条件1){
// 条件 1 满足执行代码块 1
}else if(判断条件2){
// 条件 2 满足执行代码块 2
}else if(判断条件3){
// 条件 3 满足执行代码块 3
}else if…
- if(判断条件1){
-
Switch 选择结构
- switch(情况值){
case 1:
// 代码块1
break;
case 2:
// 代码块2
break;
case 3:
// 代码块3
break;
case …
. // 代码块
.
.
default:
// default 代码块
break;
}
- switch(情况值){
3.4.3 循环语句
- while 循环语句
- while(循环条件1){
// 循环体 1
}
- while(循环条件1){
- do-while 循环语句
- do{
// 循环体 1
}while(循环条件1);
for 循环语句
for(声明赋值循环变量;循环体执行的条件;循环变量的改值){
// 循环体 1
}
- do{
3.4.4 数组
-
数组声明和初始化的大致步骤以及几种方式
- // 数组声明
数组类型[] 数组名;
// 声明后不直接赋值,只定义数据长度,后期赋值
数组名 = new 数据类型[数据长度];
或者
// 声明后直接赋值,数据长度由数组元素确定
数组名 = new 数据类型[]{元素1,元素2,元素3,…};
- // 数组声明
-
固定数组的修改和访问
// 数组一般小标从 0 开始
// 数组值得修改
数组名[数组下标] = 对应数据类型的数组值; -
// 数组值得访问
数组名[数组下标];
- Second Chapter:two week time
4 类和对象
4.1 类的定义和使用
4.1.1 类的定义
- 定义关键字:class
- 使用:类是一个模板,可以实例无数个对象
4.2 静态属性及方法
4.2.1 静态变量或方法
- 定义关键字:static,非静态方法内不允许定义静态方变量以及方法
- 调用:静态方法内直接调用静态变量,而静态方法需通过实例对象来调用(public)非静态得方法和属性
4.3 继承
4.3.1 关键字:extends
4.4 包管理
4.5 枚举
4.5.1 关键字:menu
4.6 反射
5 接口&抽象类
5.1 接口的定义及实现
5.1.1 定义关键字:interface
5.1.2 实现途径:接口只能用于继承,后代强制实现或重写接口类的方法
5.2 抽象类的定义及实现
5.2.1 定义关键字:abstract
5.2.2 实现途径:
6 发布和部署
6.1 JAR包概述
6.2 创建JAR
6.3 引用JAR
- Thrid Chapter:one week time
7 泛型
7.1 泛型类
7.2 泛型方法
8 集合
8.1 集合接口
8.1.1 Set
8.2 列表
8.3 Map
8.4 树
8.5 排序和查找
- Fourth Chapter:one week time
9 异常与调试
9.1 内置异常
9.1.1 基本异常
-
算术异常类:ArithmeticExecption
-
空指针异常类:NullPointerException
-
类型强制转换异常:ClassCastException
-
数组负下标异常:NegativeArrayException
-
数组下标越界异常:ArrayIndexOutOfBoundsException
-
违背安全原则异常:SecturityException
-
文件已结束异常:EOFException
-
文件未找到异常:FileNotFoundException
-
字符串转换为数字异常:NumberFormatException
9.1.2 常见异常
-
1.、java.lang.nullpointerexception
- 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,
这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。
对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。
数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)
- 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,
-
2.、java.lang.classnotfoundexception
- 这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",
这里主要考虑一下类的名称和路径是否正确即可,如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。
- 这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",
-
3.、java.lang.arithmeticexception
- 这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,
对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。
- 这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,
-
4.、java.lang.arrayindexoutofboundsexception
- 这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,
因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,
一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了, - 还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。
- 这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,
-
5、 java.lang.illegalargumentexception
- 这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,
比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setcolor(int red,int green,int blue)这个方法中的三个值,
如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。
- 这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,
-
6、 java.lang.illegalaccessexception
- 这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。
对程序中用了package的情况下要注意这个异常。
- 这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。
9.2 声明异常
9.2.1 声明异常类型的关键字:throws
9.2.2 实现异常的关键字:throw
9.3 自定义异常
9.3.1 自定义异常类的几个途径:
- 继承Exception 或者
继承 内置异常类比如:算术,空指针,越界等,重写其构造方法- 示例:
public class CustomException extends Exception {
//无参构造方法
public CustomException(){
super();
}
//有参的构造方法
public CustomException(String message){
super(message);
}
// 用指定的详细信息和原因构造一个新的异常
public CustomException(String message, Throwable cause){
super(message,cause);
}
//用指定原因构造一个新的异常
public CustomException(Throwable cause) {
super(cause);
}
}