数组
为什么需要数组
一个养鸡场有6雉鸡,他们的体重是3kg、5kg、3.4kg、11kg、2kg、50kg。
请问这六只鸡的总体重和平均体重
public class Array01 {
public static void main(String[] args) {
//数组的引出
/*
一个养鸡场有6雉鸡,他们的体重是3kg、5kg、3.4kg、11kg、2kg、50kg。
请问这六只鸡的总体重和平均体重
思路分析
1、定义6个变量 double
2、求和 平均值
3、分析传统实现的方式问题
4、引出新的技术 -> 数组
*/
double hen1 = 3;
double hen2 = 3.4;
double hen3 = 5;
double hen4 = 1;
double hen5 = 2;
double hen6 = 50;
double totalWeight = hen1+hen2+hen3+hen4+hen5+hen6;
double avgWeight = totalWeight / 6;
System.out.println(totalWeight);
System.out.println(avgWeight);
//用数组解决
//定义一个数组
// double[] 表示double类型的数组,数组名 hens
//{3,5,1,3.4,2,50}; 表示数组的值/元素,依次表示数组的第几个元素
//静态初始化
double[] hens ={
3,5,1,3.4,2,50};
//数组可以通过for循环遍历 得到数组所有元素的和 使用for循环
//我们可以通过 hens[下标] 来访问数组的元素,
// 下标是从0开始编号的 比如第一个元素就是hens[0],
// 第二个元素就是hens[1],以此类推
//我们取到值之后就可以累积了 通过for循环就可以访问 数组的元素
//可以通过 数组名.length 得到数组的长度
double sum = 0;
double avg = 0;
for (int i = 0;i < hens.length;i++){
System.out.println("第" + (i+1) + "元素的值=" + hens[i] );
sum += hens[i];
}
avg = sum / hens.length;
System.out.println("总体重=" + sum
+ "平均体重=" +avg );
}
}
数组的介绍
数组可以存放多个相同类型的
数组的使用方式
import java.util.Scanner;
public class Array02 {
public static void main(String[] args) {
//演示数据类型[] 数组名 = new 数据类型[大小]
//创建一个Scanner对象
Scanner myScanner = new Scanner(System.in);
//使用方式1 - 动态初始化
// double scores[] = new double[5];//创建了一个数组 大小为5
//使用方式2 - 动态初始化
double scores[];//声明数组 ,这是 scores 是 null
scores = new double[5]; //分配内存空间,可以存放数据
for (int i = 0; i < scores.length; i++) {
System.out.println("请输入成绩");
scores[i] = myScanner.nextDouble();
}
//再次遍历数组
for (int i = 0; i < scores.length; i++) {
System.out.println("成绩为" + scores[i]);
}
}
}
一维数组的内存原理图
一维数组的注意事项和细节
public class ArrayDetail {
public static void main(String[] args) {
//1.数组是多个相同类型数据的组合,实现对这些数据的统一管理
int[] arr1 = {
1,2,3,60};
double[] arr2 = {
1.1,2.2,3.3,60.6,100};//int->double
//2.数组中的元素可以是任何的数据类型,包括基本类型和引用类型,
// 但是不能混用
String[] arr3 = {
"北京","jack","milan"};
//3.数组创建后,如果没有赋值,有默认值 int 0 short 0 byte 0 long 0 float 0.0 double 0.0
// char \u0000,boolean false ,String null
short arr4[] = new short[3];//arr4---> 3个空间 默认值为0
for (int i = 0; i < arr4.length ; i++) {
System.out.println("数组4");
System.out.println(arr