什么是数组:
存储同一种数据类型的多个元素的容器。
定义格式:
A:数据类型[] 数组名;
B:数据类型 数组名[]
举例:
int[] arr;定义了一个了int类型的数组,数组名是arr
int arr[];定义了一个int类型的变量,变量名是arr数组
数组初始化:
A:所谓的初始化,就是为数组开辟内存空间,并为数组中的每个元素赋予初始值
B:两种方式初始化:
a:动态:只给长度,系统给出初始化值
b:静态:给出初始化,系统决定长度
Java中的内存分配:
栈:存储的是局部变量
堆:存储的是new出来的东西
方法区:
本地方法区:和系统相关
寄存器:给CPU使用
栈:存储的是 局部变量(在方法中声明的变量就是局部变量)
例如:int x;(局部变量使用前必须先赋值)
局部变量就是定义在方法中的变量。
使用完毕后,立即回收
堆:存储的是new出来的东西 实体,对象
A:每一个对象都有地址值
B:每一个对象的数据都有默认值
byte,short,long 0
float,double 0.0
char '\u0000'
boolean false
引用类型 null
C:使用完毕后,会在垃圾回收器空闲的时候回收
遍历数组:
// 定义一个数组
int[] arr ={11,22,33,44,55};
//利用for循环实现获取数据
for(int x =0;x<arr.length;x++){
Syste.out.println(arr[x]);
}
//获取数组元素个数 :length(不等于数组的最大索引)
//格式:数组名.length
获取最大值得索引:
int maxI = 0;(直接定义一个变量maxI代表索引)
然后遍历数组
for(int i =1;i<arr.length;i++){ //注意此时i的取值从1开始
if(arr[maxI]<arr[i]){
maxl=i;//当遍历完成后,maxI为最大值的索引
}
}
二维数组:其实是元素为一堆数组的数组
定义格式:
A:数据类型[][]数组名;(常用)
B:数据类型 数组名[][];
C:数据类型[] 数组名[];
初试化:
A:动态初始化
数据类型[][]数组名 =new 数据类型[m][n]
B:静态初始化
数据类型[][]数组名={{元素..},{元素..},{元素..}}
获取二维数组中的一维数组的元素
arr[m][n]获取二维数组中索引为m的一维数组的索引为n的元素
二维数组的遍历:
二维数组的长度:
二维数组.length就是一维数组的个数
for(int y =0;y<arr.length;y++){
for(int x =0;x<arr[y][x];x++){
System.out.println(arr[y][x])
}
} |
|