1.为什么要用数组? 减少变量的使用,用来存储一个元素个数固定且类型相同的有序集。注意!数组一旦定义就确定的长度,不可随意改变。 2.如何使用数组
声明: (1)数组元素类型[] 变量名,如:int[] arry; (2)数组元素类型 变量名[],如:int arry[](不推荐使用) 创建: 变量名=new 元素类型[数组长度] ,如:arry=new int[10]; 定义: 声明+创建,如:
int[] array=new int[10] (推荐使用) int array[]=new int[10]
初始化: 声明、创建和初始化一起进行如下两种方法:
double[] array={1.2,2.3,3.4,4.5,}
int[] array=new int[3]; array[0]=0; array[1]=1; array[2]=2;
处理数组: 初学者最常用的集中处理数组的方法
(1)输入值初始化数组用for循环,一是因为知道数组长度,二是因为所有元素同类型;
for(int i=0;i<array.length;i++){ array[i]=input.nextInt; }
(2)使用随机数初始化数组(0到100随机数初始化数组)
for(int i=0;i<array.length;i++){ array[i]=Math.random()*100; }
(3)找最大元素的最小下标值
int max=array[0]; int index=0; for(int i=0;i<array.length;i++){ if(array[i]>max){ max=array[i]; index=i; }
(4)对所有元素求和
int total=0; for(int i=0;i<array.length;i++){ total+=array[i]; }
(5)随机打乱数组元素的顺序
for(int i=0;i<array.length;i++){ int j=(int)Math.random()*array.length; int temp=array[i]; arrray[i]=array[j]; array[j]=temp; }
(6)移动元素(元素向👈移动一个的同时并且将第一个元素放在最后)
int temp=array[0]; for(int i =0;i<array.length;i++){ array[i]=array[i+1]; } array[array.length-1]=temp;
实例1: 随机产生四张扑克牌,说明其花色和顺序
class Deck{ public static void main(String[] args){ int[] deck=new int[52]; //定义第一个数组存52张扑克牌 ,用到定义方法一 String[] suits={"Spades","Hearts","Diamonds","Clubs"};//定义第二个数组存花色 ,用到定义同时初始化方法 String[] ranks={"A","1","2","3","4","5","6","7","8","9","10","J","Q","K"}; //定义第三个数组存A~K for(int i=0;i<deck.length;i++){ //第一个for循环初始化数组 deck[i]=i; } for(int i=0;i<deck.length;i++){ //第二个for循环打打算数组顺序,像插牌一样 int index=(int)(Math.random()*deck.length); int temp=deck[i]; deck[i]=deck[index]; deck[index]=deck[i]; } //此循环用到常用处理数组方法(5) for(int i=0;i<4;i++){ //第三个循环找花色和牌的序号 String suit=suits[deck[i]/13]; String rank=ranks[deck[i]%13]; System.out.println("Deck number "+deck[i]+":"+rank+"of"+suit); } } }运行结果: 今日份懒惰总结!!!加深一下印象。 循环的卡儿好像迈过去了,又来了新的一道卡儿,数组数组数组。。。😔继续加油吧!!!
晚安!!!