JAVA学习篇5——数组

数组:
          格式:类型[] 数组名 = new 类型[长度];   
                 类型[] 数组名 = new 类型[]{具体的数据1,具体的数据2.........};
          数组的操作其实就是对角标的操作
          角标从0开始
          数组的长度是固定的
          数组的元素类型必须一致

      定义一个指明具体数据的数组
        int[] arr = new int[]{4,5,6,7};
        int[] arr2 = {1,2,3,4};


      定义一个没有具体数据的数组
        int[] arr1 = new int[3];

     数组的元素在没有初始值的时候默认为0 

     获取数组的长度试用  length属性
     通过for循环去遍历数组里面的全部元素
        for(int i = 0; i < arr.length; i++){
            System.out.println(arr[i]);
        }


二维数组: 
         格式:int[][] arr = new int[100][3];
         第一个参数代表:这个二维数组里面有几个一维数组
         第二参数代表:每个一维数组里面的有多少个元素

        定义没有具体数据据的二维数组
            int[][] arr2 = new int[3][3];
        定义明确具体数据的二维数组
           int[][] arr3 = new int[][]{{1,2,4,6},{2,4,7,0}};

对一维数组进行排序:(最常用的两种排序法,冒泡排序法和选择排序法)
      冒泡排序:
          核心思想:两两对比
          例如:对象数组的元素从小到大进行排序输出
        int[] arr= new int[]{2,64,56,-7,-45,999};
        for (int i = 0; i < arr.length-1; i++) {//对比的轮数
            for (int j = 0; j < arr.length-1-i; j++) {//每一轮对比的次数
                //确定那两个元素进行对比   arr[j]    arr[j+1]
                if(arr[j] > arr[j+1]){//什么情况进行换位
                    int temp =arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }

    选择排序:
          核心思想:一一对比
          例如:将数组的元素进行从大到小进行排序输出
          int[] arr= new int[]{2,64,56,-7,-45,999};
          for (int i = 0; i < arr.length-1; i++) {//对比的轮数
              for (int j = i +1; j < arr.length; j++) {//每一轮对比的次数
                  //那两个数进行对比   arr[i] arr[j]
                  if(arr[i] < arr[j]){//什么情况换位
                      int temp = arr[i];
                      arr[i] = arr[j];
                      arr[j] = temp;
                  }
              }
          }

另外:附上查找一维数组中的最大值(最小值类似)
        int max = arr[0];
        for (int i = 0; i < arr.length; i++) {
            if(max < arr[i]){
                int temp = max;
                max = arr[i];
                arr[i] = max;
            }
        }



注:数组出现的基本错误:java.lang.ArrayIndexOutOfBoundsException  下标越界
栈:int[] arr引用变量    堆:new int[]{58,2,43,6,9};   所有需要new的东西存放在堆里面,类似于成员变量,存放于堆中,需要用时则需要new一个对象之后才能在方法里用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值