数组
来源:互联网 发布:磁力解析app源码 编辑:程序博客网 时间:2024/05/18 02:52
概念
同一种类型数据的集合。其实数组就是一个容器。
数组的好处:可以自动给数组中的元素从0开始编号,方便操作这些元素。如果需要存储大量的数据,例如如果需要读取100个数,那么就需要定义100个变量,显然重复写100次代码,是没有太大意义的。如何解决这个问题,Java语言提供了数组(array)的数据结构,是一个容器可以存储相同数据类型的元素,可以将100个数存储到数组中。
数组创建:
方式一:type[] 变量名 = new type[元素个数]; ——如:int[] a = new int[10];
方式二:type 变量名[] = new type[元素个数]; ——如:int a[] = new int[10];
方式三:type[] a= new type[]{初始化值,逗号分隔} ——如:int[] a=new int[]{1,2,3}
声明方式
数组的声明由几种方式:
1,String []a = new String[length];再赋值
a[0]=?;…….
2,new完就直接初始化:
String []a = new String[]{?,?…};
3.你甚至不必new:
String []a = {?,?….}同样没问题。
public class ArrayDemo01{ public static void main(String args[]){ int score[] = null; //声明数组 score = new int[3]; //为数组开辟空间 } }
数组的初始化:
静态初始化:
int [][] a = new int[][]{ {12,34,45,89},{34,56,78,10},{1,3,6,4} };
动态初始化:
int a[][]=new int[3][4]; for(int i=0;i<a.length;i++){ for(int j=0;j<a[i].length;j++){ a[i][j]=sc.nextInt(); }}
Arrays的使用
遍历: toString() 将数组的元素以字符串的形式返回
排序: sort() 将数组按照升序排列
查找: binarySearch()在指定数组中查找指定元素,返回元素的索引,如果没有找到返回(-插入点-1) 注意:使用查找的功能的时候,数组一定要先排序。
int a[]=new int[]{10,20,30,40};System.out.println(Arrays.toString(a));Arrays.sort(a);System.out.println(Arrays.toString(a));System.out.println(Arrays.binarySearch(a,30));
最常见的问题:
NullPointerException 空指针异常
原因: 引用类型变量没有指向任何对象,而访问了对象的属性或者是调用了对象的方法。ArrayIndexOutOfBoundsException 索引值越界。
原因:访问了不存在的索引值。
一数组角标越界异常:,注意:数组的角标从0开始。
public static void main(String[] args) { int[] x = { 1, 2, 3 }; System.out.println(x[3]); //java.lang.ArrayIndexOutOfBoundsException}
二 空指针异常:
public static void main(String[] args) { int[] x = { 1, 2, 3 }; x = null; System.out.println(x[1]); // java.lang.NullPointerException}
总结:
总结:3种创建方式,静态初始化和动态初始化,Arrays的使用(遍历,排序,查找),数组越界和空指针错误。