数组
数组的创建:(1)静态数组的创建
要注意:①数组的创建分两步,第一步是定义一个数组类型的变量;第二步是初始 化数组。
例:int[] array; array=new int[]{10,20,15,83,47,54};
int[] array={10,20,15,83,47,54}; (这是简洁的静态初始化方式定义数组引用变量和数组的初始化必须同步完成,不能按照上面的方式,先 定义在赋值)。
(2)动态数组的创建方式
指程序员指定长度,系统帮你赋上初始值,默认为null
数组创建常见的错误:
(1)初始化数组出错
例:int[] score = new int[]; (错误在缺少数组维,其实就是没有定义数组的长度,因此系统无法判断需要开辟空间的大小)。
new int[7];代表开辟空间却什么都不写,不知道要多大的位置。
(2)初始化数组写多了
例:int[] score = new int[7]; {10,20,30,40,50,60,70};
int [] score = new int[7]{10.20.30.40.50.60.70};
(3)编译时的错误
非法的表达式开始
例:score = {1,2,3,4,5,6}
(4)运行时的错误
数组越界的错误。 比如:Exceptioninthread"main"java.lang.ArrayIndexOutOfBoundsException: 5at Array3.main(Array3.java:41)
经常不懂的地方:就是运行过程中,能运行出来结果后面出现越界提示,但是不知道错误在哪 里,经常需要很长时间才能找出错误,或者不知道到底哪里出错了。
数组中的排序:
java的排序分为八大排序方法,对数组进行排序。
例:import java.util.*;
class Array5
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in); //建立输入数据
int[] scores = new int[5]; //定义数组,并确定数组的个数
for (int i = scores.length -1; i >= 0;i-- ) //定义为倒叙循环录入分数
{
System.out.println("请输入第" + (i + 1) + "个学生的分数");
scores[i] = input.nextInt(); //输入参数
}
int max = scores[0]; //定义最大值为数组的第一个下标
for (int i = 0; i < scores.length; i++)
{
if (max < scores[i]) // 最大值循环比较
{
max = scores[i];
}
}
System.out.println("max = " + max);
}
}