数组的应用

 

第一次接触数组。

数组的语法:

1.声明数组:

数据类型 [] 数组名

int []scores;   double []height;  String[]names;

2.分配空间:虽然上面已经声明了数组,但是并能够使用。因为还没有为数组分配内存空间。分配空间就是告诉计算机在内存中分配一些连续的空间来存储数据。

数组名=new 数据类型[数组长度]就是存放的------(元素个数)

scores=new int[ 3];//长度为30的int类型数组

height=new double [30];//长度为30的double类型的数组

names=new String [30];//长度为30的String类型的数组

将两部合并,即在声明数组的同时,就给他分配空间:

数据类型[]数组名=new 数据类型[];

int scores[]=new int [30];//储存30个学员的成绩

声明了一个数组的大小就不能修改了,比如现在数组的长度为30,若想要加入31个成绩,则需要重新 声明新的数组。

3.赋值。

数组名[下标值]

scores[0]=78;

scores[1]=89;

scores[2]=70;

当然这样的声明赋值,开空间可以简化成一行:

数据类型[]数组名={值1,值2,值3,。。。};

int []scores={10,20,30,40,50};

同时也等价于int []scores=new int []{10,20,30,40,50};

 

这样数组的简单介绍就结束了,现在我们kan yi kan 数组的常见应用经典案例

首先,yong数组求平均分

计算5名学生的 平均分

 1 /**
 2  * 计算5名学生的 平均分
 3  */
 4 public class PingJun {
 5     public static void main(String[]args){
 6         int []score={56,90,78,99,100};//成绩数组
 7         for (int i = 0; i < score.length; i++) {
 8             System.out.println(score[i]);
 9         }
10         int sum=0;
11         for (int i = 0; i < score.length; i++) {
12              sum=sum+score[i];
13         }//for
14          int avg=sum/5;
15             System.out.println("五位同学的平均分为:"+avg);
16     }
17 
18 }

数组排序

应用语法:   Arrays.sort(数组名)

 1 import java.util.Arrays;
 2 /*
 3  * 五位同学的成绩升序排列
 4  * */
 5 public class Paixusheng {
 6    public static void main (String[]args){
 7        int []score={90,45,67,96,35};
 8        System.out.println("排序前的成绩:");
 9        for (int i = 0; i < score.length; i++) {
10          System.out.println(score[i]+"	");
11        }
12        System.out.println("排序后的成绩:");
13        Arrays.sort(score);//对数组进行升序排列
14        for (int i=0 ; i < score.length; i++) {
15            System.out.print(score[i]+"	");
16     }
17      
18    }
19 }

 

 


 利用打擂算法求最大值

import java.util.Scanner;
/*
 * 求最大值
 * 五名同学
 * */
public class ZuiDazhi {
    public static void main (String[]args){
        int []scores=new int [5];//声明数组
        Scanner input=new Scanner(System.in);
        System.out.println("请输入五位同学的成绩");
        for (int i = 0; i < scores.length; i++) {
            scores[i]=input.nextInt();
        }
        int max=scores[0];
        for (int i = 0; i < scores.length; i++) {
            if(scores[i]>max){
                max=scores[i];
              }//if
        
        }//for
        System.out.println("最大值"+max);
        
        
    }
}

向数组中插入元素

import java.util.Scanner;
/*
 * 向数组中插入元素
 * */
public class ChaRuyuansu {
   public static void main(String[]args){
       Scanner input=new Scanner(System.in);
       int []score={50,40,30,20,10,0};
       int index=score.length-1;
       System.out.println("请输入插入的成绩");
       int num=input.nextInt();
       for (int i = 0; i < score.length;i++) {
            if (num>score[i]){
                index=i;
                break;
        }//if
        }
            for (int j = score.length-1; j >index; j--) {
                score[j]=score[j-1];
            }
            score[index]=num;
            System.out.println("输出插入的下标"+index);
            System.out.println("插入后的成绩");
            for (int k = 0; k < score.length; k++) {
            System.out.print(score[k]);
        }
        
   }
}
原文地址:https://www.cnblogs.com/cuixiaomeng/p/6698810.html