Java与一维数组
1. Java中的数组
在Java中,数组是具有相同数据类型的有序数据的集合,它是一个对象。这些数据使用同一标识符作为数组名;数组中的每个数据称为数组元素,通过下标访问。
2.一维数组的声明
数据类型[] 数组名
或者
数据类型 数组名[]
比如声明一个int类型的数组,数组名Array,格式如下:
int[] Array或者int Array[]
3.一维数组的初始化
(1)静态初始化
指声明数组的同时为数组元素赋值
数据类型[] 数组名={元素1初值,元素2初值,元素3初值,……}
静态初始化数组时无需说明数组大小,系统会根据数组个数自动判断,并分配相应的内存空间。适用于元素个数不多或可列举的情况。
(2)动态初始化
数据类型[] 数组名;
数组名=new 数据类型[数组长度];
说明:上面两行都要写
注意:
1. new关键字用来为数组分配内存空间
2.数组长度应为整型常量或表达式
4.一维数组的使用
访问数组元素:
数组名[数组下标];
Notice(注意):数组下标从0开始,到数组长度-1结束
数组对象有length属性表示数组的长度,可以使用 数组名.length
实例
编写一个程序,找出一堆数组中元素的最大值、最小值并交换。
//实验:数组的用法
//UpsideDown.java
import java.util.Scanner;
public class UpsideDown {
public static void main(String[] args){
int count; // 数组元素的个数,即数组大小
System.out.println("你想要在一维数组中创建几个元素?");
Scanner in = new Scanner(System.in);
count=in.nextInt();
//初始化数组
int[] array;
array=new int[count];
for(int i=0; i < count; i++){ // 输入数组元素
System.out.println("请输入第"+(i+1)+"个数: ");
array[i]=in.nextInt();
}
System.out.println("数组排列前的顺序为: ");
for(int i=0;i < array.length;i++){ // 输出数组元素
System.out.print(array[i]+" ");
}
int max=array[0],min=array[0]; //记录最大值,最小值,初始化为第一个元素
int maxIndex=0,minIndex=0; // 记录最大值和最小值在数组中的下标,初始化为第一个元素
for(int i=0;i < array.length-1;i++){ // 找出最大值及其下标,最小值及其下标
if(max<array[i+1]){
max=array[i+1];
maxIndex=i+1;
}
if(min>array[i+1]){
min=array[i+1];
minIndex=i+1;
}
}
in.close(); // 输入流关闭
System.out.println();
System.out.println("数组中元素最大值:"+max);
System.out.println("数组中元素最小值:"+min);
int temp;
// 下面三行交换最大值和最小值的位置
temp=array[maxIndex];
array[maxIndex]=array[minIndex];
array[minIndex]=temp;
System.out.println("交换最大值和最小值后的顺序为: ");
for(int i:array){ // 输出数组元素
System.out.print(i+" ");
}
}
}