java
基本知识
命名规则
小驼峰命名法:适用于变量名和方法名
如果是一个单词,那么全部小写,比如:name
如果是多个单词,那么从第二个单词开始,首字母大写,比如:firstName、maxAge
大驼峰命名法:适用于类名
如果是一个单词,那么首字母大写。
如果是多个单词,那么每一个单词首字母都需要大写。
> 注 :
>
> 1. 变量名只能包括字母、数字、下划线、$符号组成
>
> 2.不能以数字开头
>
> 3.不能是java关键字
数据类型及其转化
基本数据类型及其转化
数据类型
布尔类型 : bool(只要不是0全都为真)---默认false
整型 :byte < short < int(默认)
浮点型 : float + 字符型 : char
转化
隐式转换
byte、short、char-->int-->long-->float-->double
强制转换
//目标数据类型 变量名 = (目标数据类型)被强转的数据;
public class Mandatory {
public static void main(String[] args) {
double x = 1.3;
int y = (int) x;
System.out.println(y); //1
}
}
引用数据类型
变量名称存储的不是数据而是地址
举例
- 字符串(特殊:可以通过变量名直接进行赋值操作)
- 数组(一维数组,多维数组)
- 链表
- 类
- ......
转换
- 隐式转换--子类到父类
- 强制转换(可能会出错)--父类到子类
运算符及其优先级
最高级:
出现同级别运算符时的结合方向是从左往右(下面级别没写结合顺序时,默认是从左往右)。
( )圆括号
[ ]下标运算符号
->指向结构体成员运算符
->相当于*加上.,先解引用在访问结构体成员
- . 结构体成员运算符
-
:
-- ++(后置)
第二级
!、~、++、-–(前置)、-、+(取正,取负)、*、&、(类型)类型转换操作符、sizeof()。
这一级都是单目运算符号,这一级的结合方向是从右向左。
比如出现*p++,这时*和++同级别,先算右边,再左边。
所以*p++等价于*(p++),而不是(*p)++。
第三级
-> *和.*
第四级:算术运算符
+、-、*、/、%
第五级:移位运算符
<>
第六级:比较运算符
<、、>=、!=、==
第七级:按位运算符
&、^、|
第八级:逻辑运算符
&&、||
第九级:三目运算符
? : 注意:非结合
第十级:赋值运算符
=、+=、-+、*=、/=、%=
这些运算符也叫做,除此之外,>>=、< + if , else if , else
- switch
循环语句
for , while
类
内容
成员变量
成员方法
> 注意区分成员和局部变量的区别
饰符 / 控制符
- private:只能在同一个类中被访问。
- protected:可以在同一个类中,同一个包中,和不同包中的子类中被访问。
- public:访问范围最广,一般都可以访问。
- default(不加修饰符) : 则只能在同一个类和同一个包中,这2中情况下访问
其他修饰符 / 非访问控制符
- static:静态的,非实例的,类的
可以修饰内部类,也可以修饰成员- final:最终的,不可改变的
可以修饰 类,成员,局部变量- abstract:抽象的,不可实例化的
可以修饰 类,成员
面向对象
1. 继承性
内容 : 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
- extends
- 私有的东西是无法继承的
- 所有的类都直接或者间接的继承了Object类
2. 封装性
一个类被加载后,类的整个结构都会被封装在Class对象中
作用:
- 提高程序的安全性,保护数据
- 隐藏代码的细节
- 统一接口
- 系统的可维护性增加了
3. 多态性
使用: 将子类对象赋值给父类
多态分为编译时多态和运行时多态:
编译时多态主要指方法的重载
运行时多态指程序中定义的对象引用所指向的具体类型在运行期间才确定
> 编译看左边,运行看右边.
运行时多态有三个条件:
- 继承
- 覆盖(重写)
- 向上转型