Java数组01
Posted chao123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); } }
结果:
以上是关于Java数组01的主要内容,如果未能解决你的问题,请参考以下文章
Alamofire 文件上传出现错误“JSON 文本未以数组或对象开头,并且允许未设置片段的选项”