数组<------->面向对象思想

数组[ ]:

存储相同类型的多个数据

1.变量:存储单个数据

2.数组:存储相同类型的多个数据

数组的特点:

1.数组是引用数据类型

2.数组是个容器,长度一旦确定不可改变

3.数组中存放的多个数据的数据类型要求一致

4.数组中的数据是有序的,(可以通过索引或者下标)索引从开始

操作数组中的数据:

根据下标   数组名[下表|索引]

数组的声明:

数据类型 []   数组名;

数据类型 数组名 []  ;

数据类型可以是基本数据类型|引用数据类型:指明数组中要存放数据的类型

数组的初始化:

动态初始化:

指明数组的大小,并创建数组,在内存中为其分配空间,后续再为其赋值;

        数据类型[] 数组名= new 数据类型[长度];

        只 声明未赋值系统提供默认值:整数:0,布尔:false,字符:’ ’,小数:0.0,字符串:null;

静态初始化:

创建的同时赋值,根据数据的个数确定数组的长度

数据类型[]数组名=new 数据类型[]{值1,值2,值3….};

数据类型[] 数组名 = {值1,值2,值3…};

数组中数据的个数|数组的长度:  数组名.length

      

      数组中最后一个数据的索引: 数组名.length-1   

 

      数组的遍历:

1. 普通for循环  i-à数组中的索引

      //遍历数组  普通for  定位的是数组中的每一个空间

      for(int i=0;i<=arr3.length-1;i++){

            System.out.println(arr3[i]);

      }

 

2. For..each 又称为增强for

表现形式:

for(数据类型 变量名:数组名|容器名){

   i代表数组中的每一个数据

}

//for..each 获取的是数组中的每一个值

           for(String i:arr2){

                 System.out.println(i);

           }

使用数组时候常见的异常:

1.数组下标越界异常    ArrayIndexOutOfBoundsException

2.空指针异常      NullPointerException

3.数组长度为负数   NegativeArraySizeException

普通for和增强for区别:

普通for和增强for在用法上边大体相同,但是增强for不能够在增强循环里动态删除数据,没有数组索引;所以要求下标明确的情况下,选用普通for

二维数组:

  可以简单理解为数组中存放数组

声明:

数组类型[][] 数组名;    ------->使用频率挺高<建议使用>

数据类型 [][] 数组名[][];

数据类型[] 变量名[];

初始化:

数据类型[][] 数组名 = new 数据类型[长度1][长度2];

长度1 :外层数组长度

长度2: 内层数组长度(也可以理解为,外层数组包含的每个内层小数组长度相等)

二维数组动态赋值

数据类型 [][] 变量名 = new 数据类型[长度1][];

二维数组的静态赋值

数据类型[][]变量名= new 数据类型[][]{{1,2,3},{1,2,3},{1,2,3}…}

数据类型[][] 变量名= {{1,2,3},{1,2},{1}…}

操作二维数组:

 数组名[外层数组的索引][内层数组的索引]

遍历二维数组:

双重循环

 

面向对象

一.  面向对象和面向过程的区别:

都是一种思维方式,一种思想

面向过程:关注如何实现?然后一步步去实现

面向对象:领导者思想(关注招谁来完成,只关注对象,至于对于对象是如何实现的不关注;   面向对象是依托于面向过程的)

二.  面向对象的优点:

  1. 更符合现实生活的思维方式|角度
  2. 面向对象的思维跟贴近于管理者,面向过程的思维方式体现在执行者
  3. 面向对象可以将复杂的问题简单化

三.  如何使用 面向对象的思维方式进行开发:

类     对象

类:描述现实生活中的一系列事物,以及一系列事务的共性     模板,图纸

对象:现实中存在的事物

根据类创建对象,根据模板才能构造事物

类-à对象-à使用

四.  自定义类

举例说明:

成员方法:不用static修饰的方法    

1.手机能做什么?  打电话,上网,玩游戏,学习...     功能:动词   成员方法:不用static修饰的方法 

2.手机的特点|特征|属性: 颜色,品牌,价钱,尺寸...       特征|属性:名词   成员变量: 类中方法外

public class 手机类{

             //成员变量|属性

             修饰符 数据类型 变量名 = 值;

             //成员方法|功能

             修饰符 返回值类型|void 方法名([参数列表]){

                   功能体;

                   [return 数据;]

             }

        }

1.导包

           同包下的类不需要导包,lang包下的内容不需要导包

     2.创建类型的引用|变量  new创建对象

           Phone p=new Phone();

     3.使用功能|属性

           引用|对象.功能名字()

           引用|对象.属性名字

 

posted @ 2019-08-06 08:44  逍yao客  阅读(159)  评论(0编辑  收藏  举报