在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
众所周知,数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。要想入门Java,数组是一个必须好好学习的基础知识点。本文为广大Java基础入门初学者归纳总结了数组的学习笔记,下面一起来看看吧~
一、数组定义格式
1、第一种
数据类型[] 数组名
示例:
```java
int[] arr;
double[] arr;
char[] arr;
```
2、第二种
数据类型 数组名[]
示例:
```java
int arr[];
double arr[];
char arr[];
```
二、数组动态初始化
数组动态初始化就是只给定数组的长度,由系统给出默认初始化值。
1、动态初始化格式
```java
数据类型[] 数组名 = new 数据类型[数组长度];
```
```java
int[] arr = new int[3];
```
2、动态初始化格式详解
(1)等号左边:
int:数组的数据类型
[]:代表这是一个数组
arr:代表数组的名称
(2)等号右边:
new:为数组开辟内存空间
int:数组的数据类型
[]:代表这是一个数组
5:代表数组的长度
三、数组元素访问
1、什么是索引?
每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
2、访问数组元素格式
```java
数组名[索引];
```
3、示例代码
```java
public class ArrayDemo {
public static void main(String[] args) {
int[] arr = new int[3];
//输出数组名
System.out.println(arr); //[I@880ec60
//输出数组中的元素
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
```
四、内存分配
1、内存概述
内存是计算机中的重要原件,临时存储区域,作用是运行程序。我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。必须放进内存中才能运行,运行完毕后会清空内存。Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。
2、Java中的内存分配
目前我们只需要记住两个内存,分别是:栈内存和堆内存。
区域名称 |
作用 |
寄存器 |
给CPU使用,和我们开发无关。 |
本地方法栈 |
JVM在使用操作系统功能的时候使用,和我们开发无关。 |
方法区 |
存储可以运行的class文件。 |
堆内存 |
存储对象或者数组,new来创建的,都存储在堆内存。 |
方法栈 |
方法运行时使用的内存,比如main方法运行,进入方法栈中执行。 |
五、数组静态初始化
在创建数组时,直接将元素确定。示例代码如下:
```java
public class ArrayDemo {
public static void main(String[] args) {
//定义数组
int[] arr = {1, 2, 3};
//输出数组名
System.out.println(arr);
//输出数组中的元素
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
}
}
```
六、数组操作的两个常见小问题
1、索引越界异常
(1)出现原因
```java
public class ArrayDemo {
public static void main(String[] args) {
int[] arr = new int[3];
System.out.println(arr[3]);
}
}
```
数组长度为3,索引范围是0~2,但是我们却访问了一个3的索引。 程序运行后,将会抛出ArrayIndexOutOfBoundsException 数组越界异常。在开发中,数组的越界异常是不能出现的,一旦出现了,就必须要修改我们编写的代码。
(2)解决方案
将错误的索引修改为正确的索引范围即可!
2、空指针异常
(1)出现原因
```java
public class ArrayDemo {
public static void main(String[] args) {
int[] arr = new int[3];
//把null赋值给数组
arr = null;
System.out.println(arr[0]);
}
}
```
arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出 NullPointerException 空指针异常。在开发中,数组的越界异常是不能出现的,一旦出现了,就必须要修改我们编写的代码。
(2)解决方案
给数组一个真正的堆内存空间引用即可!
以上就是Java基础入门数组学习笔记的全部内容,如果大家关于数组还有其他的疑问,可以在博学谷学习关于数组的视频课程,相信可以获得更加清晰的讲解~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
参加java程序员培训需要注意哪些问题?
Java编程语言因为高薪资,就业率高,招聘岗位多而备受欢迎。Java学习难不难?应该如何学习Java?这些问题对于初学者来说并不陌生。今天博学谷小编主要针对参加Java程序员培训时,需要注意哪些问题与大家分享,希望可以帮助到更多的Java学习者。那参加java程序员培训需要注意哪些问题?
6466
2019-08-08 12:00:42
Java面试题之面向对象整理附答案
面向对象以数据为中心的开发方式,使用继承来简化开发过程,使用接口来规范对数据的操作,使用多态达到操作的灵活性。可以说面向对象是Java面试中的一个常见重要考点,因此本文为大家整理了面向对象的相关面试题,其中包括面向对象的特性、访问权限修饰符和clone对象的理解。大家可以结合着参考答案,梳理一遍面向对象的相关知识点。
7769
2019-12-04 14:01:29
Java基础语法学习之常量与变量
今天Java基础语法学习的内容是常量与变量,顾名思义,常量就是不会发生改变的,而变量则恰好相反。本文主要总结了常量的概念、分类、案例演示,还有变量的概念、格式以及使用。下面就一起梳理下相关得基础知识点吧~
4465
2020-05-14 15:31:15
MySQL数据库基础知识汇总梳理
本文对MySQL数据库基础知识进行了汇总和梳理,主要内容有认识数据库、常见数据库排行榜、SQL的概念以及DDL操作数据库。希望大家看完之后,能够能够理解数据库的概念,并且能够使用SQL语句操作数据库。
5671
2020-07-03 15:02:31
在Java培训班听不懂怎么办?怎么学?
不少人在学习Java的时候反馈听不懂学不会,其中有些人是零基础转行或是了解一些基础知识,刚开始听不懂很正常不要太过焦虑,掌握一些学习的方法。学不懂很正常,毕竟零基础更主要的是理解基础意思然后敲代码,先从简单的代码开始,慢慢加深,一点一滴的积累。
4609
2021-02-20 15:23:51