Java-数组入门

Java语法基础——数组

数组的概念

同一种类型数据的集合,其实数组就是一个容器。数组既可以存储基本数据类型,也可以存储引用数据类型。

数组的声明与创建

在Java中数组的定义方式共有三种

格式一:

元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
int[] x = new int[3];

格式二:

元素类型[] 数组名 = new 元素类型[]{元素, 元素, ……}; 
int[] arr = new int[] {13, 21, 14, 32, 9};

格式三:

int[] arr = {13, 21, 14, 32, 9};

数组的特点

  1. 四个基本特点
    其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
    其元素必须是相同类型,不允许出现混合类型。
    数组中的元素可以是任何数据类型,包括基本类型和引用类型。
    数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
    数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
  2. 数组边界
    下标的合法区间:[0,length-1],如果越界就会报错
    ArraryIndexOutOfBoundsException:数组下标越界异常!

数组的使用

1、for-Each循环

遍历数组可以用增强型for循环,省去了下标,可在 Jdk1.5版本以上使用,适用于打印输出,不适合修改元素

for(int arr : arr){
}

2、数组做方法参数

数组可以作为参数传递给方法。
例如:

public static void printArray(int[] array) {
  for (int i = 0; i < array.length; i++) {
    System.out.print(array[i] + " ");
  }
}
//调用printArray方法打印
printArray(new int[]{3, 22, 12, 43, 14, 2});

3、数组做返回值

public static int[] reverse(int[] list) {
  int[] result = new int[list.length];
 
  for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
    result[j] = list[i];
  }
  return result;
}

Arrays类讲解

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

功能如下

static String toString(xxx[] a);//返回包含a中元素的一个字符串,这些元素用中括号包围,并用逗号分隔。在这个方法以及后面的方法中,数组元素的类型xxx可以使int、long、short、char、byte、boolean、float、double

static xxx[] copyOf(xxx[] a,int end);

static xxx[] copyOf(xxx[] a,int start,int end);
//返回与a类型相同的一个数组,其长度为length或者end-start,数组元素为a的值。如果end大于a.length,结果会填充0或false

static void sort(xxx[] a);//使用优化的快速排序算法对数组进行排序

static int binarySearch(xxx[] a,xxx v);

static int binarySearch(xxx[] a,int start,int end,xxx v);
//使用二分查找算法在有序数组a中查找值v。如果找到v,则返回相应的下标;否则,返回一个负数值r,-r-1是v应插入的位置(为保持a有序)

static void fill(xxx[] a,xxx v);//将数组的所有数据元素设置为v

static boolean equals(xxx[] a,xxx[] b);//如果两个数组大小相同,并且下标相同的元素都对应相等,返回true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值