数组的初始化,引用等
package test1;
import java.util.Scanner;
public class Main{
public static void main(String[] args){
int []a = new int[5];//初始化一个长度为5的数组 默认初始化成 0 / 空字符串 / 0.0 (float)/ 0.00 (double)
String []str = new String[5];
int [][]b = new int [5][5];//二维数组
int n = 10;
int []x = new int[n];//用变量初始化数组
//用初值初始化
char [] c = {'a','b','c'};
int [] k = {1,2,3};
int [] g = k;//数组可以赋值 表示g和k是同一个数组
//注意:字符数组就是字符数组 字符串就是字符串
//数组内元素的引用
k[1]=2;
System.out.println(k[0]);
System.out.println(k.hashCode());//hashCode() 返回内存地址的哈希值 k g的哈希值是一样的
System.out.println(g.hashCode());//即当改变k中某元素的值的时候,g中元素的值也会变
}
}
数组的读取写入
package test1;
import java.util.Scanner;
public class Main{
public static void main(String[] args){
int []a = new int[5];//初始化一个长度为5的数组 默认初始化成 0 / 空字符串 / 0.0 (float)/ 0.00 (double)
String []str = new String[5];
int [][]b = new int [5][5];//二维数组
int n = 10;
int []x = new int[n];//用变量初始化数组
//用初值初始化
char [] c = {'a','b','c'};
int [] k = {1,2,3};
int [] g = k;//数组可以赋值 表示g和k是同一个数组
//注意:字符数组就是字符数组 字符串就是字符串
//数组内元素的引用
k[1]=2;
System.out.println(k[0]);
System.out.println(k.hashCode());//hashCode() 返回内存地址的哈希值 k g的哈希值是一样的
System.out.println(g.hashCode());//即当改变k中某元素的值的时候,g中元素的值也会变
}
}
多维数组
int [][]a = new int[2][3];//定义一个两行三列的数组
a[1][2]=3;
//多维数组的初始化
int [][]b = {
{0,0,0},
{0,0,1}
};
常用API
属性length
:返回数组长度,注意不加小括号
Arrays.sort()
:数组排序
Arrays.fill(int[] a, int val)
:填充数组
Arrays.toString()
:将数组转化为字符串
Arrays.deepToString()
:将多维数组转化为字符串
数组不可变长
数组长度
int []a = {2,3,1,5,4};
for (int i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
int []a = {1,2,3,4,5};
System.out.println(Arrays.toString(a));//将一维数组转化为字符串
int [][]b = new int[5][5];
b[0][1]=3;
System.out.println(Arrays.deepToString(b));//将多维数组转化为字符串
输出结果
[1, 2, 3, 4, 5]
[[0, 3, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
排序
int []a = {2,3,1,5,4};
Arrays.sort(a);
System.out.println(Arrays.toString(a));
输出结果
[1, 2, 3, 4, 5]
赋值/填充数组
int []a = {2,3,1,5,4};
Arrays.fill(a,100);//将a全部赋值成100