变量
-
1)变量的声明、初始化、使用
-
2)规则:变量的命名,字母,数字,下划线,&
3)规范:驼峰命名法
数据类型
-
基本数据类型
- 4个整数2个小数2个非数,boolean byte short char int float long double 4)数据类型转换
-
自动(隐使)转换
强制(显示)转换
运算符
-
算数运算符 + - * /
关系运算符 > < = >= <= == — !=
逻辑运算符 && || !
赋值 =——-=——/=——*=——%=
自加自减 ++——-=
三目运算符:(条件)?(真):(假);
分支结构
- if(t条件){条件为真执行的结构}
-
双分支if(条件){
条件为真执行的结果
}else{
条件为假执行的结果
}
多分支
- if(){}else if() ,数量不限 else 可以省略
- 2)switch break:终止结构,ease穿透 1)循环结构
-
1)循环要素:
1.1)循环变量,循环条件,循环操作,变量更新。
1) while:
1.1)先判断后执行,初始条件不满足一次都不执行
2) do while先执行后判断,初始条件不满足也执行一次
3) for:
3.1)先判断后执行,特别适合于循环次数固定的循环
3.2) breake和continue
2)数组
-
2.1)声明\初始化\使用\遍历
数组复制,数组扩容,数组排序
方法
-
1)无参无返回值
2)无参有返回值
3)有参有返回值
面向对象
-
1)类和对象
- 1.1)先有类,在有对象
-
1.2)定义类\属性,方法
1.3)实例化对象 ,对象点属性,对象点方法
2)构造方法和方法重载
public 类名();可以重载
2)引用类型数组
-
2.1)Dog[] dogs=new Dog[5];
2.2)引用类型数组默认值元素是null
3)继承
- 3.1)代码复用,提高可读性,和可扩展性,减少代码冗余
-
3.2)继承之后使用父类成员,单继承 extends’
3.3)要想实例化子类对象先实例化父类对象
3.4)super关键字,super调用父类构造方法
4方法重写
-
4.1 )子类重写父类方法,因为不满足父类方法的实现
4.2)子类对象付给父类的引用
final
-
修饰类:不能被继承
方法:不能被重写
属性:不能被修改(对象实例化前赋值)
局部变量:不能被修改《只能复制一次》
抽象类
-
1)不能被实例化
2)能编写抽象方法
3)抽象方法不能编写方法体,子类继承必须要重写父类方法(除非子类也是抽象类)
内部类
-
1)**成员内部类:**互相使用私有内部类
1.1)内部类和外部类同名成员 this(内部类成员) 《外部类类名》点this 。《外部成员》 - ** 匿名内部类** 接口
- 接口是个类型,实现了java中的多继承。 多态
- 一个父类类型的多个子类对象,对同一个方法调用实现不同效果 instanceof
常用数据类型大小
- boolean , byte 一个字节
- shor,char 两个字节.
- float , int 四个字节
- double, long 八个字节.
- 自动类型转换 的顺序 byte,short,char,int,long,float,double
- 这种情况,必须要把小的写在前面,并且后面加上----l&&L 这里的红线超出了int的取值返回 21亿多
- 两个整数运算会被默认为int类型,所以如果两个数运算的结果大于int的取值范围,那么便会值溢出
- 自动转换类型可能会导致精度丢失
语句格式
-
类的定义
-
public class 类名{} ,
注意事项 : main方法只能在有public修饰的类里面运行 -
方法的定义
-
boolean 只有两个参数,true 默认值是false
-
修饰符 返回值 方法名 (方法里面参数 看方法需要而定) 如果有返回值 ,一定要加return .
变量的定义
命名规范
-
包名全部小写
-
类名首字母大写
-
方法名,第一个小写,其余首字母全部大写
-
不能以数字开头
-
可以用$ _ 开头
-
1 数据类型 后面加变量名 .
作用域
1 一个变量的作用域,在离他最近的一个大括号 里面 ,
变量的类型
1,成员变量(全局变量) 2局部变量, 3类变量.
成员变量
作用域全局, 除去静态方法 静态变量 随着对象的创建而创建,消失而消失, 使用前必须赋初值, 类名点 自动赋初值,所以不会报错
局部变量
作用在当前方法中, 定义可以不用初始化,使用必须要初始化.
类变量
使用static修饰,可以直接用类名点 直接调用 , 用static修饰的变量会在第一时间被加载,
可以在静态或者非静态的方法里面使用,也可以被静态或非静态的变量使用