【无标题】

数组是一个变量,存储相同数据类型的一组数据

声明一个变量就是在内存空间划出一块合适的空间

声明一个数组就是在内存空间划出一串连续的空间

数组基本要素

        标识符:数组的名称

        数组元素:数组中存放的数据

        元素下标:对数组元素进行编号,数组下标从0开始,数组中的每个元素都可以通过下标来访问

        元素类型:数组元素的数据类型

数组长度固定不变,避免数组越界

使用数组四步走

        1.声明数组         int[ ] a;         声明数组: 告诉计算机数组的数据类型是什么

                语法         数据类型 数组名[ ] ;         声明数组时不规定数组长度

                                数据类型[ ] 数组名 ;

                :        int[ ] score1; //Java成绩

                               int score2[ ]; //C#成绩

                               String[ ] name; //学生姓名

        2.分配空间         a = new int[5];         分配空间:告诉计算机分配几个连续的空间

                               创建方式2:声明数组并分配空间

                语法         数据类型[ ] 数组名 = new 数据类型[大小] ;

                例:        score = new int[30];

                               avgAge = new int[6];

                               name = new String[30];

        3.赋值         a [0] = 8;         赋值:向分配的格子里放数据

                方法1:边声明边赋值

               : int[ ] scores = {89, 79, 76};

                       int[ ] scores = new int[ ]{89, 79, 76};

                方法2:动态地从键盘录入信息并赋值

               : Scanner input = new Scanner(System.in);

                       for(int i = 0; i < 30; i ++){

                       score[i] = input.nextInt();

                       }

        4.处理数据 a [0] = a[0] * 10;

               例:对数据进行处理:计算5位学生的平均分

                        int [ ] score = {60, 80, 90, 70, 85};

                        int sum = 0;

                        double avg;

                        for(int i = 0; i < score.length; i++){ 数组的length属性

                                sum = sum + score[i]; 访问成员

                        }

                        avg = sum / score.length;

               例:使用数组求平均分

                        public static void main(String[ ] args) {

                                int[ ] scores = new int[5]; //成绩数组

                                int sum = 0; //成绩总和

                                Scanner input = new Scanner(System.in);

                                System.out.println("请输入5位学员的成绩:");

                                for(int i = 0; i < scores.length; i++){

                                        scores[i] = input.nextInt();

                                        sum = sum + scores[i]; //成绩累加

                                }

                                System.out.println("平均分是:" + (double)sum/scores.length);

                        }

数组的典型应用

一、添加元素

        1.声明该数组

        2.通过比较找到插入位置(下标)

        3.将增加的手机名称插入到该位置

实现代码

        //1.添加元素:将第一个为null的元素 赋值为要添加的元素

                for (int i = 0; i < 数组名.length; i++) {

                        if(数组名[i] == null){

                                数组名[i] = "要添加的元素";

                                break;

                        }

                }

二、修改元素

        1.声明该数组

        2.通过比较找到修改的位置(下标)

        3.修改该位置的元素

实现代码

        //2.修改元素,将原元素修改为要修改成的元素

                for (int i = 0; i < 数组名.length; i++) {

                        if("原元素".equals(数组名[i])){

                        数组名[i] = "要修改成的元素";

                        }

                }

三、删除元素

        1.声明该数组

        2.通过比较找到删除的位置(下标)

        3.将后面的元素依次往前推,将最后一位设置为null

实现代码:

        //删除元素

                //设置一个变量dellndex占位中转

                int delIndex = -1;

                for (int i = 0; i < 数组名.length; i++) {

                        if("要删除的元素".equals(数组名[i])){

                                delIndex = i;

                                break;

                        }

                }

                if(delIndex > -1){

                        for (int i = delIndex+1; i < 数组名.length;i++){

                                数组名[i-1] = 数组名[i];

                        }

                        数组名[数组名.length-1] = null;

                }

四、插入元素

        1.声明该数组

        2.通过比较找到要插入元素的位置(下标)

        3.将后面的元素依次往后推

        //插入元素:将iPhone6(例)插入到iPhone6s(例)前面

                //已知phone[4]是iPhone6s

                int index = -1;

                for (int i = 0; i < phones.length; i++) {

                        if("iPhone6s".equals(phones[i])){

                                index = i;

                                break;

                        }

                }

                if(index > -1){

                        //先让该索引开始的元素,都向后移动一位

                        for (int i = phones.length-2; i >=index ; i--) {

                        phones[i+1] = phones[i];

                        }

                        //赋值

                        phones[index] = "iPhone6";

                }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值