JAVA数组–赋值/遍历/复制/拼接/最大值
1.数组赋值
数组赋值是按内存地址赋值, 和实际内容之间是引用关系
int[] arr = {1,2,3};
// 赋值的是arr的地址,arr和arr2都指向这个数组
int[] arr2 = arr;
//将arr2转换成字符串输出
System.out.println(Arrays.toString(arr2));//[1,2,3]
arr2[0] = 8;
//arr2操作数组,arr也会随之改变
System.out.println(arr2[0]);//8
2.数组遍历
遍历就是逐个访问的意思 ,Java中可以通过普通for循环和增强for循环遍历.
//定义数组arr
int arr[] ={1,2,3,4,5};
//遍历数组arr,输出每个元素
for(int i=0;i<arr.length;i++){
System.out.println(arr2[i]);
}
//增强for循环
//int i 表示定义变量i,这里代指数组中的元素
for(int i:arr2){
System.out.println(i);
}
3.数组复制
可以使用Java-API: Arrays.copyOf()复制,也可遍历复制
//数组复制arr
int[] arr = {2,4,5,34,2,1,0};
//定义长度和arr一样的数组arrc
int[] arrc = new int[arr.length];
//给arrc赋值
for(int i=0;i<arr.length;i++){
arrc[i] = arr[i];
}
//将数组转换成字符串
System.out.println(
Arrays.toString(arrc));//[2,4,5,34,2,1,0]
4.拼接
//例:arr=[1,2,3] arr2=[4,5,6],新数组[1,2,3,6,7,8]
int[] arr= {1,2,3};
int[] arr2 = {4,5,6};
//新建一个数组,长度是两个数组长度之和
int arr3[] = new int[arr.length+arr2.length];
//将arr中的元素复制给arr3
for (int i =0;i<arr.length;i++){
arr3[i] = arr[i];
}
//再将arr2中的元素复制给arr3,注意下标变化
for (int i =0;i<arr2.length;i++){
arr3[i+arr.length] = arr2[i];
}
System.out.println(Arrays.toString(arr3));//[1,2,3,4,5,6]
5.最大值
int[] arr = {3,2,5,3,23,56,1,5,0};
//两两比较, 较大值和下一数比较
//定义变量max取值为第一个元素,假设为最大值
int max = arr[0];
for(int i=1;i<arr.length;i++){
//若max小于这个数,就将这个数赋值给max
if(max<arr[i])
max=arr[i];
}
System.out.println(max);