本篇将介绍数组的定义、初始化、使用以及数组的存储形式
数组的定义
/*定义数组(声明数组):声明了数组元素的类型;在栈内存为数组变量(引用)来分配空间;
建议示例:int[] n;
*/
int[] no;
int n[];//这种定义方式也可以,但是不建议使用
float[] sal;
boolean[] b;
char[] c;
初始化数组
初始化数组:将数据存放到数组里面;在堆内存里为数组对象分配空间。
动态初始化:程序员指明数组的长度,系统负责初始化:(整数:0;浮点数:0.0;布尔型:false;字符型:\u0000,引用:null)
静态初始化:程序员初始化数组元素,系统来确定数组的长度。
no = new int[6];//动态初始化数组
sal = new float[3];
b = new boolean[4];
n = new int[]{3,4,5,6,7};//静态初始化数组
float[] f = new float[]{1.0f,3.6f,3.4f};
float[] ff = {1.0f,3.6f,3.4f}; //更简单的静态数组初始化方法
int n[6];//这是错的,虽然定义可以int n[],但是初始化不能这样
数组的使用
//使用数组:使用下标(索引)取数组元素:no[2];数组提供1个length属性,指明数组的长度。
//数组输出用for循环遍历输出就可以,输入也是一样
for(int i = 0; i < no.length; i++){
System.out.print(no[i] + "\t");
}
数组的存储形式
什么是引用
引用相当于一个一个指向对象的指针是一个地址,并不是存储对象的容器
数组没有初始化前引用变量没有值
public class textArray {
public static void main(String[] args) {
int[] no;
// no = new int[6];
System.out.println(no);
}
引用变量初始化后存储数组的地址
public class test01 {
public static void main(String[] args) {
int[] no;
no = new int[6];
System.out.println(no);
}
}
此时初始化之后引用变量输出的就是一个地址
动态初始化后数组的值
public class test01{
public static void main(String[] args) {
int[] no;
float[] sal;
boolean[] b;
int n[]; //不建议,个人感觉不易理解
no = new int[6];//动态初始化数组
//int n[6]; //错误:
sal = new float[3];
n = new int[]{3,4,5,6,7};//静态初始化数组
b = new boolean[4];
for(int i = 0; i < no.length; i++){
System.out.print(no[i] + "\t");
}
System.out.println();
for(int i = 0; i < sal.length; i++){
System.out.print(sal[i] + "\t");
}
System.out.println();
for(int i = 0; i < b.length; i++){
System.out.print(b[i] + "\t");
}
/*System.out.println();
for(int i=0;i<n.length;i++){
System.out.print(n[i]+"\t");
}*/
}
}
静态初始化的输出
此为课堂老师画的数组的栈和堆的存储
如有错误麻烦指出,欢迎探讨