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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

本帖最后由 urankwong 于 2015-5-15 21:12 编辑

笔记内容:数组
笔记来源:刘然 java基础视频第5天
里面有些错别字,请忽略
******************我***是***分***割***线************************
数组:
        1,2,3,4,5
        概述:存储多个 同一种类型的元素的容器。
        好处:可以对数组中的元素进行编号,从0开始。方便我们来操作。
        数组的定义格式:
                元素类型[] 数组名 = new 元素类型[数组的长度或者元素个数];
                new:申请内存空间。
                int[] arr = new int[5];
        怎么获取数组中的元素?
                第一个: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,5};
                D:        int[] arr = {1,2,3,4,5};
                        arr[0],arr[2]
        推荐使用:
                A,D

数组的常见操作:
        数组的长度: 数组名.length
                长度: 从1-数组名.length
                索引: length - 1;
        数组的遍历;
               
  1. for(int x=0;x<arr.length;x++)
  2.                 {
  3.                         System.out.println(arr[x]);
  4.                 }
复制代码

        
        数组的求最大值:
               
  1. /**1、定义一个变量max记录最大值。
  2.                 2、遍历数组,拿到每一个元素,然后依次来跟最大值比较。
  3.                         如果遍历到的元素,比最大值大,把该元素的值赋值给max。
  4.                 3、将最大值返回。
  5. */
  6.                 int[] arr = {1,2,3,4,5};
  7.                 int max = arr[0];   //我们假设数组中的第一个元素是最大值。
  8.                 for(int x=0;x<arr.length;x++)
  9.                 {
  10.                         //arr[x]就是数组中的元素

  11.                         if(arr[x]>max)    //判断当前遍历到的元素是否比最大值大,
  12.                                                           //如果比最大值还大,就将该值赋值给max
  13.                         {
  14.                                 max = arr[x];
  15.                         }
  16.                 }
  17.                 System.out.println(max);  //输出最大值。
复制代码


        数组的基本查找功能:
            
  1. /** 1、定义一个变量记录要查找的值。 key
  2.                 2、遍历数组,拿到每一个元素,然后依次来跟key比较。
  3.                         如果相等,即返回该元素的索引(小标,下标)。
  4.                         如果不相等,返回-1;
  5. */

  6.                 int[] arr = {1,2,3,8,4,5,8};
  7.                 int key = 8;
  8.                 //int index = -1;   //记录的就是我要找的key在数组中的索引
  9.                 //int[] arrIndex = new int[arr.length];
  10.                 for(int x=0;x<arr.length;x++)
  11.                 {
  12.                         //arr[x]就是数组中的元素

  13.                         if(arr[x]==key)                                                            
  14.                         {
  15.                                 index = x;
  16.                                 break;
  17.                                 //arrIndex[x] = x;
  18.                         }
  19.                 }
复制代码


二维数组:
        概述:就是每个元素都是一维数组 的数组。
        A:int[][] arr = new int[n][m];
                n:可以看做是行。 代表arr这个二维数组有多少个一维数组。
                m:可以看做是列。 代表每一个一维数组中有多少个元素。
        B:int[][] arr = new int[n][];
                n:可以看做是行。 代表arr这个二维数组有多少个一维数组。
                第二个中括号的意思是:每个一维数组的长度不固定。
        C:int[][] arr = { {1,2,3},{4,5},{7,8,9}};
        
遍历:
        二维数组的长度:
                arr.length
        每个一维数组的长度:
                arr[x].length
        每个二维数组的元素:
                arr[x][y]
应用:
        计算商场的年销售额。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马