java的数组与多维数组
一: 计算机语言的数组都具有三种特性:
- 一致性:数组只能储存相同数据类型的元素,元素的数据类型可以是任意的类型。
- 有序性:数组中的元素都是有序的,通过下标进行访问。
- 不可变性:数组一旦初始化其长度是不可变的。
二:数组是一组相同类型的线形集合,是引用数据类型.在使用之前一定要做的俩件事就是:声明和初始化。
java数组的声明有俩种方法:
- 元素数据类型(int,char,string,…) [ ] 数组变量名;
- 元素数据类型(int,char,string,…) 数组变量名 [ ];
java数组的初始化:
数组虽然声明成功但是长度不确定,所以 jvm(java虚拟机)还没有给元素分配空间,初始化分为俩种。一种叫做动态初始化,一种叫做静态初始化
- 静态初始化:
int [] Ararry;
Ararry={13,14,35};
//Ararry的数据是确定的叫做静态初始化
string [] Ararry;
Ararry={"....";"...";"...";"...."};
- 动态初始化:使用new来给它添加和分配指定长度的内存空间
//new 元素数据类型[数组长度]
int Ararry[ ]=new int [4];
//这就声明了一个内存空间为4的数组长度
三:数组值的储存及取出:
在数组初始化的阶段不是分为静态和动态,静态会提前赋值而动态却不会只会分配内存空间,这时候动态要怎么赋值呢
package boke;
import java.util.*;
public class javashuzu {
public static void main(String[] args) {
int ararry[]=new int [4];
//scannner用于键盘输入传入参数
Scanner o=new Scanner(System.in);
for(int i=0;i<ararry.length;i++) {
System.out.println("输入数组的值:");
ararry[i]=o.nextInt();
}
for(int i=0;i<ararry.length;i++) {
//循环输出值
System.out.println("输出数组的值"+ararry[i]);
}
}
}
数组的取值:数组名[长度]就能取出指定位置的值,但是要记住数组的排列是从零开始的。
int [ ] Ararry={13,14,35};
System.out.println("输出数组的值"+ararry[指定的数值]);
四:二维及多维数组
二维及多维数组的使用是和一维数组的使用情况是一样的但是要注意它的排列顺序。
二维及多维数组的声明:
- 元素数据类型[ ] [ ] 数组变量名;
- 元素数据类型 数组变量名 [ ][ ];
- 元素数据类型 [ ] 数组变量名 [ ];
二维及多维数组的初始化:
二维数组和多维数组和一维数组一样分为静态初始化和动态初始化。
1.静态初始化:
//用俩个[]或多个[]来声明二维及以上的数组
//这里声明了一个4x3的数组
int Array[ ][ ]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
1 2 3 |
---|
4 5 6 |
7 8 9 |
10 11 12 |
这里的1的位置就是int Array[0][0];
2.动态初始化:
//使用new来进行动态声明
int [][]Array=new int [4][3]
二维数组的示例
public class javashuzu {
public static void main(String[] args) {
//静态初始化
int Arrary[][]= {{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
//使用俩个for循环进行输出想要的值
for(int i=0;i<4;i++) {
for(int u=0;u<3;u++) {
System.out.println("输出数组的值"+Arrary[i][u]);
}
}
//动态初始化
int Arrary1[][]=new int[3][4];
//和之前一样使用scanner进行输入
Scanner o=new Scanner(System.in);
for(int i=0;i<4;i++) {
for(int u=0;u<3;u++) {
//循环输入值
Arrary1[i][u]=o.nextInt();
}
}
for(int i=0;i<4;i++) {
for(int u=0;u<3;u++) {
//循环输出之前输入进去的值
System.out.println("输出数组的值"+Arrary1[i][u]);
}
}
}
}
欢迎大家对我进行批评指正,因为我也刚学没多久也算自己给自己一个总结吧。