• 数组


    什么是数组?

    • 数组是相同类型的变量的集合,所有元素的类型都一样,例如 int 类型
    • 可以指定数组包含的元素个数,最多为 int 的最大值个
    • 元素有固定的顺序
    • 每个元素都有一个固定的编号,称之为索引(index),从 0 开始递增,类型为 int
    • 可以像操作变量一样读写数组中的任何一个元素
    • 假设之前的变量是一张有名字的纸,那么就可以通过这个名字读写这个变量;类比一下,数组则是一个有名字的本子。本子有一个名字,每页纸有一个页码。通过本子的名字和页码可以读写对应的数组元素。

    创建和使用一个数组的语法

    • 数组元素类型[] 变量名 = new 数组元素类型[数组长度]
    • 变量名[index] 可以使用这和个变量,可以读取也可以给它赋值。
    public class CreateArray {
        public static void main(String[] args) {
            int[] intArray = new int[9]; // 新建一个int类型的数组,长度为9 初始状态下,数组元素没有赋值的话默认为0
            System.out.println(intArray[0]);
            System.out.println(intArray[8]);
    
            double[] doubleArray = new double[100];
            System.out.println(doubleArray[66]);
            System.out.println(doubleArray[99]);
        }
    }

    用数组处理6门功课的成绩

    • 创建一个大小为6的double类型的数组
    • 创建一个大小为6的String数组,代表每门课的名字
    • 为每门课创建一个 int 变量,值为这门课的成绩对应的数组的索引
    • 求出最高成绩的逻辑
    public class ScoreArrayMaxScore {
        public static void main(String[] args) {
            // 为每门课创建索引
            int yuWen = 0;
            int shuXue = 1;
            int yingYu = 2;
            int wuLi = 3;
            int huaXue = 4;
            int shengWu = 5;
    
            int totalScoreCount = 6; // 科目总门数
            double[] scores = new double[totalScoreCount]; // 创建成绩数组存放成绩
    
            String[] scoreNames = new String[totalScoreCount]; // 创建科目名称数组存放名称
            scoreNames[yuWen] = "语文";
            scoreNames[shuXue] = "数学";
            scoreNames[yingYu] = "英语";
            scoreNames[wuLi] = "物理";
            scoreNames[huaXue] = "化学";
            scoreNames[shengWu] = "生物";
    
            for (int i = 0; i < totalScoreCount; i++) {
                // 生成一个80-100之间的随机数 min+Math.random()*mod 其中,mod=max-min
                scores[i] = 80 + Math.random()*20; // 在成绩数组中写入成绩
                System.out.println(scoreNames[i] + "成绩为:" + scores[i]);
            }
    
            double maxScore = 0; // 最好成绩
            int maxScoreIndex = -1; // 最好成绩索引
    
            for (int i = 0; i < totalScoreCount; i++) {
                if (scores[i] > maxScore) {
                    maxScore = scores[i];
                    maxScoreIndex = i;
                }
            }
            System.out.println("最好成绩科目是:" + scoreNames[maxScoreIndex] + ",该科目成绩为:" + maxScore);
        }
    }
  • 相关阅读:
    java反射
    sql语句
    menu
    亮度
    自定义View
    将多层级xml解析为Map
    Theme.AppCompat无全屏主题解决办法
    Android EditText 限制输入为ip类型
    请不要乱用Kotlin ? 空检查
    配置 jvisualvm 监控Java虚拟机
  • 原文地址:https://www.cnblogs.com/buildnewhomeland/p/12184816.html
Copyright © 2020-2023  润新知