数组
引用数据类型,相同数据类型元素的集合。
定义
- 声明数组名arr1,里面能存10个元素,这10个元素都是int类型,int默认值为整数
int [ ] arr1 = new int [10];
赋值:根据下标找到该元素 arr1[0] = 3; 代表第一个元素赋值3
arr 1[2] =3.5; 报错,类型要一致,int类型不能写小数
- 声明数组名arr2,里面能存8个元素,这8个元素都是double类型,double默认值为小数
double [ ] arr 2 = new double [8];
arr 2 [2] = 5.5; 代表第3个元素赋值5.5
方法
- 获取数组的长度(元素个数)数组名.length
System.out.println(arr 1.length);
- 获取数组中的元素:以下标的形式来找, 第一个元素,下标0 ,第2个元素,下标1
arr1[0] = 3; 第1个元素
- 遍历(查看所有元素)
for (int i=0;i<=arr3.length;i++) {
System.out.println(arr2[i]+"\t");
}
- 复制: 将数组1中的数取出来,存到数组2中
创建a
int[]a=new int[10];
for (int i=0;i<10;i++){
}
创建b
int[]b=new int[10];
复制a到b
System.arraycopy(a,0,b,0,10);
- 排序(升序)
Arrays.sort(数组名);
long [ ] c = {6L,3L,80L,5L,108L,17L};
Arryas.sort(c);//将数组元素重新按照升序排列
变成:long [ ] c = {3L,5L,6L,17L,80L,108L,};
- 下标:
数组第一个元素a[0]; 最后一个元素 a[a.length-1]
练习
要求: 从控制台,输入10个 1-100之间的整数存入数组a, 复制该数组到b,进行升序排列 ,若最大值大于90,获得3星紫卡一张
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Scanner;
public class a2 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
//创建a
int[]a=new int[10];
//创建10个1~100的整数
for (int i=0;i<a.length;i++){
a[i]=(int)(Math.random()*100)+1;
}
//创建b
int[]b=new int[10];
//复制a到b
System.arraycopy(a,0,b,0,10);
//升序
Arrays.sort(b);
//遍历
for (int i=0;i<b.length;i++) {
System.out.print(b[i] + "\t");
}
//判断最大值也就是最后一个值大小
if (b[b.length-1]>90){
System.out.println("3星紫卡一张");
}
}
}