数组:初始化,访问某一个,遍历

静态初始化数组

定义数组的时候直接给数组赋值。

简化格式:
int[] ages = {12,52,96};
完整格式:
int[] ages = new int[]{12,16,26};
  • 数组变量名中存储的是数组在内存中的地址,数组是一种引用数据类型
  • 什么类型的数据必须存放什么类型的数组
package com.zhang.define;

public class ArrayDemo1 {
    public static void main(String[] args) {
        //目标:掌握数组的定义方式一:静态初始化数组

        //简写
        int[] age = {13,66,25,19};
        double[] score = {36.9,99.9,98.5};

        //全写
        int[] fee = new int[]{166,99,633,85};
        double[] score2 = new double[]{66,99,398.2};
    }
}

数组的访问:遍历

  • 数组的长度属性:length

package com.zhang.define;

public class ArrayDemo2 {
    public static void main(String[] args) {
        //目标: 掌握数组的访问
        int[] arr = {16,99,65};

        //1. 访问全部数据
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
        //访问数组时,使用的索引超过了数组最大索引,会出现越界的提醒
        //System.out.println(arr[3]);

        //2. 修改数组中的数据
        arr[1] = 100;
        arr[2] = 50;
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);

        //3. 访问数组中元素的个数
        System.out.println(arr.length);

        //技巧:获取数组最大索引,即数组最大下标: arr.length-1
        System.out.println(arr.length-1);

        //最大索引不一定是1,下面这个数组的索引就是0
        int[] arr2 = {};
    }
}

运行:
在这里插入图片描述

数组案例


package com.zhang.define;

public class ArrayTest4 {
    public static void main(String[] args) {
        // 数组遍历求和:
        //需求:某部门5名员工的销售额是16,26,36,6,100,请计算出他们部门的总销售额

        int[] sales = {16,26,36,6,100};
        int sum = 0;
        for (int i = 0; i < sales.length; i++) {
            sum += sales[i];
        }
        System.out.println(sum);
    }
}

运行:
在这里插入图片描述

动态初始化数组

  • 定义数组是先不存入具体的元素值,只确定存储数据的类型和数组的长度
int[] arr = new int[3];
  • 静态初始化和动态初始化数组的写法是独立的,不能混用。
错的:int[] arr = new int[3]{33,26,52};
package com.zhang.define;

import java.util.Scanner;

public class ArrorDemo5 {
    public static void main(String[] args) {
        //目标:掌握定义数组的方式二:动态初始化数组
        int[] ages = new int[3];
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入三个年龄:");

        for (int i = 0; i < ages.length; i++) {
            ages[i] = sc.nextInt();
        }

        for (int i = 0; i < ages.length; i++) {
            System.out.println(ages[i]);
        }

        System.out.println("-----------");
        //初始化
        char[] c = new char[3];
        //因为打印出来是ascii为0对应的字符,但是并没有这个字符,所以强制转换得到的数字就是0
        System.out.println((int)c[0]);

    }
}

运行结果:
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述

案例

在这里插入图片描述

package com.zhang.define;

import java.util.Scanner;

public class ArrayTest6 {
    public static void main(String[] args) {
        //需求:某歌唱比赛,需要开发一个系统:可以录入6名评委的打分,录入完毕后即输出平均分作为选手得分。

        double[] scores = new double[6];
        Scanner sc = new Scanner(System.in);
        double sum = 0;
        for (int i = 0; i < scores.length; i++) {
            System.out.println("请输入第"+(i+1)+"个评委的打分:");
            scores[i] = sc.nextDouble();
            sum += scores[i];
        }
        double rs = sum / (scores.length);
        System.out.println("选手的最后得分是:"+rs);
    }
}

在这里插入图片描述

  • 17
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值