异常错误总结
ArrayIndexOutofBoundException 数组索引越界异常
NullPointerException 空指针异常
NegativeArraySizeException 负数组长度异常
InputMisMatchException 输入类型不匹配
StackOverFlowError 栈溢出错误
NumberFormatException 数字格式转化异常
ClassCastException 造型异常
IllegalArgumentException 非法的参数异常
一 java基础
1 配置java家目录和环境变量
1 JAVA_HOME=D:\Java\jdk1.8 bin的上一级目录
2 path=;%JAVA_HOME%\bin
2 数据类型
基本数据类型 8个
整型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean
引用数据类型
数组[]
类(抽象类)class
接口interface
枚举enum
注解@interface
3 常量和变量
1 常量
1)固定不变的值
2)特殊的引用类型String(new 出来的不是)
3)final修饰的变量
2 常量
1) 变量指的是 程序执行过程中可以改变的
变量是一个内存空间(小容器)
变量空间在创建(声明)的时候 必须指定数据类型 变量空间的名字
变量空间 里面只能存储一个内容(值 引用)
变量空间内的内容可以改变
2)需要注意:
变量是一个空间 可以只创建空间 里面不存放内容
变量空间创建后是没有默认的内容 空的
空的变量空间不能拿来使用 编译错误
4 java命名规则
规约
类名字 首字母大写 两个单词以上 每一个首字母都大写
Test TestOne TestOneTwo
属性/方法/变量 驼峰式命名规约 首字母小写 两个单词以上 第二个以后的每一个首字母大写
test testOne testOneTwo
构造方法 与类名一致 类中唯一的大写字母开头的方法
静态常量 全部字母大写 通过_做具体说明 BOOKSTORE_ADMIN
包名 全部字母小写 Java关键字都是小写 注意与关键字不要冲突
所有的名字最好--->见名知意(增强可读性 层次关系缩进 见名知意 注释)
5 java编译错误和运行错误的区分
1.编译错误一般指语法错误或者很明显的逻辑错误。
如:缺少分号,少写括号......
在eclipse往往会画红线;
2.运行错误是在没有编译错误的基础上运行后产生的错误。
如:空指针异常,除数为0......
6 java注释
1.单行注释
//
2.多行注释
/*
*/
3.文档注释
/**
*/
7 数据类型转换
1 基本数据类型
1)整数型之间
小的数据类型可以直接赋值给大的数据类型
大的数据类型可以自动(直接从常量池取值)或者强制(有表达式操作,可能会有精度损失)赋值给小的数据类型
2)整数型和浮点型
整数型可以直接赋值给浮点型,因为浮点型数据精度更高
浮点型赋值给整数型需要强制转换
3)整数型和字符型
字符型赋值给整数型时,可以自动转换
整数型赋值给字符型时,需要强制转换
4)布尔型
不支持转换
8 运算符
1 算术运算符
+ - * / %(取余 取模)
i++ :先将值复制到缓存空间,然后自增,参与计算的是缓存空间的值。
++i :先自增,然后复制到缓存空间,参与计算的是缓存空间的值
i=i++ i永远不变,顺序是先复制到缓存空间,然后自增,然后缓存空间的值将自增的值覆盖掉。
2 赋值运算符
+= -= *= /= %=
3 逻辑运算符
逻辑运算符前后连接的两个都是boolean的值 & |
4 关系运算符
> >= < <= != == (对象 instanceof 类)
5 位运算符
&按位与 | 按位或 ^按位异或 ~按位取反
<<按位左位移 >>按位右位移 >>>按位右位移(无符号)
原码:00000000 00000000 00000000 00000110 10000000 00000000 00000000 00000110
反码:00000000 00000000 00000000 00000110 11111111 11111111 11111111 11111001 符号不动 其余取反
补码:00000000 00000000 00000000 00000110 11111111 11111111 11111111 11111010 反码+1
计算机中不管是整数还是负数 存储的形式都是以补码形式来存储
注意 反码是一种表示形式 取反是一个计算过程(每一个位置都取反)
9 语法结构
1 单分支
if(判断条件语句){
执行语句
}else if(判断条件语句){
执行语句
}else if(判断条件语句){
执行语句
}else{
默认语句
}
2 多分支
switch(值){//byte short int char 1.5 enum 1.7 string
case 值1:
代码一;
break;//可有可无
case 值2:
代码二;
break;//可有可无
default:
代码块
}
3 for循环
for(初始条件语句;判断条件语句;控制条件语句){
执行语句
}
4 while语句
初始化语句
while(判断条件语句){
执行语句;
控制条件语句;
}
5 初始化语句
do{
执行语句;
控制条件语句;
}while(条件判断语句) 至少会执行一次
10 数组
数组是一组数据类型相同的数据的组合,将这些数据统一的管理起来
数组本身是一个引用数据类型,数组内存储的类型可以是基本类型 也可以是引用类型
数组的特点
1.数组本身是一个引用数据类型
2.数组是在堆内存中的一串连续的地址存在
3.数组在初始化时必须指定长度
4.堆内存的数组空间长度一旦确定 不能再次发生改变
5.栈内存的变量中存储的是数组的地址引用
6.数组内部存储的类型可以是基本的 也可以是引用
数组的赋值(初始化)
静态初始化 有长度 有元素
int[] array = {10,20,30,40,50};
int[] array = new int[]{10,20,30};
动态初始化 有长度 没有元素(不是真的没有 默认值)
int[] array = new int[5];
整数默认值---0
浮点数默认值---0.0
字符型默认值--- 0---char 97-a 65-A 48-'0'
布尔型默认值--- false
引用数据默认值--- null String[]