数组——一个编程小白的Java SE学习日志4【极客BOY-米奇】

前言(转载请说明作者!)3.11编写

如果你之前接触过C语言,相信你对数组并不陌生,然而在Java SE编程中,数组的定义与赋值都发生了一些变化,因为Java是面向对象的编程语言,在数组的定义中也不例外。
在本博客中,将会讲述:
1.如何在Java中声明和创建(一维或多维)数组
2.数组的初始化和遍历
3.Java中内存的分配情况
4.理解对象数组的声明和创建
5.Arrays类常用方法的使用


任务导引:评分程序

题目

假如有十个评委为参赛选手打分(分数1~100)。
最后得分为:去掉最高和最低的两个,其余的八个分数取平均。

分析

如果同时要存放很多个数据,很明显一个个定义变量是不合适的,那么在内存中开辟一块连续的存储空间是非常有必要的,学过C语言的应该明白它叫数组
数组里面每一个元素都是同类型的,每一个元素都是有下标的,下标从0开始


数组


数组的声明

声明就要告诉计算机这个数组数据类型是什么。

语法

  • 数据类型[ ] 数组名;
    e.g. int[] studentsScore;
  • 数据类型 数组名[ ];
    e.g. int studentsScore[];

数组的创建

声明数组只是得到了一个存放数组的变量,但是并没有为数组的元素分配内存空间,所以当前数组害不可使用。
Java中,用new来创建内存空间以存放数组中的元素。

语法

  • 数组名 = new 数据类型[数组长度];
    e.g. studentsScore = new int[21];
    即为数组名为studentsScore的数组分配21个int单位的内存空间。

也可以使用声明数组与分配空间结合的方式创建数组
即:数据类型[] 数组名 = new 数据类型[数组长度];
e.g. int[] studentsScore = new int[21];


一维数组的内存分析

声明一个存放5个整数的数组并创建数组,输出数组中每个元素的值。

int[ ] num;

JVM将会在栈内存中分配出一块内存空间来存放num变量的值,即:

(此处为栈内存中存放的num变量)
很明显一块内存空间是不可以存放五个数字的。

num = new int[5];

new出来的东西都是分配在堆内存中的
此时内存的分布情况:
在这里插入图片描述

num变量里面到底有什么东西使得我们可以通过它来访问堆内存中开辟的连续空间的内存呢?

ArrayPrintDemo.java程序实现

public class ArrayPrintDemo {
	public static void main(String[] args) {
		int[] num;//声明数组num
		num = new int[5];//创建数组
		System.out.printIn("num="+num);//输出数组名
	}
}

运行后的结果为JVM给堆内存那片存储空间分配的首地址
我们也知道,数组中存放数据在内存中是连续的,这样有了首个元素的地址,就可以很轻松的访问接下来的各个元素了。


数组的遍历

元素的访问

语法
  • 数组名[元素下标]
    e.g. point = studentsScore[5];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

极客BOY

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

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

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

打赏作者

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

抵扣说明:

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

余额充值