数组(持续更新后续)

目录

数组定义:

数组的组成部门:

案例一:

案例二:

案例三:

增强for循环:

语法结构:

执行规律:

注意:

案例:

案例:

案例:


数组定义:

变量:存储数据的空间(装数据的容器),变量中只能存储一个数据

数组:存储数据的空间(装数据的容器),数组中可以存储多个相同类型的数据

数组的组成部门:

    1)标识符:数组的名称,取名原则与变量一样

2)数组元素:数组中存储的每一个数据称之为数组元素

3)元素下标:因为数组在内存中是连续的空间,所以会给数组里的元素按照顺序进行编号,编号

从0开始,我们把这个编号叫下标(索引)

    4)元素类型:描述的是数组中的元素类型

声明数组: 数据类型[] 数组名;  或者    数据类型 数组名[];

int[] nums;
		String[] strs;

分配空间:告诉你我这个数组里能装多少个元素(数据)

数组名 = new 数据类型[元素个数];

nums = new int[5];
		strs = new String[3];

赋值:将数据存储到数组中

数组名[下标] = 数据;

nums[0] = 99;
		nums[1] = 83;
		nums[2] = 78;
		nums[3] = 88;
		nums[4] = 66;

声明数组、分配空间合并写

数据类型[] 数组名 = new 数据类型[数组长度];  或  数据类型 数组名[] = new 数据类型[数组长度]

声明一个长度为3的double类型的数组

double[] nums = new double[3];

赋值:通过数组名[下标]给元素赋值,如果没有给元素赋值,系统会给元素赋予一个默认值

声明数组、分配空间、赋值合并写

数据类型[] 数组名 = new 数据类型[]{数据1,数据2,...,数据n}; 或 数据类型 数组名[] = new 数据类型[]

{数据1,数据2,...,数据n};

注意:{}前面那个[]里不能写长度,写了就报错

声明一个长度为3的数组,并向数组里赋值 "hello" "java" "word"

String[] strs = new String[] { "hello", "java", "word" };

声明数组:分配空间、赋值合并写的简写方式

数据类型[] 数组名  = {数据1,数据2,...,数据n};   或     数据类型 数组名[]  = {数据1,数据2,...,数据n};

声明一个char类型的数组,并向数组里赋值  'a' 'b'  'c'  'd'

	char[] chs = { 'a','b','c','d'};
		System.out.println(chs[0]);

遍历数组:将数组中元素按照下标顺序依次输出

案例一:

Scanner sc = new Scanner(System.in);
上述赋值操作,可以使用循环来实现
		for(int i =0;i<4;i++){
			System.out.println("请输入数组里的第"+(i+1)+"个元素值:");
			nums[i]=sc.nextInt();
		}
int[] nums = new int[4];
for(int i = 0;i<4;i++){
			System.out.println("数组第"+(i+1)+"个元素是:"+nums[i]);
		}

案例二:

遍历以下数组
		int[] nums = {11,23,45,6,78,96,88,73,62,12,10,36,55,99,45,66,19,64,13};
		
		//获取数组中元素的个数: 数组名.length;
		int length =nums.length;
		System.out.println("数组中元素个数:"+length);

		//遍历数组
		for(int i =0;i<nums.length;i++){
			System.out.println(nums[i]);
		}
	

案例三:

根据班级人数来创建数组 将每个学生的成绩存入到数组中 求班级学生成绩总和 求班级

学生平均成绩

Scanner sc = new Scanner(System.in);

		// 1)根据班级人数来创建数组:班级人数有多少个,数组的长度为就为多少
		System.out.println("请输入班级人数:");
		int num = sc.nextInt();

		// 根据班级人数来创建一个存放学生成绩的数组
		double[] scores = new double[num];

		// 声明一个变量sum用来累加所有学生的成绩
		double sum = 0;

		// 2)将每个学生的成绩存入到数组中
		for (int i = 0; i < scores.length; i++) {
			System.out.println("请输入第" + (i + 1) + "个学生的成绩:");
			scores[i] = sc.nextDouble();
			// 3)求班级学生成绩总和
			sum += scores[i];
		}

		// 4)求班级学生平均成绩
		double avg = sum / num;

		System.out.println("该班学生成绩总和:" + sum);
		System.out.println("该班学生平均成绩:" + avg);

增强for循环:

语法结构:

for(数据类型 变量名:数组名或集合名){

对变量进行操作的代码

    }

执行规律:

将数组或者集合中的元素依次取出来存入到变量中,然后操作这个变量就等同于操作数组或者集合

中的数据

注意:

增强for循环的执行效率比普通for循环高

案例:

增强for 和普通for的比较

int[] nums = { 11, 22, 33, 44, 55 };

		// 遍历数组
		System.out.println("-----普通for循环遍历数组-----");
		for (int i = 0; i < nums.length; i++) {
			System.out.println(nums[i]);
		}
		
		System.out.println("-----增强for循环遍历数组-----");
		for(int a : nums){
			System.out.println(a);
		}
		
		System.out.println("------------------------");
		for (int i : nums) {
			i+=100;
			System.out.println(i);
		}

案例:

有一个数列:8,4,2,1,23,344,12 循环输出数列的值, 循环输出数列的值,猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数

int[] num = {8,4,2,1,23,344,12};
		
		//循环输出数列的值
		for (int i : num) {
			System.out.println(i);
		}
		
		//求数列中所有数值的
		//声明一个变量sum用来累加数组中所有元素之和
		int sum = 0;
		for (int i : num) {
			sum+=i;
		}
		System.out.println("数组中所有元素之和为:"+sum);
		
		//猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数
		Scanner sc = new Scanner(System.in);
		System.out.println("请任意输入一个整数:");
		int guess = sc.nextInt();
		
		for (int i : num) {
			if(i==guess){
				System.out.println("数组中包含你猜测的数据");
				break;
			}

案例:

猜数游戏:从键盘中任意输入一个数据,判断数列中是否包含此数,如果包含此数,输出此数在数

组中的位置(下标),如果不包含此数,则输出数组中不包含此数 。有一个数列:8,4,2,1,23,344,12

	int[] num = { 8, 4, 2, 1, 23, 344, 12 };

		Scanner sc = new Scanner(System.in);
		System.out.println("请任意输入一个整数:");
		int guess = sc.nextInt();
		
		//声明一个变量,用来统计比较的次数
		int count = 0;
		for (int i = 0; i < num.length; i++) {
			//判断你猜测的数据在不在数组
			if(guess!=num[i]){
				count++;
				if(count==num.length){
					System.out.println("你猜测的数据不在此数组中");
				}
			}else{
				System.out.println("你猜测的数据在此数组中,下标为:"+i);
				//只要猜测的数据在数组中,后续就不需要再进行比较,退出整个循环
			}
		}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

get棒棒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值