JAVA入门-5:数组和foreach循环

版权声明:&&&孙小凯 https://blog.csdn.net/sun_junkai/article/details/86250858

JAVA入门-5:数组和foreach循环

首先,我们先了解一下什么是数组!

1. 什么是数组

在某些情况下,虽然可以使用单个变量来存储信息,但是如果需要存储的信息较多(例如存储 50 件商品的价格),这时再依次创建变量声明并赋值显得非常麻烦。随着处理的信息量越来越大,工作也就越来越烦琐,这时可以使用数组或集合来存储信息。

数组用来存储一系列的数据项,其中的每一项具有相同的基本数据类型、类或相同的父类。通过使用数组,可以在很大程度上缩短和简化程序代码,从而提高应用程序的效率。

说的通俗一点,没有数组就好比我们要把同一样东西全都放到一个盒子里面,有了数组就是把这些东西平均分到多个盒子里面!

2. 创建数组

下面就是如何创建一个数组,创建数组有三种方式。

第一种:

public class Test {
	public static void main(String[] args) {
		//第一种创建方法,这是一个长度为5的数组,但是数组内容全部为0,因为我们没有给它赋值
		int[] arr = new int[5];//方括号内的数字为数组长度
		//用for循环输出一下这个数组
		for (int i = 0; i < arr.length; i++) {
			System.out.println("arr["+i+"]="+arr[i]+" ");
		}
	}
}

结果为:
在这里插入图片描述
注:数组下标是从0开始的。

第二种:

public class Test {
	public static void main(String[] args) {
		//第二种创建方法,这是一个长度为5的数组,跟第一种不同的是这一种直接给数组赋值了
		int[] arr = {1,2,3,4,5};//因为给数组赋了5个值,所以数组长度为5
		//循环输出一下
		for (int i = 0; i < arr.length; i++) {
			System.out.println("arr["+i+"]="+arr[i]+" ");
		}
	}
}

结果是:
在这里插入图片描述

第三种:

public class Test {
	public static void main(String[] args) {
		//第三种有点像是第一种和第二种的结合,并未定义这个数组长度,是直接给它赋值了
		int[] arr= new int[]{1,2,3,4,5};
		//循环输出一下
		for (int i = 0; i < arr.length; i++) {
			System.out.println("arr["+i+"]="+arr[i]+" ");
		}
	}
}

结果是:
在这里插入图片描述

我定义的都是int(整数)类型的数组,大家可是试试其他类型的如 double、float、String等;

这就是创建数组的三种方法;

之前我们用的都是for进行循环,下面说一种新类型的循环,JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组。

for(type element: array)//type循环依据类型,element循环条件名称,array要被循环的数组
{
    System.out.println(element);
}

上面就是数组,不过数组呢不光是这一种,上面说到的只是最简单的一种,也可能是初期最常用的一种,它叫做一维数组,下面我们说说二维数组、三维数组、多维数组;

3. 二维数组:
多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组,例如:

type arrayName = new type[arraylenght1][arraylenght2];

注: type 可以为基本数据类型和复合数据类型,arraylenght1 和 arraylenght2 必须为正整数,arraylenght1 为行数,arraylenght2 为列数。
例如:

int a[][] = new int[2][3];

解析: 二维数组 a 可以看成一个两行三列的数组。

4. Arrays类:
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

具有以下功能:

  • 给数组赋值:通过 fill 方法。
  • 对数组排序:通过 sort 方法,按升序。
  • 比较数组:通过 equals方法比较数组中元素值是否相等。
  • 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

具体说明见下表:

序号 方法和说明
1 public static int binarySearch(Object[] a, Object key)用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。
2 public static boolean equals(long[] a, long[] a2)如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
3 public static void fill(int[] a, int val)将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
4 public static void sort(Object[] a)对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。

好了这就是数组的一下知识!

每天进步一点点!

猜你喜欢

转载自blog.csdn.net/sun_junkai/article/details/86250858