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);

    }
}

结果:

原文地址:https://www.cnblogs.com/chao123/p/10291786.html

时间: 2024-08-08 20:07:35

Java数组01的相关文章

【华为OJ】201301 JAVA 题目0-1级 将数组分为相等的两组

描述:  编写一个函数,传入一个int型数组,返回该数组能否分成两组,使得两组中各元素加起来的和相等,并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以上条件,返回true:不满足时返回false. 知识点: 语言基础,字符串,循环,函数,指针,枚举,位运算,结构体,联合体,文件操作,递归    题目来源: 内部整理  练习阶段: 初级  运行时间限制: 10Sec 内存限制: 128MByte 输入: 输入输入的数据个数 输入一个int型数组 输出: 返

Java基础01 从HelloWorld到面向对象(转载)

Java是完全面向对象的语言.Java通过虚拟机的运行机制,实现“跨平台”的理念. "Hello World!" public class HelloWorld{    public static void main(String[] args){        System.out.println("Hello World!");    }} 程序中包括Java的一些基本特征: 类(class):上面程序定义了一个类HelloWorld,该类的名字与.java文件

Java 数组,看这一篇就够了

在 Java 泛型出现之前,只有数组可以用来存储指定类型的对象:在自动装箱机制出现之前,只有数组可以用来存储基本数据类型:也就是说,在泛型和自动装箱机制出现之前,数组在 Java 当中的分量举足轻重. 况且数组还是一种效率最高的存储和随机访问对象序列的方式,但遗憾的是,数组的长度是固定的--举个例子,创建它的时候指定长度是 6,就只能存储 6 个元素,当你想放第 7 个元素时,是无法做到的. 随着计算机硬件能力的提升,开发人员在存储一组数据的时候更愿意使用 ArrayList 而不是数组.尽管

Java 数组学习笔记

数组的简单认识 简单理解java数组,就是可以创建并组装它们,通过使用整型索引值访问它们的元素,并且它们的尺寸不能改变,这里的它们就是数组. 数组的特殊性 在java中有很多方式去持有对象,那么数组的与众不同点在哪里? 数组与其他种类的容器区别有三个方面:效率.类型和保存基本类型的能力. 在java中,数组是一种效率最高的存储和随机访问对象引用序列的方式.数组就是一个简单的线性序列,这使得元素访问非常迅速.但是为之付出的代价就是数组对象的大小被固定,并且在其生命周期中不可改变. 在泛型之前,其他

Java数组与内存控制

一.Java数组初始化 Java数组是静态的,即当数组被初始化之后,该数组的长度是不可变的.Java数组使用之前必须先对数组对象进行初始化,所谓初始化,就是为数组的所有元素分配内存空间,并为每个数组元素指定初始值.(文章来源于李刚老师的<突破java程序员的16课>) 1:基本类型数组的两种初始化方式 静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度. 动态初始化:初始化时程序员只指定数组长度,由系统为数组元素分配初始值. 不要同时使用静态初始化和动态初始化,也就是

JAVA数组的定义及用法

数组是有序数据的集合,数组中的每一个元素具有同样的数组名和下标来唯一地确定数组中的元素. 1. 一维数组 1.1 一维数组的定义 type arrayName[]; type[] arrayName; 当中类型(type)能够为Java中随意的数据类型,包含简单类型组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量. 另外一种形式对C++开发人员可能认为非常奇怪,只是对JAVA或C#这种开发语言来说,另外一种形式可能更直观,由于这里定义的仅仅是个变量而已,系统

java 数组比较,元素的比较,Comparable,Comparator比较的应用实现,排序,查找示例

java 数组比较,元素的比较,自定义Comparator的实现,排序,查找示例 package org.rui.array.compar; import java.util.Arrays; import java.util.Random; import org.rui.generics.anonymity.Generator; /** * 程序设计的基本目标是"将保持不变的事物与会发生改变的事物相分离" * 而这是,不变的是通用的排序算法,变化的是各种对象相互比较的方式, * 因此,

Java 数组工具类排序,最大值最小值等

public class ArrayUtils{ /** * 返回数组最大值 * * @param a * @return */ public static int max(int[] a){ // 返回数组最大值 int x; int aa[]=new int[a.length]; System.arraycopy(a,0,aa,0,a.length); x=aa[0]; for(int i=1;i<aa.length;i++){ if(aa[i]>x){ x=aa[i]; } } retu

java 数组声明

Java 数组声明常用的方式 1.类型  数组名称[] = new 数组类型[个数] 2,类型  数组名称    =  new 数组类型[] {} 3,类型[] 数组名称 = {} //类型 数组名[] = new 数组类型 [个数] int $arr[] = new int [4]; $arr[0] = 1; $arr[1] = 2; $arr[2] = 3; $arr[3] = 4; //类型 数组名称 = new 数组类型[]{} int $arr1[] = new int[]{1,2,3