数组与面向对象
- 数组
一维数组
数组:[ ]
存储相同类型的多个数据
变量:单个数据
数组:多个数据
数组的特点:
引用数据类型
数据是个容器,长度一旦确定不可改变
一个数组中存放的多个数据的类型要求一致
数组中的数据是有序的(索引|下标->从0开始)
操作数组中的数据:
根据下标 数组名[下标|索引]
数组的声明:
数据类型[] 数组名; ---推荐使用
数据类型 数组名[];
数据类型可以是基本数据类型|引用数据类型:指明数组中要存放数据的类型
数组名:标识符
[]-->代表数组,数组的标志
数组的初始化:
动态 初始化:
指明数组的大小,并创建数组,在内存中为其分配空间,后续动态赋值
数据类型[] 数组名=new 数据类型[长度];
没赋值存在默认值:整数0 小数0.0 布尔false 字符型' ' 字符串null
静态 初始化:
创建的同时赋值,根据数据的个数确定数组的长度
数据类型[] 数组名=new 数据类型[]{值1,值2,值3...};
数据类型[] 数组名={值1,值2,值3...};
数组中数据的个数|数组的长度: 数组名.length
数组中最后一个数据的索引: 数组名.length-1
数组的遍历:
1.普通for循环 i->数组中的索引
2.for..each 增强for
for(数据类型 变量名:数组名|容器名){
i代表数组中的每一个数据
}
使用数组的时候常见的异常:
数组索引越界异常 ArrayIndexOutOfBoundsException
空指针异常 NullPointerException
数组长度为负数 NegativeArraySizeException
二维数组: (了解)
数组中存放数组
声明:
数据类型[][] 数组名; --推荐使用
数据类型 数组名[][];
数据类型[] 数组名[];
初始化:
数据类型[][] 数组名 = new 数据类型[长度1][长度2];
长度1:外层数组的长度
长度2:没一个内层数组的长度(每一个小数组的长度一致)
数据类型[][] 数组名 = new 数据类型[长度1][];
数据类型[][] 数组名 = new 数据类型[][]{{1,2,3},{4,5},{6}...};
数据类型[][] 数组名 = {{1,2,3},{4,5},{6}...};
操作二维数组:
数组名[外层数组的索引][内层数组的索引]
遍历二维数组:
双重循环
二、面向对象
- 面向对象和面向过程的区别:
都是一种思维方式,是一种思想
面向过程:关注应该如何实现?然后一步一步的实现
面向对象:关注应该招谁来完成?只关注对象,对象如何实现不关注
面向对象是依托于面向过程的
2. 面向对象的优点:
更符合显示生活的思维方式|角度
面向对象的思维方式更贴近于管理者,面向过程的思维方式体现在执行者
面向对象可以将复杂的问题简单化
3.如何使用面向对象的思维方式进行开发:
类 对象
类:描述显示生活中一系列事物,一列事物的共性 模板,图纸
对象:每一个现实生活中存在的事物
根据类创建对象,根据模板才能构建事物
类-->对象-->使用
4.自定义类
手机能做什么? 打电话,上网,玩游戏,学习... 功能:动词 成员方法:不用static修饰的方法
手机的特点|特征|属性: 颜色,品牌,价钱,尺寸... 特征|属性:名词 成员变量: 类中方法外