Java中的规范
注释
//单行注释
/*
多行注释
*/
/**
文档注释
*/
命名规范
命名时可以包含:字母、数字以及 下划线和 $ 符号等等。
但是不能以数字开头,也不能是关键字,且严格区分大小写。
类名:每个单词的首字母大写(大驼峰);
方法名:首字母小写,后面每个单词的首字母大写(小驼峰);
变量名:也用小驼峰;
包名:也用小驼峰;
接口名:大驼峰,一般加上首个字母写大写I;
异常名:大驼峰,一般最后以单词Exception结尾。
数据类型与变量
具体介绍在这篇文章:数据类型与变量详解
八大基本数据类型
整数:byte short int long;
浮点数:float double;
字符:char;
布尔类型:boolean;
除了int和char的包装类是Integer和character,其它都是将首字母大写,如long对应Long。
引用数据类型
类class;接口interface;数组[ ];字符串变量String。
变量
简单说一下规则:
访问修饰限定符 数据类型 变量名 = ;
如果是引用数据类型在等号后面就跟相应的实例化
是基本数据类型直接赋值就行
运算符
运算符的详细解析在这篇文章:运算符详解
算数运算符
加: +
减 :-
乘:*
除:/
取余:%
在除法时两边为整数结果为整数,Java中小数可以取余。
增量运算符
+=,-=,*=,/=,%=。
其实就是对算数运算符使用的一个简写,如a = a + 10和a += 10两个等价。
自增/减运算符
++ ,–。
口诀:前置先加加/减减,在运算;后置置先运算,再加加/减减。
关系运算符
相等 ==
不等 !=
大于 >
小于 <
大于等于 >=
小于等于 <=
逻辑运算符
逻辑与 &&
逻辑或 ||
逻辑非 !
注意逻辑短路现象,就是逻辑运算符两边的表达式只执行前面就决定了值,后面表达式就不会执行。
位运算符
按位与 & :对应位有0就是0
按位或 | :对应位有1就是1
按位异或 ^ :对应位相同位0,不同为1
按位取反 ~ :0,1互换
移位运算符
左移 <<
右移 >>
无符号右移 >>>
条件运算符(3目运算符)
表达式1?表达式2:表达式3
程序逻辑控制
程序逻辑控制的详细解析在这篇文章:程序逻辑控制详解
顺序结构
分支结构
if-else语句,switch-case语句。
循环结构
while循环,do-while循环,for循环。注意continue(除该次循环进入下一次)和break(出循环)的区别。
方法
详解方法在这篇文章:方法详解
方法定义格式
修饰符 返回值类型 方法名(参数表列){
}
方法重载
方法名同,参数一定要有不同,返回值无关。
递归
自己调用自己,使用时注意结束条件。
数组
详细讲解数组在这篇文章:数组详解
定义格式
类型 [] 数组名 = ;
在等号右边3种方式
1.{}
2.new 类型[]{}
3.new 类型[] //长度不能省
二维数组定义格式
类型 [][] 数组名 = ;
在等号右边3种方式:
1.{{},{},{},······}
2.new 类型[][]{{},{},{},······}
3.new 类型[][] //行不能省
遍历
使用循环遍历。
类和对象
类与对象的详解写了多篇文章,在写到具体内容时再给出详解文章链接。
类定义格式,类实例化
类定义以及实例化详解文章:类定义,实例化详解
class 类名{
//成员变量
//成员方法
}
通过new关键字实例化对象。
this引用
我们通常在类中成员方法用this来引用当前成员,防止成员与形参同名报错。
构造方法
方法名与类名一样的成员方法,在实例化对象时会自动调用。
封装
详细介绍封装在这篇文章:封装详解
封装就是访问限定修饰符给的不一样,让类,类的成员的访问权限不一样。
访问修饰限定符
private,default,protected,public。
static关键字
就记住static修饰的不依赖对象就行。
继承
详解继承在这篇文章:详解继承
继承之间使用关键字extends,子类会继承父类的一切。如果一个类不希望被继承就使用final修饰。
super
子类调用父类成员可以使用关键字super。
多态
向上转型和向下转型
将子类向父类转型为向上转型。
将父类向子类转型(强转)为向下转型。
向下转型要注意父类(有多个子类)是该子类转型过来的,一般使用instanceof关键字来判断。
重写
重写的格式:方法名,参数表列,返回类型(可以是父子类关系)都要相同。
重写的条件:继承体系下,方法不被private,static,final修饰;重写方法权限>=被重写方法。
重写重载区别:
抽象类
详解抽象类在这篇文章:抽象类详解
abstract关键字
被abstract修饰的类叫抽象类,修饰的方法叫抽象方法。
抽象类与普通类的区别就是可以包含抽象方法。
抽象方法
抽象方法可以没有具体实现,但是被子类继承一定要被重写。
因为抽象方法是必须被重写的,所以重写条件也适用。
接口
详解接口在这篇文章:接口详解
interface关键字
使用interface关键字修饰类就是接口,
‘子类’用implement实现接口。
接口特性
里面的方法默认为public abstract修饰。只能有default修饰的具体方法,JDK9后可以有private修饰的方法。
接口不能被实例化。
内部类
详解内部类在这篇文章:内部类详解
静态内部类,实例内部类,局部内部类,匿名内部类。
比较器
详解比较器在这篇文章:比较器详解
Comparable接口
一般要实现Comparable接口,重写CompareTo方法来比较。
Comparator接口
实现Comparator接口然后重写compare方法就可以实现自己的比较条件。
深拷贝与浅拷贝
详解深拷贝与浅拷贝在这篇文章:深拷贝与浅拷贝详解
拷贝都要实现Cloneable接口。
深拷贝与浅拷贝的区别就是深拷贝是重新开辟空间,浅拷贝是直接指向原来的空间。
String常用操作
详解String常用操作在这篇文章:String常用操作详解
要记住对String的改变都不会对原字符串进行改变。
异常
详解异常常用操作在这篇文章:
异常分类:运行时异常和编译时异常。
throw抛异常,try捕获异常,catch处理异常。
自定义异常:实现类然后继承运行时异常(RunTimeException)或 编译时异常(Exception)。