Java学习DAY5——数组的定义和使用
数组就是让我们批量创建一组相同类型的变量
1、数组的基本用法
1.1 什么是数组
- 数组本质上让我们能“批量”创建相同类型的变量。
1.2 创建数组
- 基本语法1
数据类型[ ] 数组名称 = new 数据类型 [ ] { 初始化数据 };
//数组创建1
int[] arr = new int[]{1,2,3,4};
- 基本语法2(用的最多)
数据类型[ ] 数组名称={ 初始化数据 };
//数组创建2
int[] arr2={1,2,3,4,};
- 基本语法3
//数组创建3
int[] arr3=new int[4];//此时的元素都是0
1.3数组的使用
1.3.1 获取数组长度
- 代码:
public class array20201220 {
public static void main(String[] args) {
// //数组创建1
// int[] arr = new int[]{1,2,3,4};
//数组创建2
// int[] arr2={1,2,3,4,};
//数组创建3
// int[] arr3=new int[4];
int [] arr={1,2,3,4};
System.out.println(arr.length);
}
}
- 结果:
1.3.2 根据下标访问数据
使用[ ]按下标访问数组元素,需要注意,下标从0开始计数
- 代码:
int [] arr={1,2,3,4};
// System.out.println(arr.length);
//使用下标访问元素
//数组下标的有效范围是[0,length-1]或者[0,length)
System.out.println(arr[1]);
- 结果:
Java中若数组下标越界,会抛出一个数组下标越界异常
- 代码示例
int [] arr={1,2,3,4};
System.out.println(arr[100]);
- 结果
1.3.3 遍历数组 代码示例
- 1.普通遍历
"遍历":很多数据,把这些数据按照一定的顺序,依次的访问一遍,访问的过程要保证“不重不漏” - 正着遍历
//借助for循环遍历数组
int [] arr={1,2,3,4};
for (int i=0;i<arr.length;i++) {
System.out.println(arr[i]);
}
结果
- 反着遍历
int [] arr={1,2,3,4};
for (int i=arr.length-1;i>=0;i--){
System.out.println(arr[i]);
}
结果
-
2.使用for-each遍历数组
-
代码示例
//针对数组这样的类型
//就可以用这种方式来完成从前往后的遍历
int [] arr={1,2,3,4};
for (int x:arr ) {
System.out.println(x);
}
- 结果
2.数组作为方法的参数
2.1 打印数组内容:
- 代码
public class array20201220 {
public static void main(String[] args) {
int[] arr={1,2,3,4};
printArry(arr);
}
public static void printArry(int[] arr) {
for (int x:arr
) {
System.out.println(x);
}
}
}
- 结果
3.数组作为方法的返回值
3.1 写一个方法,将数组中的每个元素都*2
- 代码1
public class array20201220 {
public static void main(String[] args) {
int[] arr={1,2,3,4};
int[] output=tansform(arr);
System.out.println("output:");
printArry(output);
System.out.println("arr:");
printArry(arr);
}
public static void printArry(int[] arr) {
for (int x:arr
) {
System.out.println(x);
}
}
public static int[] tansform(int[] input){
for (int i=0;i<input.length;i++){
input[i]*=2;
}
return input;
}
}
- 结果
从结果我们很明显的发现,通过调用tansform方法,我们对原数组也进行了修改,有时候我们需要保存原数组元素,我们下面对tansform方法进行修改。
- 代码2
public class array20201220 {
public static void main(String[] args) {
int[] arr={1,2,3,4};
int[] output=tansform(arr);
System.out.println("output:");
printArry(output);
System.out.println("arr:");
printArry(arr);
}
public static void printArry(int[] arr) {
for (int x:arr
) {
System.out.println(x);
}
}
//此方法没有对原本的数组进行改动
public static int [] tansform(int[] input) {
int[] output =new int[input.length];
for (int i=0;i<input.length;i++) {
output[i]=2*input[i];
}
return output;
}
//此方法修改了原本的数组
// public static int[] tansform(int[] input){
// for (int i=0;i<input.length;i++){
// input[i]*=2;
// }
// return input;
// }
}
- 结果
写在最后的话
关于数组的基本用法就写到这里了,关于数组代码的练习我会单独写一篇。