数组的基本要素
- 标识符–>数组名;
- 数组元素–>值;
- 元素下标:–>从0开始;
- 元素类型–>类型;
数组的申明-分配空间-赋值-处理
正常情况下:
int[]a;
a=new int[5];
a[0]=8;
a[0]=a[0]*10;
还可以声明+分配空间:
int[]a=new int[5];
还可以声明+初始化:
int[]a={1,2,3,4,5};
还可以声明+初始化:
int[]a=new int[]{1,2,3,4,5};//**指定长度就是错的;**
还可以声明+键盘输入赋值:
int []a;
Scanner input=new Scanner(System.in);
for(int i=0;i<9;i++)
{
a[i]=input.nextInt();
}
求数组中的最小值
int []a={5,4,3,2,1};
int tmp=a[0];
for(int i=0;i<5;i++)
{
if(a[i]<tmp){
tmp=a[i];
}
}
System.out.println("最小值是:"+tmp);
数组顺序排序(降序)
int []a={5,4,1,2,3};//思路:第1个数后后面4个比较,比完决定是否交换;第二个数再和后面的3个比较...最后一个不用比较
for(int i=0;i<4;i++){
int tmp=0;
for(int j=i;j<5;j++){
if(a[i]<a[j]){
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
System.out.println(Arrays.toString(a));//输出数组;简写是Arrays.toString(a).sout+table键,注意要import java.util.Arrays;
数组插入一个数(该数组从大到小已经排完序了)
int []a={5,4,3,2,1};//思路:定义一个多一位的数组b[a.length+1];把前几位数字从a[]数组导入,最后一位默认为0
int d=4;//d是要按顺序插入数组的数
int []b=new int[6];
for(int i=0;i<5;i++){
b[i]=a[i];
}
boolean flag=false;
for(i=5;i>=0;i--){//从最后一个往前比较,遇到比它小的,扔到后面去,再往前比较;
if(d>b[i]){
b[i+1]=b[i];
else{
flag=true;
b[i+1]=d}
}
}
if(!flag){
a[0]=d;//如果没进行交换,那么d就是最大的,放到第一位;