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

© 王杰wj 中级黑马   /  2015-6-15 17:17  /  459 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、数组(Array):相同类型数据的集合。命名规则:type[]变量名 = new type[数组中的元素个数];
   例如:int[] a = new int[10];数组内的元素索引是从0开始,最大的索引为数组长度减去1。
2、数组有两种类型的赋值方法例如:int[] a = {1,2,3,4};或者int a = new int[]{1,2,3,4}。
3、Java中的每个数组都有一个名为length的属性表示数组的长度,length属性是public、final、int
   的,一旦确定就不能改变其大小。
4、int[] a = new int[10],其中a是一个引用,它指向了生成的数组对象的首地址,数组中每个元素
   都是int类型,其中仅存放数据值本身。
5、二维数组:是一种平面的二维结构,本质上是数组的数组,定义方式:type[][]a = new type[2][2]
6、生成不规则的二维数组:type[][] a = new type;其中i必须有参数值。给二维数组赋值{{第一行的 数组}{第二行的数组}{第三行的数组}}。
7、调用二维数组内的参数值:
   for(int i = 0;i < a.length;i++)
   {
             for(int j = 0;j < a[i].length;j++)
              {
                        System.out.println(a[i][j]);
             }
   }  
8、比较两个数组是否一样:
   import java.util.Arrays;
   public class Toequal()
   {
            public static void main(String[] args)
              {
                     int[] a = new int[]{1,2,3,4};
                      int[] b = new int[]{4,5,6};
                     System.out.println(Arrays.equals(a,b));
             }
   }
   如果返回值为false说明两个数组的参数值不同,如果为true说明相同。
9、使用二分查找查询数组内的某个数的索引(带查找的数组必须要有序)
   public static int go(int[] a,int value)
   {
           int low = 0;
           int high = a.length-1;
           while(low <= high)
          {
                   int middle = (low + high)/2;
                   if(value == a[middle])
                  {
                           return middle;
                  }
                  else if(value < a[middle])
                  {
                           high = middle - 1;
                  }
                  if(value > a[middle])
                  {
                           low = middle + 1;
                  }
           }
           return -1;
   }
10、冒泡排序
public class Test
{
        public static void ass(int[] array)
       {
                for(int i = 0;i < array.length-1;i++)
                 {
                         for(int j = 0;j < array.length-i-1;j++)
                         {
                                    if(array[j] > array[j+1])
                                  {
                                         int b = array[j];
                                        array[j] = array[j+1];
                                        array[j+1] = b;
                                  }
                          }
                   }
                   for(int x = 0;x < array.length;i++)
                   {
                          System.out.println(a[i]);
                   }
            }
           public static void main(String[] args)
          {
                      int[] array = {4,7,8,9,2,3};
                     ass(array)
            }
}      

评分

参与人数 1黑马币 +2 收起 理由
耀阳圣尊 + 2

查看全部评分

1 个回复

倒序浏览
总结的很不错
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马