1. 数组
1.1 定义
- 数组:相同类型的数据按顺序组成的一种引用数据类型
- 语法格式:
- 数据类型[] 数组名
- 数据类型 数组名[]
- 数组的创建
- 先声明后创建
数据类型[] 数组名;
数组名=new 数据类型[数组长度]; - 声明的同时创建数组
数据类型[] 数组名=new 数据类型[数组长度]
**注意:**数组长度必须指定
- 数组在内存中的存储
开辟一块连续的内存空间,数组名指向数组的第一个元素,数组都有特定的默认值
- byte,short,int,long类型定义的数组,初始化默认是0
- float、double类型定义的数组,默认值是0.0
- String类型定义的数组,默认值是null
- char类型定义的数组,默认值是‘0’(’\u0000’)
- boolean类型定义的数组,默认值是false
- 数组的初始化
声明数组的同时给数组赋值,也叫数组的初始化,数组的长度就是初始化时所给数组元素的个数
注意:
- 数组下标从0开始
- 数组是引用数据类型
- 创建数组时会开辟连续的内存空间
- 属性length表示数组的长度,如a.length
- 数组下标越界,会产生运行时异常
2. 使用案例
- 数组的赋值与输出操作
public class ArrayDemo {
public static void main(String[] args) {
int[] a=new int[5];
Scanner sc=new Scanner(System.in);
for(int i=0;i<a.length;i++) {
System.out.println("请输入第"+(i+1)+"个元素");
a[i]=sc.nextInt();
}
System.out.println("数组元素的内容为");
for(int i=0;i<a.length;i++) {
System.out.println(a[i]+" ");
}
}
}
- 增强型for循环(forreach循环)
public class ArrayDemo {
public static void main(String[] args) {
int[] a=new int[5];
Scanner sc=new Scanner(System.in);
for(int i=0;i<a.length;i++) {
System.out.println("请输入第"+(i+1)+"个元素");
a[i]=sc.nextInt();
}
System.out.println("数组元素的内容为");
for(int i=0;i<a.length;i++) {
System.out.print(a[i]+" ");
}
System.out.println();
System.out.println("增强型for循环输出数组元素的内容为");
for(int n:a) {
System.out.print(n+" ");
}
}
}
- 冒泡排序
public class SortDemo {
public static void main(String[] args) {
int[] a= {34,53,12,32,56,17};
System.out.println("排序前数组元素为:");
for(int n:a) {
System.out.print(n+" ");
}
System.out.println();
int temp;
for(int i=0;i<a.length-1;i++) {
for(int j=0;j<a.length-1-i;j++) {
if(a[j]>a[j+1]) {
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
System.out.println("排序后数组元素为:");
for(int n:a) {
System.out.print(n+" ");
}
}
}