数组的两种初始化模式
数组初始化的两种方式,1.静态初始化;2.动态初始化。
静态初始化
在程序运行前就能确定数组的大小和数组中的初始数据我们称之为静态初始化。
例如:
float[] stuScores = {80.0f,70.0f,90.0f,66.5f};
int[] nums = {80,70, 90,66};
char[] chs = {‘a’,’b’, ‘c’,’d’};
动态初始化
数组的大小或数组中数据在程序运行时才能决定,且用到new这个关键字来确定数组的大小或初始数据我们称之为动态初始化。
定义数组:变量类型[] 数组名 = new 数据类型 [ 数组长度 ];
定义数组与初始化分离:
赋值:
初始化之后就可以向数组中放数据了,数组中元素都是通过下标来访问的,例如向 stuScores数组中存放学生成绩:
变成案例:
package step2;
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
/********** Begin **********/
//在这里定义一个长度为4的字符串数组,用来存放学生姓名
String[] stuNames = new String[4];
//在这里给stuNames数组赋值 分别为 张三,张无忌,张三丰,张岁山
stuNames[0] = "张三";
stuNames[1] = "张无忌";
stuNames[2] = "张三丰";
stuNames[3] = "张岁山";
//在这里输出stuNames数组中的数据
System.out.println("数组中的第一个数据为:" + stuNames[0]);
System.out.println("数组中的第二个数据为:" + stuNames[1]);
System.out.println("数组中的第三个数据为:" + stuNames[2]);
System.out.println("数组中的第四个数据为:" + stuNames[3]);
int[] scores;
Scanner sc = new Scanner(System.in);
//在这里使用Scanner获取系统输入的整数,并用获取到的数据来设置scores数组的长度
int length = sc.nextInt() ;
scores = new int[length] ;
/********** End **********/
System.out.println("数组scores的长度为:" + scores.length);
}
}
在上述的动态声明数组的方法中,在new一个对象确定好数组长度后,只能通过索引对元素逐一赋值,或通过循环语句进行赋值。