Java基础day04-数组

Java基础day04-数组

必须声明数组变量才能在程序中使用数组

public class Demo {
public static void main(String[] args) {
    int[] nums;//声明
    nums=new int[10];//给空间
    for (int i = 0; i < 10; i++) {
     nums[i]=i+1;
     System.out.println(nums[i]);
    }
}

}//输出十个数字

计算所有数的和

public class Demo {
public static void main(String[] args) {
    int[] nums;//声明
    nums=new int[10];//给空间
    int sum =0;
    for (int i = 0; i < 5; i++) {
     nums[i]=i+1;
     sum=sum+nums[i];
    }
    System.out.println(sum);
}

}

初始化、内存分析

内存分析

Java基础day04-数组

初始化

public class Demo {
public static void main(String[] args) {
//     静态初始化:创建+赋值
    int[]a={1,2,3};
//     动态初始化:包含默认初始化
    int[]b=new int[2];
    System.out.println(b[1]);//初始化为0
}
}

理论

  1. 长度是确定的,一旦被创建大小就是不可以改变的

  2. 元素必须是相同类型的,不允许出现混合类型

  3. 数组中的元素可以是人和数据类型,包括基本类型和引用类型

  4. 数组变量属引用类型,数组也可以看成是对象,数组中的每一个元素都相当于该成员的变量。

  5. 数组本身就是对象Java中的对象是在栈中的,因此数组无论保存原始类型还是其它对象类型,数组对象本身是在堆中的。

数组的使用

public class Demo {
   public static void main(String[] args) {
//     静态初始化:创建+赋值
       int[]a={1,2,3};
       for (int i = 0; i < a.length; i++) {// a.length很重要,数组长度
           System.out.println(a[i]);
      }
  }
}

多维数组

public class Demo {
   public static void main(String[] args) {
       int[][] b ={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
       System.out.println(b[2][1]);
  }

    }

冒泡排序

八大算法之一,无疑是要掌握的很重要的算法

两层循环,外层冒泡轮数,里层依次比较,看到嵌套循环应该马上可以得到这个算法的时间复杂度O(n²)

import java.util.Arrays;

public class Demo {
   public static void main(String[] args) {
       int[] b={1,8,9,45,36,78,95,789,456};
       int[] sort = sort(b);
       System.out.println(Arrays.toString(sort));

  }
   public static int[] sort(int[] ar){
       //定义临时
       int temp=0;
       //外层循环看看要执行多少次

       for (int i = 0; i < ar.length-1; i++) {//-1是为了防止溢出
           for (int j = 0; j < ar.length-1-i; j++) {
               if(ar[j+1]>ar[j]){
                   temp=ar[j];
                   ar[j]=ar[j+1];
                   ar[j+1]=temp;
              }
          }
      }
           return ar;
      }
  }

 


上一篇:Socket-异步封装客户端与服务端类


下一篇:使用Unity自带的插件 实现基本AR