首页 > 代码库 > java中的数组

java中的数组

一)
数组:
1)
数组的长度和类型固定
2)
几大要素:
int[] arr = new int[5];
下标(数组的下标从0开始)
元素:arr[i] i>=0&&i<5
类型,此处为int型
长度,查看数组长度arr.length,此处为5
 
 
二)
数组中两大基本概念:栈-堆
1、本质区别:
数组中的栈不会做默认的初始化:
例:int n; //将会报错
int n = 0; //只有将变量初始化之后系统才会通过编译
数组中的堆进行默认的初始化:
int 0
float 0.0
char 空字符
boolean false
非基本数据类型 null
 
2、具体表现:
局部变量都存储在栈中
 
 
3、数组初始化:
1)
int[] arr = new int[5];
arr[0] = 1;
arr[1] = 2;
……
2)
int[] score = new int[]{80,60,90}
//创建数组与赋值可以在同一条语句中完成
int[] score = {80,60,90}
3)
for(int i = 0; i < arr.length; i++){
arr[i] = (int)(Math.random()*10);
//此处调用Math类中的random方法,并且进行了类型转换
}
 
4、二维数组:
二维数组本质上还是一维数组,仅仅是多了一个维度;可以将二维数组理解为多个一维数组组成的一个新的数组。
1)表达:
int[][] sc = new int[4][5];
则sc.length == 4;
表示此二维数组中共含有4个一维数组,即该二维数组的长度为4
 
for(int i = 0 ; i < sc.length; i ++){
int[] tep = sc[i];
}
则tep.length == 5;
此处表示该二维数组中的每个一维数组对应的元素个数为5
 
2)存储:
int[][] s = new int[3][2];
技术分享
例:int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
则:技术分享
 
栈只会保存数组在存储器中的位置,并不会保存具体数据内容,数组的 元素数据存储在堆中
 
5、数组的操作:
排序:
冒泡排序:
double[] arr = new double[5];
for(int i = 0; i< arr.length; i++) {
  arr[i] = sc.nextDouble();
}
 
for(int i = 0; i < arr.length -1; i++) {
  for(int j = 0; j< arr.length-2 ; j++) {
    if(arr[j] > arr[j+1]) {
    double temp = arr[j];
    arr[j] = arr[j+1];
    arr[j + 1] = temp;
    }
  }
}
 
 

java中的数组