数组的使用
首先定义,然后用new生成数组,最后通过下标访问
定义
此时只是引用还未分配内存空间,需要使用new去分配内存空间,否则是无法被访问的
定义的两种方法:
数据类型 数组名[];
数据类型 [] 数组名;
对于二维数组:
数据类型 数组名[][];
数据类型[][] 数组名;
如:
int a[];
int[] b;
生成数组:
数据变量名=new 数据类型[数组长度];
必须给出长度,并且数组一旦创建,就不允许在增加空间
使用new后,数组中每个成员会被初始化,初始化的值如下
数值型 | 0 |
字符型 | \0 表示一个字符串结束的标志。 |
布尔型 | false |
类对象 | null |
小细节:
二位数组的长度: 如 int temp[][]=new int[3][5];
则temp.length 是指二维数组temp的行数,故temp.lengrh=3;
temp[1].length是指temp的第一行的列数故temp[1].length=5;
二维数组定义时 如:int temp[][]={{1,2},{3,4},{5,6}}是指二维数组有三行,每行有二列,如temp[0][1]=2
无论一维还是二维都可以一开始就赋初值: int t[]={1,2,3}; int temp[][]= {{1,2},{3,4},{5,6}} 但是[]中不要指出数组有多长。
Arrays类
Arrays类在 java.util中,里面的方法是用static修饰的方法(所以可以直接使用类名调用),用于对数组进行一些特定操作(如排序)。
如:
import java.util.Arrays; public static void main(String[] args) { int a[]= {7,2,3}; Arrays.sort(a); for(int i=0;i<a.length;i++) { System.out.println(a[i]); } }
一些其他函数如: copyOf 用于复制数组 binarySearch 二分搜索法查找 equals 判断两个数组是否相等 fill 填充数组 sort 排序
用Arrays实现对中文排序:
package package03; import java.util.Arrays; import java.text.Collator; import java.util.Comparator; public class shuzu { public static void main(String[] args) { String[] arr= {"计算机","长江","通信","数学"}; Comparator comparator=Collator.getInstance(java.util.Locale.CHINA);// Collator类是用来执行区分语言环境的字符串比较,这里使用中文CHINA Arrays.sort(arr,comparator);//在sort中排序,按照指定的比较器产生的顺序对指定对象数组进行排序 for(int i=0;i<arr.length;i++) { System.out.println(arr[i]); } //sort 一般按照数值的大小或字母顺序排序,若想排序中文,需要指定比较器comparator,按照比较器 //顺序进行比较 } }