为什么要使用数组

package java基础知识.数组和常用算法;

import java.util.Scanner;

public class 为什么要使用数组 {

	/**
	 * @param 一次java内部测试结束,老师给牛德华分配了一个任务,计算全班5人的考试成绩求平均分.
	 * 1)按照以前的写法 定义30个变量,然后30个变量赋值以后数值的和除以30得到平均分
	 *  分析:这种方式太麻烦了要30个变量 一一相加.
	 *  我们能不能通过定义一个容器把30个数据全部存放里边,然后给容器内的每个数据进行编号,再通过操作这些数字的编号,来操作这些数据呢?
	 * 2)由1的分析,我们引出一个新的感念 数组.什么是数组?
	 * 	数组就是一个用来存储一系列变量值的命名区域,因此可以用数组来组织变量
	 *  其实,数组也是一个变量,它存储的是相同类型的一组数据:
	 *  注意:数组中的元素应该是一系列相同类型的元素.不同数据类型是不能放到同一数组中的.
	 * 3)如何使用数组?
	 * 		第一步:声明数组.如: int [] a; 表示定义一个int类型的数组,命名为a,该数组内的元素是int类型的变量
	 * 语法:
	 * 数据类型  数组名 [];
	 * 数据类型 [] 数组名;
	 * double [] score; //java成绩
	 * int age [] ;     //年龄
	 * String [] name ; //学生姓名
	 * 		第二步:分配数组内存空间,如: a = new int [5]; 表示在堆内存中开辟一个地址给数组a,a内存放了5个int类型的元素
	 * 语法:
	 * 数组名 = new 数据类型 [元素个数];
	 * score =new double [30];
	 * age   =new int [30];
	 * name  =new String [30];
	 * 		第三步:给内存中的元素赋值,如:a[0] = 8 ;表示给数组a中的1号角标位赋值为 8,数组中的角标是从0开始计数的,数组中的元素如果没有被赋值是有初始化值的
	 * 赋值就是要向内存空间存放数据
	 * score[0]=89.5;
	 * score[1]=87.0;
	 * score[2]=84.5;
	 * score[3]=82.5;
	 * 上面的赋值操作比较麻烦.
	 * 赋值方法:
	 * 方法1:边声明边赋值,如:
	 * double [] score = {90.0,89.5,70.5}
	 * int age [] = new int []{18,17,15,20}
	 * String [] name = new String []{"大明","小明","大虎","小虎","狗"}
	 * 方法2:动态的从键盘输入信息并赋值.
	 * Scanner input =new Scanner(System.in);
	 * int [] score = new int[30];
	 * for(int i =0 ;i<score.length;i++){
	 * 	score[i]=input.nextInt();
	 * }
	 * 		第四步:处理数据,如:a[0]= a[0]*8; 表示将数组内的1号角标位的数据乘以8,再赋值给存放进数组a内的1号角标位
	 * 
	 * 
	 */
	public static void main(String[] args) {
		// 一次java内部测试结束,老师给牛德华分配了一个任务,计算全班考试成绩的平均分.
		Scanner input = new Scanner(System.in);// 导入输入方式
		System.out.println("请输入该班级的学生数 :");
		int a = input.nextInt(); // 键盘输入导入学生的人数
		int[] score = new int[a];// 定义一个数组用以储存学生的成绩
		//int [] score = new int [];//这样写编译错误的,因为没有指明数组的大小
		double sum = 0; // 定义变量存储学生的成绩之和
		for (int i = 0; i < score.length; i++) {// 循环遍历数组中的每个角标,score.length可以计算数组的元素个数
			System.out.println("请输入第" + (i + 1) + "位,学生的成绩  :");
			score[i] = input.nextInt(); // 动态输入学生的成绩存进数组
			sum += score[i]; // 累加学生的学习成绩
		}
		// 打印输出学生的平均分 就是:总成绩/人数
		System.out.println(sum / score.length);
	}
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值