数组
1.定义数组
type[] arrayName;//如int[] arr
ttype arrayName[];//如int arr[]
注:定义数组不能指定数组长度
2.数组初始化
Java语言中数组必须初始化,然后才能使用(为数组元素分配空间,且每个数组元素赋值为0)。
方法:(1)静态初始化
arrayName=new type[]{element1,element2,element3…}//如arr=new int[] {1,2,3,4}
简化:type[] arrayName={element1,element2,element3…}//如int[] arr={1,2,3,4}
实际中数组的定义和静态初始化一起完成:int[] arr={1,2,3,4}
(2)动态初始化
arrayName=new type[length];//如arr=new int[10]
数组定义和动态初始化一起完成:int[] arr=new int[10]
注:不能同时使用静态和动态初始化方法。
3.使用数组
数组最常用的用法是访问数组元素(包括对数组元素进行赋值和取出数组元素的值)。
输出数组元素:System.out.println(arr[1]);
为数组元素赋值:arr[1]=‘s’;
4.数组扩容
(1)满数组与若干个数字扩容
代码附上:
import java.util.*;
public class kuorong1{
//满数组后面加一个数字
public static void main(String [] args){
int[] arr1={1,2,3,4,5,6,8};
int[] arr2=resize(arr1,arr1.length+1);
arr2[arr2.length-1]=10;
System.out.println(Arrays.toString(arr2));
}
public static int[] resize(int[] arr1,int newLen){
int[] arr2=new int[newLen];
for(int i=0;i<arr1.length;i++){
arr2[i]=arr1[i];
}
return arr2;
}
}
(2)两个满数组扩容
代码附上:
import java.util.*;
public class kuorong2{
//两个满数组相加
public static void main(String[] args){
int[] arr1={1,2,3,4,5};
int[] arr2={9,8,7,6,5};
int[] arr3=new int[arr1.length+arr2.length];
int index=0;
for(int i=0;i<arr1.length;i++){
arr3[index]=arr1[i];
index++;
}
for(int j=0;j<arr2.length;j++){
arr3[index]=arr2[j];
index++;
}
System.out.println(Arrays.toString(arr3));
}
}
5.内存中的数组
数组是一种引用数组类型,数组引用变量只是一个引用,数组元素和数组变量在内存里是分开存放的。数组引用变量可以指向任何有效的内存。数组元素被存放在堆(heap)内存中,数组引用变量被存储在栈(stack)内存中。数组引用变量是访问数组元素的根本方式。