ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数组入门

2022-07-08 20:32:47  阅读:125  来源: 互联网

标签:salary 入门 double System 数组 println out


第五章 数组

5.1、数组概念

数组:数组可以保存同一种数据类型的多条数据

5.2数组的定义

1)数组的定义有两种方式:

  1. 数组的动态初始化

    //定义数组并且开辟内存空间
    数据类型[] 数组名 = new 数据类型[数组长度];
    
  2. 数组的静态初始化

    类型[] 数组名 = new 类型[]{元素,元素,……};
    类型[] 数组名 = {元素,元素,元素,……};	   
    

2)数组在内存中是如何存储的

image

3)数组声明并且分配空间之后的默认值

数据类型 默认初始化值
byte、short、int、long 0
float、double 0.0
char 一个空字符,即’\u0000’ ‘ ’
boolean false
引用数据类型 null,表示变量不引用任何对象

4)通过下标获取数组的空间的值(元素)

数组名[下标]

5)异常情况

java.lang.ArrayIndexOutOfBoundsException: 数组下标越界异常

6)数组的特点:

1)数组只能保存同一种类型的数据

2)数组下标从0开始

3)数组一旦定义了长度,不能改变。

8) 如何方便的给数组赋值:

1、使用循环,通过控制台输入给数组元素赋值

//注意:数组结合循环,循环变量必须从0开始!!!

//arrs.length: 表示获取数组的长度

for (int i = 0; i <= arrs.length-1; i++) {

}

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

} 

数据类型 [] 数组名 = new 数据类型[长度];
Scanner input = new Scanner(System.in);
//注意:数组结合循环,循环变量必须从0开始!!!
//arrs.length: 表示获取数组的长度
for (int i = 0; i < 数组名.length; i++) {
    System.out.print("请输入第"+(i+1)+"个元素的
值:");
    //给数组元素赋值
    数组名[i] = input.nextDouble();
} 

9) 如何方便的获取数组的元素:

使用for循环 :

方式1 : 普通版for循环
//循环遍历,输出所有的数组元素
for (int i = 0; i < 数组名.length; i++) {
    System.out.print(数组名[i]+"\t");
} 
方式2 :增强版for循环
//通过foreach遍历
//只能遍历数组,获取数组元素,但是不能获取数组下标!!!
//快捷键:数组名.for
for(数据类型 元素名称 : 数组名称){
    System.out.print(元素名称 + "\t");
} 

10)获取数组的长度

数组名.length 

5.3数组的基本应用

正确使用数组和循环存储控制台输入的5位学员成绩,计算平均分并输出,成绩和计算结果显示

public class Topic01 {
    //编写一个main方法
    public static void main(String[] args) {
        //正确使用数组和循环存储控制台输入的5位学员成绩,计算平均分并输出,成绩和计算结果显示
        //定义一个变量接收用户输入
        Scanner input = new Scanner(System.in);
        //动态初始化一个数组
        double[] scores = new double[5];
        double sum = 0;
        System.out.println("请输入5位学员的成绩:");
        for (int i = 0; i <= 4; i++){
            scores[i] = input.nextDouble();
            sum += scores[i];
        }
        System.out.println("学员的平均分是:" + sum / 5);
    }
}

定义变量保存5个员工的薪资
//需求:1、打印薪资表。2、计算总工资。3、计算平均工资。4、找出工资最高的和最低的

public class Topic02 {
    //编写一个main方法
    public static void main(String[] args) {
        //定义变量保存5个员工的薪资
        //需求:1、打印薪资表。2、计算总工资。3、计算平均工资。4、找出工资最高的和最低的
        //输入的变量:薪资;sum,avg,max,min
        //定义一个变量接收用户输入
        Scanner input = new Scanner(System.in);
        double[] salary = new double[5]; ////定义一个数组存储员工薪资
        double sumSalary = 0,avgSalary = 0 ,maxSalary = 0,minSalary = 0;
        int maxNumber,minNumber;
        for (int i = 0; i < 5; i++){
            System.out.print("请输入第" + (i+1) + "员工薪资:");
            salary[i] = input.nextDouble();
            sumSalary += salary[i];
            if(i == 0){
                minSalary = maxSalary = salary[i];
            }
            maxSalary = maxSalary > salary[i] ? maxSalary : salary[i];
            minSalary = minSalary < salary[i] ? minSalary : salary[i];
        }
        avgSalary = sumSalary / 5;
        for (int k = 0; k < 5; k++) {
            System.out.print(salary[k] + "\t");
        }
        System.out.println("\n总工资:" + sumSalary);
        System.out.println("平均工资:" + avgSalary);
        System.out.println("最高工资:" + maxSalary);
        System.out.println("最低工资:" + minSalary);

    }
}

正确使用数组和循环存储5笔购物金额,在控制台循环输出每笔金额并计算总金额

public class Topic03 {
    //编写一个main方法
    public static void main(String[] args) {
        //正确使用数组和循环存储5笔购物金额,在控制台循环输出每笔金额并计算总金额
        Scanner input = new Scanner(System.in);
        System.out.println("请输入会员本月的消费记录");
        double[] shopping = new double[5];
        double sum = 0;
        for (int i = 0; i < 5; i++) {
            System.out.print("请输入第" + (i+1) + "笔购物金额:");
            shopping[i] = input.nextDouble();
            sum += shopping[i];
        }
        System.out.println("\n序号\t\t\t\t金额(元)");
        for (int j = 0; j < 5; j++) {
            System.out.println(j + "\t\t\t\t\t" + shopping[j]);
        }

        System.out.println("总金额\t\t\t\t" + sum);
    }
}

标签:salary,入门,double,System,数组,println,out
来源: https://www.cnblogs.com/hwphwc/p/16459555.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有