A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2015-5-12 22:18  /  6221 人查看  /  50 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

笔记内容:数组笔记来源:刘意java视频第5天
内容:上课的时候,跟着夯哥做的,后面还有学API 的时候,超哥给补充的选择排序。
       找了半天,代码太多了。翻不到。只提交理论知识啦。。
数组:
        概述:存储多个,同一种类型的元素的容器。
        好处:可以对数组的元素进行编号,从0开始。
        数组的定义格式:
                        元素类型[] 数组名 =  new 元素类型[数组长度和个数]
                        new; 申请内存空间。

        怎么获取数组中的元素:
                第一个:arr[0];
                第二个:arr[1];
                第三个:arr[2];

内存的划分:
        栈:存的是局部变量。
                        局部变量;定义在方法中,或者方法的形式参数上的。
                        特点:当变量使用完毕后(超出了变量的作用域。),直接从内存中释放。

        堆:存的是new出来的东西(实体)。
                        1、每一个实体都有地址值。
                        2、每一个实体都有默认初始化值。
                                整数:0
                                浮点:0.0
                                字符:'\u0000'
                                布尔:false
                        3、在不确定的时间被垃圾回收器( GC)回收掉。
        方法区:里面存储的:方法,String常量池,静态区。byte常量池。
        本地方法区:和系统相关的内容。
        寄存器:有CPU来分配资源的。
定义数组的四种方式:此处以Int类型举例
        A: int[] arr = new int[5];//定义一个int类型的数组 arr
        B:  int arr[] = new int[5];//定义一个int类型的 arr数组
        c:  int[] arr = new int[]{1,2,3,4};
        D:  int[] arr = {1,2,3,4,5};
        推荐  A  D


        数组的常见操作:
                1、数组的遍历:
                                数组名怎么求: 数组名.length
                                                长度:从1-数组名 .length
                                                索引:  length-1
                                  for (x =0 ;x <arr.length;x++)
                                  {
                                                System.out.println(arr[x]);
                                  }
                2、数组的求最大值:
                                数组的求最大值:
                1、定义一个变量max记录最大值。
                2、遍历数组,拿到每一个元素,然后依次来跟最大值比较。
                        如果遍历到的元素,比最大值大,把该元素的值赋值给max。
                3、将最大值返回。
                int[] arr = {1,2,3,4,5};
                int max = arr[0];   //我们假设数组中的第一个元素是最大值。
                for(int x=0;x<arr.length;x++)
                {
                        //arr[x]就是数组中的元素
                        if(arr[x]>max)    //判断当前遍历到的元素是否比max大,
                                                          //如果比最大值还大,就将该值赋值给max
                        {
                                max = arr[x];
                        }
                }
                System.out.println(max);  //输出最大值。
                3、数组的基本查找功能:
                        1、定义一个变量记录要查找的值。key
                        2、遍历数组,拿到每一个元素,然后依次来跟key来比
                                如果相等,即返回该元素的索引(下标)
                                如果不相等,返回 -1
数组常见错误:
  1. /*
  2.         数组操作的常见问题:
  3.                 A:数组越界异常。访问了不存在的索引。
  4.                         ArrayIndexOutOfBoundsException
  5.                
  6.                 B:空指针异常。一个实例(对象)已经不存在
  7.                         NullPointerException
  8. */
  9. class ArrayDemo3
  10. {
  11.         public static void main(String[] args)
  12.         {
  13.                 //定义数组
  14.                 int[] arr = {1,2,3,4,5};

  15.                 //使用元素
  16.                 System.out.println(arr[3]);
  17.                 //System.out.println(arr[5]);

  18.                
  19.                 //错误的
  20.                 //int x = null;
  21.                 arr = null;
  22.                 System.out.println(arr[2]);
  23.         }
  24. }
复制代码



二维数组:
        概述;就是每个元素都是一维数组。
        A:int[][] arr = newunt[n][m];
                n:可以看做是行,代表arr这个二维数组有多少元素。
                m:可以看做是列。代表每一个一维数组中有多少个元素。
        B:int [][]arr = new int[n][];
                        n:可以看作是行。代表arr这个二维数组中有多少个一维数组。
                         第二个括号的意思是,每一个一维数组的长度不固定。
        C:int[][]arr = {{1,2,3}{1,2}{7,54}};

        二维数组的遍历:
                        二位数组的长度:
                                arr.length
                        每一个以为数组的长度:
                                arr[x].length
                        二维数组的元素。
                                arr[x][y]
        应用:
                计算上场的年销售额




回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马