Java 数组
1.什么是数组:
1.数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式,是用于储存多个相同类型数据的集合。通过使用数组,
可以在很大程度上缩短和简化程序代码,从而提高应用程序的效率。
2.数组是用于储存多个相同类型数据的集合。
3.数组具有以下特点:
● 数组可以是一维数组、二维数组或多维数组。
● 数值数组元素的默认值为 0,而引用元素的默认值为 null。
● 交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。交错数组元素的维度和大小可以不同。
● 数组的索引从 0 开始,如果数组有 n 个元素,那么数组的索引是从 0 到(n-1)。
● 数组元素可以是任何类型,包括数组类型。
● 数组类型是从抽象基类 Array 派生的引用类型。
2.数组的声明创建和取值:
public class Text_array { public static void main(String[] args) { //声明数组的两种形式 int[] nums; //首选 int num[]; //知道就行 //创建一个存放10个int类型的数组 注意数组要声明然后创建 //数组的声明并不会分配内存空间 创建的时候才会分配内存空间 nums = new int[10]; //声明和创建可以写在一起 int[] array = new int[10]; //创建完了就可以对数组赋值了 //通过下标对数组创建的空间赋值 如果没有对某个空间赋值默认是0 nums[0] = 1; nums[1] = 2; nums[2] = 3; nums[3] = 4; nums[4] = 5; nums[5] = 6; nums[6] = 7; nums[7] = 8; nums[8] = 9; nums[9] = 10; //通过下标取值 System.out.println(nums[0]); }
3.数组的三种初始化:
public class Text_array { /* 数组的三种初始化 */ public static void main(String[] args) { //1.静态初始化:创建+赋值 int[] a = {1,2,3,4,5}; //2.动态初始化:需要手动赋值 不赋值默认是0 int[] b = new int[10]; b[0] = 1; //3.默认初始化:再不给创建的空间赋值时 系统会默认给值 int[] c = new int[10]; System.out.println(c[0]); } }
4.遍历数组:
public class Text_array { public static void main(String[] args) { int[] nums; nums = new int[3]; nums[0] = 1; nums[1] = 2; nums[2] = 3; //遍历数组的两种方式 建议使用第一种 //第一种: for (int i : nums) { System.out.print(i+" "); } //第二种: for (int i=0;i<nums.length;i++){ System.out.print(nums[i]+" "); } } }
5.二维数组的初始化:
public class Text_array { public static void main(String[] args) { //静态初始化一个二维数组 int[][] array = {{1,2},{3,4},{5,6}}; //动态初始化一个二维数组 int[][] sum = new int[2][2]; sum[0][0] = 10; sum[0][1] = 20; } }
6.遍历二维数组:
public class Text_array { public static void main(String[] args) { //静态初始化一个二维数组 int[][] array = {{1,2},{3,4},{5,6}}; //第一种遍历 for (int[] ints : array) { for (int anInt : ints) { System.out.print(anInt+" "); } } //第二种遍历 for (int i = 0;i<array.length;i++){ for (int k = 0;k<array[i].length;k++){ System.out.print(" "+array[i][k]); } } } }
7. Arrays类的使用:
前面完成数组的打印和其他的操作都需要自己写 用上Arrays类很多的内容就不需要自己写了 调用Arrays中的方法就可以了
import java.util.Arrays; public class Text_array { public static void main(String[] args) { //静态初始化一个二维数组 int[] a = {123,434,54,647,78786,323,342,21,89}; //用Arrays打印数组Arrays.toString() System.out.println(Arrays.toString(a)); //结果:[123, 434, 54, 647, 78786, 323, 342, 21, 89] //用Arrays 将数组从大到小排序 Arrays.sort(a); System.out.println(Arrays.toString(a)); //结果:[21, 54, 89, 123, 323, 342, 434, 647, 78786] } }
其他Arrays类的使用可以去jdk文档中查看。