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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 3165346340 初级黑马   /  2018-10-7 21:20  /  493 人查看  /  0 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文


    A:数组定义格式
        数据类型[] 数组名 = new 数据类型[数组的长度];
        a:动态初始化 只指定长度,由系统给出初始化值
                int[] arr = new int[5];
        b:静态初始化 给出初始化值,由系统决定长度
                 int[] arr = new int[]{1,2,3,4,5};
                int[] arr = {1,2,3,4,5};                      这种静态初始化不允许先声明后赋值
   B:动态初始化的格式:
        数据类型[] 数组名 = new 数据类型[数组长度];
        下面我们来说一说一维数组:
        1:一维数组的遍历
        int[]arr={1,2,3,4,5};
       ① for (int i = 0; i < arr.length; i++) {     ①遍历的第一种方式
            System.out.print(arr[i]+" ");
        }
      ② for (int i: arr) {                          ②遍历的第二种方式
            System.out.print(i+" ");
        }
   2: 获取一维数组的最大值
   int[]arr={1,2,3,4,5};
   int max = arr[0];                                                                    定义变量记录住第一个位置的值
                for (int x = 1;x < arr.length ;x++ ) {                        遍历数组,从第二个位置
                        if (arr[x] > max) {                                                        与max中的值比较,如果比max值大
                                max = arr[x];                                                        将max中的值替换掉
                        }
                }
                return max;                                                                                将最大值返回

        3:一维数组的正序遍历
    int[] arr = {11,22,33,44,55};
                /*for (int x = 0;x < arr.length ;x++ ) {
                        System.out.println(arr[x]);
                }                                                     //11,22,33,44,55
    4:一维数组的倒序遍历
     int[] arr = {11,22,33,44,55};
                for (int x = arr.length - 1;x >= 0 ;x-- ) {
                        System.out.println(arr[x]);
                }                                                    //55,44,33,22,11
    5:一维数组的反转操作
     int[] arr = {11,22,33,44,55};
        for (int x = 0;x < arr.length / 2 ; x++) {
        int temp = arr[x];
        arr[x] = arr[arr.length-1-x];
        arr[arr.length-1-x] = temp;                      //55,44,33,22,11

    6:数组元素查找(查找指定元素第一次在数组中出现的索引)
                int[] arr = {44,33,55,22,11,66};
                int index = getIndex(22,arr);

        根据数组元素获取数组元素的索引
        1,明确返回值类型int
        2,明确参数列表,int key,int[] arr
public static int getIndex(int key,int[] arr) {
        for (int x = 0;x < arr.length ;x++ ) {
        if (key == arr[x]) {
        return x;
        }
        }
        return -1;
     7:
     ①快速排序
        int[] arr1 = {78, 87, -4, -33, 3, 66, 99};
        Arrays.sort(arr1);
        for (int i : arr1) {
        System.out.print(i+" ");                         //-33 -4 3 66 78 87 99

     ②冒泡排序
     int [] arr3={56,76,-34,12,98,3,77,33};
        for(int j=0;j<arr3.length-1;j++){
        for(int i=0;i<arr3.length-1;i++){
       判断后一个数是否大于前一个数
        if(arr3[i+1]>arr3[i]){
       将前一个数的值给q
        int q=arr3[i];
       将后一个数的值给前一个数
        arr3[i]=arr3[i+1];
       将q(即前一个数的值)给后一个数
        arr3[i+1]=q;
    }
}
}
for (int i : arr3) {
            System.out.print(i+" ");
            }
        }/*又在外面套一个循环,让它运行八次,这样就可以了。它会把前面大的数一个一个往后移,最后完成!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马