一、数组
数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。(数组就是一组数据)
案例示范:
一个养鸡场有6只鸡,它们的体重分别是3kg, 5kg,1kg,3.4kg,2kg.50kg。请问这六5 R鸡的总体重是多少?平均体重是多少?
普通解决方法:
public class d {
public static void main(String[] args) {
double chicken1 = 3;
double chicken2 = 5;
double chicken3 = 1;
double chicken4 = 3.4;
double chicken5 = 2;
double chicken6 = 50;
double and = chicken1 + chicken2 + chicken3 + chicken4 + chicken5 + chicken6;
System.out.println("六只鸡的总体重为:" + and + "kg");
double average = and / 6;
System.out.println("六只鸡的平均体重为:" + average + "kg");
}
}
使用数组解决:
public class Array01 {
public static void main(String[] args) {
/*
1.double[] 表示上double类型都数组,数组名 hens
2.{3, 5 , 1, 3.4, 2, 50}表示数组值/元素,依次表示数组都第几个元素
*/
double[] hens = {3, 5 , 1, 3.4, 2, 50};
/*遍历数组得到数组都所有元素的和,使用for
1.我们可以通过hens[下标]来访问数组都元素
2.通过fof循环就可以循环访问数组的元素
3.使用一个变量将和得到
*/
double a = 0;
for(int i = 0; i < hens.length; i++) {
a += hens[i];
}
System.out.print("总体重=" + a + "平均体重=" + (a / hens.length));
}
}
二、数组的使用
方法一动态初始化
方法二动态初始化
方法三静态初始化
三、入门练习
import java.util.Scanner;
public class Array02 {
public static void main(String[] args) {
/*
演示数据类型 数组名[] = new 数据类型[大小]
循环输入5个成绩,保存到double数组,并输出
*/
/*思路
1.创建一个double数组 大小5
*/
double[] scores = new double[5];
//循环输入
Scanner myScanner = new Scanner(System.in);
for(int i = 0; i < scores.length; i++) {
System.out.println("请输入第" + (i + 1) + "个成绩");
scores[i] = myScanner.nextDouble();
}
//输出成绩,遍历数组
for(int i = 0; i < scores.length; i++) {
System.out.println("第" + (i + 1) + "个成绩=" + scores[i]);
}
}
}
四、数组注意事项
五、练习一
创建一个char类型的26个元素的数组, 分别放置'A'-'Z ',使用for循环访问所有元素并打印出来。
public class ArrayExercise01 {
public static void main(String[] args) {
//创建一个char类型的26个元素都数组,分别放置'A'-'Z'
// 使用for循环访问所有元素并打印出来
//定义一个数组保存数据
char[] a = new char[26];
for(int b = 0; b < a.length; b++) {
a[b] = (char)('A' + b); //'A' + b是int,需要强制转换
}
// 循环输出
for(int b = 0; b < a.length; b++) {
System.out.print(a[b] + " ");
}
}
}
练习二
请求出一个数组int[]的最大值{4,-1,9, 10,23},并得到对应的下标。
public class ArrayExercise02 {
public static void main(String[] args) {
// 请求出一个数组int[]的最大值,并得到对应的下标。
int[] a = {4, -1, 9, 10, 23};
int max = a[0];// 假定第一个数是最大的数
int c = 0;//定义一个变量表示下标
for(int b = 1; b < a.length; b++) {
if(a[b] > max) {
max = a[b];
c = b;
}
}
System.out.println("最大的数为" + max + "下标是" + c);
}
}
练习三
请求出一个数组的和和平均值
public class Array01 {
public static void main(String[] args) {
double[] hens = {3, 5 , 1, 3.4, 2, 50};
double a = 0;
for(int i = 0; i < hens.length; i++) {
a += hens[i];
}
System.out.print("数组的和=" + a + "平均值=" + (a / hens.length));
}
}