黑马程序员技术交流社区

标题: Day_04 [打印本页]

作者: 哒哒哒哒    时间: 2018-1-17 21:57
标题: Day_04
什么是数组:
        存储同一种数据类型的多个元素的容器。
定义格式:
        A:数据类型[] 数组名;
        B:数据类型 数组名[]
举例:         
        int[] arr;定义了一个了int类型的数组,数组名是arr
        int arr[];定义了一个int类型的变量,变量名是arr数组


数组初始化:
    A:所谓的初始化,就是为数组开辟内存空间,并为数组中的每个元素赋予初始值
    B:两种方式初始化:
                a:动态:只给长度,系统给出初始化值
                b:静态:给出初始化,系统决定长度



Java中的内存分配:
        栈:存储的是局部变量
        堆:存储的是new出来的东西
        方法区:
        本地方法区:和系统相关
        寄存器:给CPU使用

栈:存储的是 局部变量(在方法中声明的变量就是局部变量)
        例如:int x;(局部变量使用前必须先赋值)

    局部变量就是定义在方法中的变量。
    使用完毕后,立即回收

堆:存储的是new出来的东西 实体,对象
        A:每一个对象都有地址值
        B:每一个对象的数据都有默认值
                byte,short,long  0
                float,double  0.0
                char '\u0000'
                boolean false
                引用类型 null
        C:使用完毕后,会在垃圾回收器空闲的时候回收

遍历数组:
// 定义一个数组
        int[] arr ={11,22,33,44,55};
//利用for循环实现获取数据
for(int x =0;x<arr.length;x++){
          Syste.out.println(arr[x]);

}
//获取数组元素个数 :length(不等于数组的最大索引)
//格式:数组名.length


获取最大值得索引:
int maxI = 0;(直接定义一个变量maxI代表索引)
然后遍历数组
for(int i =1;i<arr.length;i++){ //注意此时i的取值从1开始
        if(arr[maxI]<arr[i]){
                maxl=i;//当遍历完成后,maxI为最大值的索引
}
}

二维数组:其实是元素为一堆数组的数组

定义格式:
        A:数据类型[][]数组名;(常用)
        B:数据类型 数组名[][];
        C:数据类型[] 数组名[];
初试化:
        A:动态初始化
           数据类型[][]数组名 =new 数据类型[m][n]



        B:静态初始化       

                数据类型[][]数组名={{元素..},{元素..},{元素..}}

获取二维数组中的一维数组的元素
                arr[m][n]获取二维数组中索引为m的一维数组的索引为n的元素


二维数组的遍历:


二维数组的长度:
        二维数组.length就是一维数组的个数
for(int y =0;y<arr.length;y++){
      for(int x =0;x<arr[y][x];x++){
         System.out.println(arr[y][x])                          
}

}
作者: 1414225997    时间: 2018-1-18 09:58
继续努力哦
作者: 渝小妹    时间: 2018-1-21 16:58
期待你每天的进步   温故而知新




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2