数组声明:
数组的声明有两种:
1.数组的元素类型 数组名【】
2.数组的元素类型 【】数组名
int arr01[] ;
String[] arr02;
为数组分配元素:
数组名 = new 数组元素的类型【数组元素的个数】
数组的初始化:
方式总共有三种:静态初始化、动态初始化、默认初始化
/**
* 测试数组的三种初始化方式
* @author l
*
*/
public class TestArray02 {
public static void main(String[] args) {
//静态初始化
int a[] = {2,4,7,8};
User b[] = {new User(1001,"l"),
new User(1001,"l"),
new User(1001,"l")
};
//默认初始化,默认给数组的元素进行赋值,赋值规则和成员变量默认赋值规则一致
int c[] = new int[3];
for(int i = 0;i<c.length;i++){
System.out.println(c[i]);
}
//动态初始化
int d[] = new int[2]; //动态初始化,先分配空间
d[0] = 1;
d[2] = 2;
}
}
数组的遍历
for 循环
public class TestArray03 {
public static void main(String[] args) {
int a[] = new int[4];
//初始化数组的元素的值
for(int i = 0;i<a.length;i++){
a[i] = i;
}
//读取元素的值
for(int i = 0;i<a.length;i++){
System.out.println(a[i]);
}
}
}
for-each 循环
专门用来读取数组或集合中所有的元素,即对数组进行遍历
//for each 仅用于读取
for(int m :a){
System.out.println(m);
}
String ss[] = {"aa","bb","cc"};
for(String s:ss){
System.out.println(s);
}
数组的复制
arraycopy方法:
使用java.lang.System类的静态方法
public static void arraycopy(Object src, int srcPos,Object dest,int destPos,int length)
可以用于数组src 从第srcPos项元素开始的length个元素复制到目标数组从destPos项开始的length个位置
测试:
package cn.sxt.array2;
/**
* 测试数组的copy
* @author l
*
*/
public class TestArrayCopy {
public static void main(String[] args){
testBasicCopy1();
testBasicCopy2();
extendRange();
}
//数组的拷贝
public static void testBasicCopy1(){
String[] s1 = {"aa", "bb","cc","dd","ee"};
String[] s2 = new String[10];
System.arraycopy(s1, 2, s2, 6, 3);
for(String a :s2){
System.out.println(a);
}
}
//测试从数组中删除某个元素 本质上是数组的copy
public static void testBasicCopy2(){
String[] s1 = {"aa", "bb","cc","dd","ee"};
//String[] s2 = new String[5];
System.arraycopy(s1, 3, s1, 3-1, s1.length-3);
s1[s1.length-1]= null;
for (int i=0;i<s1.length;i++){
System.out.println(s1[i]);
}
}
//数组的扩容 本质上是数组的copy
public static String[] extendRange(){
String s1[] ={"ss","qq","ww"};
String s2[] = new String[s1.length+10];
System.arraycopy(s1, 0, s2, 0, s1.length); //将S1的所有元素拷贝到s2
for(String temp: s2){
System.out.println(temp);
}
return s2;
}
}
Arrays工具类:
toString(()方法:打印数组
sort()方法:数组排序
equals()方法:比较两个数组是否相同
binarySearch()方法:数组查找
等等 可通过API查找
测试:
package cn.sxt.array2;
import java.util.Arrays;
/**
* 测试java.util.Arrays工具类的使用
* @author l
*
*/
public class TestArray02 {
public static void main(String[] args) {
int a[] = {1,2,3,11,4,6};
System.out.println(a);
//toString 方法遍历数组
System.out.println(Arrays.toString(a));
//sort方法
Arrays.sort(a);
System.out.println(Arrays.toString(a));
//binarySearch 方法
System.out.println(Arrays.binarySearch(a, 3));
}
}
多维数组:(不常用)
二维数组的声明:
数组的元素类型 数组名【】【】
数组的元素类型 【】【】 数组名
本文仅用于个人学习,如有错误请指出!