数组是表示多个相同类型变量的集合
(在一个数组中所存放的所有元素的类型必须一致),可以使用共同的名字引用它
属于引用数据类型
特点:
由类型相同的元素组成的有顺序的数据集合
Java数组是固定的不能扩展[长度一旦声明,不能修改]
可以存储基本数据类型或对象
数组可以定义为任意数据类型,并且可分为一维数组或多维数组
一维数组
一维数组实质上是相同类型变量的列表。要创建一个数组必须首先定义数组变量所需的类型。通用的一维数组的声明格式是:type var-name[ ];
int []arr = new [10];
- 数组中的元素必须类型相同,不能存储不同类型的元素,除非使用
Object[ ]
2.可以通过数组的下标操作数组中所存储的元素,注意下标从0开始,例如arr[0]+=12;修改元素的值System.out.println(arr[0]);获取元素
3.声明数组变量后,必须进行初始化操作,也就是定义数组的长度
arr=new int[5],这里表示开启可以存放5个int类型数据的数组,这些元素时连续存放的
3.简单类型的数组初始化长度后,每个元素都有默认值,创建数组后,每个元素都有一个默认值,如果针对的是引用类型,则默认值为null;如果是简单类型中byte short int long float double,则默认值为0,如果char类型默认值为\0,如果boolean类型,则默认false
4.在Java中允许直接赋值初始int[] arr={1,2,3,4,5,6,7}; 注意在于int[]中不能写具体的对应长度 ,也可以写成new int[]{1,2,3,4,5,6,7},但是int[]中不能有长度值
5.运算符new 是专门用来分配内存的运算符,格式为:array-var = new type[size]; 开启出的空间是连续,可以通过下标进行快速定位
数组元素的访问
针对数组中的元素可以通过下标进行访问,访问的语法为: 数据变量的名称[下标]
数组中的所有元素将被初始化为零
声明的同时初始化
在数组定义时指定元素的初始值,即称为数组的初始化
int a[]={1,2,3,4,5}
6.当取出数组元素的时,数组下标索引不能超出数组范围[0到length-1],如果超出数组范围会发生ArrayIndexOutOfBoundsException。例如声明一个数组的元素个数为5,而去取了它的第6个,那么程序就会提示下标越界的错误,可以使用动态的方式来宣告数组长度,而不用在程序中事先决定数组大小
根据输入的参数创建不同长度的数组
package work0108.com;
import java.util.Scanner;
public class A {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int len = sc.nextInt();
int []arr =initArr(len);
System.out.println(arr.length);
}
// 根据输入的参数创建不同长度的数组
public static int[] initArr(int length) {
return new int[length];
}
}
循环打印出小写字母
package work0108.com;
public class B {
public static void main(String[] args) {
char c = 'a';
for (int i = 0; i < 26; i++) {
System.out.println((char) (c + i));
}
char[] arr = new char[26];
for (int i = 0; i < 26; i++) {
arr[i] = (char) (c + i);
System.out.println(arr[i]);
}
// 输出数组中的数据
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
//foreach 结构,是用于遍历集合写法的语法,是for循环的简化写法
for (char temp : arr) {
System.out.println(temp);
}
}
}
输出数组中的最小值
package work0108.com;
import java.util.Random;
public class D {
public static void main(String[] args) {
// 获取某个数组中的最小值
int[] arr = new int[10];
Random r = new Random();
for(int i = 0;i<arr.length;i++) {
arr[i] = r.nextInt(10); //把随机的10个数放循环放入数组中
}
for(int temp:arr){ //遍历数组
System.out.print(temp+"\t");
}
System.out.println();
int min = Integer.MAX_VALUE;
for(int i =0;i<arr.length;i++) {
if(arr[i]<min) {
min = arr[i];
}
}
System.out.println(min);
}
}