zoukankan      html  css  js  c++  java
  • Java数组01

    Java数组01

    数组概述

    需求:现在需要统计某公司员工的工资情况,例如计算平均工资、找到最高工资等。假设该公司有80名员工,用前面所学的知识,程序首先需要声明80个变量来分别记住每位员工的工资,然后在进行操作,这样做会显得很麻烦。为了解决这种问题,Java就提供了数组供我们使用。

    那么数组到底是什么呢?有什么特点呢?通过上面的分析:我们可以得到如下两句话:

    数组是存储多个变量(元素)的东西(容器)

    这多个变量的数据类型要一致

    数组的定义格式

     数组的概念

       数组时候存储用一种数据类型多个元素的容器

       数组既可以存储基本数据类型也可以存储引用数据类型

     数组的定义格式

       格式一:数据类型[] 数组名;--->int[] name1;

       格式二:数据类型 数组名[];--->int name2[];

       注意:这两种定义定义好了后,数组中是没有元素值的。

    数组的初始化

     数组初始化概述:

      Java中的数组必须初始化,然后才能使用。

      所谓初始化:就是为数组中的元素分配内存空间,并为每个数组赋值。

     数组的初始化方式:

     <1> 动态初始化:初始化时只指定数组的长度,有系统为数组分配初始值

       格式:数据类型[] 数组名 = new 数据类型[数组长度];

       数组长度其实就是数组中的元素个数。

       举例:int[] arr = new int[3];

       定义了一个int类型的数组,这个数组中可以存放3个int类型的值。

       如何给数组存放数据呢?

       int[] arr = new int[3];

       arr[0] = 12;

       0:下标,也叫索引。代表数组中的第一个值

     <2>静态初始化:初始化时指定每个数组元素的初始值,由系统觉得数组的长度

     数组基本要素:

      1>标识符:数组的名称,用于区分不同的数组

      2>数组元素:向数组中存放的数据

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

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

    案例1:

    package com.lyc.test;
    
    public class ArrayDemo01 {
    
        public static void main(String[] args) {
            //动态初始化:
            //数据类型[] 数组名 = new 数据类型[数组长度];
            int[] arr01 = new int[3];
            arr01[0] = 0;
            arr01[1] = 2;
            arr01[2] = 4;
    
            System.out.println(arr01[0]);
            System.out.println(arr01[1]);
            System.out.println(arr01[2]);
    
            System.out.println("-----------------------");
            //静态初始化:
            //数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
            //int[] arr = new int[]{1,2,3};
            //简化:
            //数据类型[] 数组名 = {元素1,元素2,元素3...};
            //int[] arr = {1,2,3};
            int[] arr02 = {11,22,33,44,55,66,77,88,99,00};
            
            //输出数组名和元素
            System.out.println(arr02[0]);
            System.out.println(arr02[1]);
            System.out.println(arr02[2]);
            
            int len =arr02.length;//获取数组arr02的长度
            System.out.println("长度为:"+len);
        }
    }

    案例2:循环录入五门科目的成绩,并输出

    package com.lyc.test;
    
    import java.util.Scanner;
    
    public class ArrayDemo02 {
        //循环录入五门科目的成绩,并输出
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            //定义数组长度
            int[] scores = new int[5];
            //循环录入五位同学的成绩
            for (int i = 0; i < scores.length; i++) {
                System.out.println("请输入第"+(i+1+"位同学的成绩:"));
                scores[i] = sc.nextInt();
            }
            
            //循环输出五位同学的成绩
            for (int i = 0; i < scores.length; i++) {
                System.out.println("第"+(i+1)+"位同学的成绩:"+scores[i]);
            }        
        }
    }

    结果:

    案例三:

    package com.lyc.test;
    
    import java.util.Scanner;
    
    public class ArrayDemo03 {
        //循环输入5门成绩,并且打印出最高分和最低分,求总分,求平均分
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            //定义数组长度
            int[] scores = new int[5];
            int max = 0;//默认设置最高分为数组的第一个值
            int min = 0;//最低分
            int sum = 0;//总分
            double avg = 0;//平均分
            //循环录入五位同学的成绩
            for (int i = 0; i < scores.length; i++) {
                System.out.println("请输入第"+(i+1)+"位同学的成绩:");
                scores[i] = sc.nextInt();
                sum = sum + scores[i];//获取总分
            }
    
            for (int i = 0; i < scores.length; i++) {
                if (max<scores[i]) {
                    max = scores[i];//获取最高分
                }
            }
            //scores.length-1 为了避免下面进行if判断时出错
            for (int i = 0; i < scores.length-1; i++) {
                if (scores[i]>scores[i+1]) {
                    min = scores[i+1];//获取最低分
                }
            }
            
            avg = sum/scores.length;//平均分
            
            System.out.println("最高分:"+max);
            System.out.println("最低分:"+min);
            System.out.println("总分:"+sum);
            System.out.println("平均分:"+avg);
            
        }
    }

    结果:

     

     

     

  • 相关阅读:
    C# vb .net实现淡出效果特效滤镜
    <<薪资至少10K的一道题,你能拿下吗>>练习
    职场生存规则--水
    简单摸拟电梯程序
    回收期计算
    徒手写汉诺塔
    没有方法的算法代码
    听说是阿里笔试题
    工作任务的分解
    纯吐槽,关于现在的一些混乱情况.
  • 原文地址:https://www.cnblogs.com/chao123/p/10291786.html
Copyright © 2011-2022 走看看