day13
## 数组
相同数据类型的有序集合
int[ ] nums;or
int nums2 [ ];
```java
int [] arrays=new int[10];
arrays[0] = 1;
```
1. 声明 int [] nums; 在栈压入一个数组nums
2. 创建 nums=new int[10]; 在堆内开辟一个空间,new的东西都在堆中
3. 赋值 num[0] = 1;
```java
public class ArrayDemo02 {
public static void main(String[] args) {
//静态初始化
int [] a={1,2,3,4};
//动态初始化,默认初始化0,string为null
int [] b=new int[10];
b[0]=1;
}
}
```
1. 数组的长度是确定的
2. 所有元素都是相同类型的元素
3. 数组元素可以使任何类型
4. 数组本身就是对象,保存在堆中
## 数组的使用
1. for循环
2. 作为方法入参
3. 作为返回值
```java
public class ArrayDemo03 {
public static void main(String[] args) {
int [] arrays = {1,2,3,4,5};
/*
增强型for循环
for (int array : arrays) {
System.out.print(array+" ");
}
求最大值
*/
// printmax(arrays);
int[] reverse = reverse(arrays);
printArrays(reverse);
}
//打印最大值
public static void printmax(int[] arrays){
int max=arrays[1];
for (int i = 0; i < arrays.length; i++) {
if (arrays[i]>max) {
max=arrays[i];
}
}
System.out.println("max:"+max);
}
//打印数组元素
public static void printArrays(int[] arrays){
for (int i = 0; arrays.length > i; i++) {
System.out.print(arrays[i]+" ");
}
}
//反转数组
public static int [] reverse(int[] arrays){
int[] result =new int [arrays.length];
for(int i = 0,j=arrays.length-1;i<arrays.length;i++,j--){
result[j]=arrays[i];
}
return result;
}
}
```
## 二维数组
每一个元素都是一组数据
```java
public class ArrayDemo04 {
public static void main(String[] args) {
int [][] array = new int [] []{{1,2}, {2,3}};
printArray(array);
}
public static void printArray(int [][] array){
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++){
System.out.println(array[i][j]);
}
}
}
}
```

浙公网安备 33010602011771号