我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java中数组如何定义与使用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java中数组如何定义与使用

这篇文章主要为大家展示了“Java中数组如何定义与使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中数组如何定义与使用”这篇文章吧。

数组的基本概念

如果说现在要求你定义100个整型变量,那么如果按照之前的做法,可能现在定义的的结构如下:

int i1, i2, i3, ... i100;

但是这个时候如果按照此类方式定义就会非常麻烦,因为这些变量彼此之间没有任何的关联,也就是说如果现在突然再有一个要求,要求你输出这100个变量的内容,意味着你要编写System.out.println()语句100次。

其实所谓的数组指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。数组本身属于引用数据类型,那么既然是引用数据类型,这里面实际又会牵扯到内存分配,而数组的定义语法有如下两类。

  • 数组动态初始化:

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

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

    • 声明并开辟数组:

    • 分布进行数组空间开辟(实例化)

| Tables | Are |
| ------------- |:-------------?
| 声明数组: | 数组类型 数组名称[] = null; | | | 数组类型 [] 数组名称 =null; | | 开辟数组空间: | 数组名称 =new` 数组类型[长度]; |

那么当数组开辟空间之后,就可以采用如下的方式的操作:

  • 数组的访问通过索引完成,即:“数组名称[索引]”,但是需要注意的是,数组的索引从0开始,所以索引的范围就是0 ~ 数组长度-1,例如开辟了3个空间的数组,所以可以使用的索引是:0,1,2,如果此时访问的时候超过了数组的索引范围,会产生java.lang.ArrayIndexOutOfBoundsException 异常信息;

  • 当我们数组采用动态初始化开辟空间后,数组里面的每一个元素都是该数组对应数据类型的默认值;

  • 数组本身是一个有序的集合操作,所以对于数组的内容操作往往会采用循环的模式完成,数组是一个有限的数据集合,所以应该使用 for 循环。

  • 在 Java 中提供有一种动态取得数组长度的方式:数组名称.length;

范例: 定义一个int型数组

public class ArrayDemo {public static void main(String args[]) {int data[] = new int[3]; data[0] = 10; // 第一个元素data[1] = 20; // 第二个元素data[2] = 30; // 第三个元素for(int x = 0; x < data.length; x++) {System.out.println(data[x]); //通过循环控制索引}}}

数组本身除了声明并开辟空间之外还有另外一种开辟模式。

范例: 采用分步的模式开辟数组空间

public class ArrayDemo {public static void main(String args[]) {int data[] = null; data = new int[3]; data[0] = 10; // 第一个元素data[1] = 20; // 第二个元素data[2] = 30; // 第三个元素for(int x = 0; x < data.length; x++) {System.out.println(data[x]); //通过循环控制索引}}}

但是千万要记住,数组属于引用数据类型,所以在数组使用之前一定要开辟控件(实例化),如果使用了没有开辟空间的数组,则一定会出现 NullPointerException 异常信息:

public class ArrayDemo {public static void main(String args[]) {int data[] = null; System.out.println(data[x]);}}

这一原则和之前讲解的对象是完全相同的。

数组在开发之中一定会使用,但是像上面的操作很少。在以后的实际开发之中,会更多的使用数组概念,而直接使用,99%情况下都只是做一个 for 循环输出。

数组引用传递

既然数组属于引用数据类型,那么也一定可以发生引用传递。在这之前首先来研究一下数组的空间开辟。

范例: 观察一道程序

public class ArrayDemo {public static void main(String args[]) {int data[] = null;data = new int[3]; //开辟一个长度为3的数组data[0] = 10;data[1] = 20;data[2] = 30;}}

Java中数组如何定义与使用

那么既然说到了引用数据类型了,就一定可以发生引用传递,而现在的引用传递的本质也一定是:同一块堆内存空间可以被不同的栈内存所指向。

范例: 定义一个程序

public class ArrayDemo {public static void main(String args[]) {int data[] = null;data = new int[3]; //开辟一个长度为3的数组int temp[] = null; //声明对象data[0] = 10;data[1] = 20;data[2] = 30;temp = data;  //int temp[] = data;temp[0] = 99;for(int i = 0; i < temp.length; i++) {System.out.println(data[i]);}}}

Java中数组如何定义与使用

引用传递分析都是一个套路。同一块堆内存被不同的栈内存所指向。

数组静态初始化

在之前所进行的数组定义都有一个明显特点:数组先开辟内存空间,而后再使用索引进行内容的设置,实际上这种做法都叫做动态初始化,而如果希望数组在定义的时候可以同时出现设置内容,那么就可以采用静态初始化完成。

数组的静态初始化一共分为以下两种类型:

TablesAre
简化格式:数据类型 数组名称 = {值, 值,…}
完整格式:数据类型 数组名称 = new 数据类型[] {值, 值,…}

TablesAre简化格式:数据类型 数组名称 = {值, 值,…}完整格式:数据类型 数组名称 = new 数据类型[] {值, 值,…}

范例: 采用静态初始化定义数组

public class ArrayDemo {public static void main(String args[]) {int data[] = {1, 2, 4, 545, 11, 32, 13131, 4444};for(int i = 0; i < data.length; i++) {System.out.println(data[i]);}}}

在开发之中,对于静态数组的初始化强烈建议使用完整语法模式,这样可以轻松地使用匿名数组这一概念。

public class ArrayDemo {public static void main(String args[]) {System.out.println(new int[] {1, 2, 4, 545, 11, 32, 13131, 4444}.length);}}

以后使用静态方式定义数组的时候一定要写上完整格式。

数组最大的缺陷:长度固定。

二维数组

在之前所使用的数组发现只需要一个索引就可以进行访问,那么这样的数组实际上非常像一个数据行的概念。

索引012345678
内容122344569044549991010

现在痛过一个索引就可以取得唯一的一个记录。所以这样的数组可以简单理解为一维数组,而二维数组本质上指的是行列集合,也如果要确定某一个数据需要行索引和列索引来进行定位。

索引012345678
0122344569044549991010
1234156945499910

如果要想确定一个数据则数据使用的结构是“数组名称[行索引][列索引]”,所以这样的结构就是一个表的结构。

那么对二维数组的定义有两种声明形式:

  • 数组的动态初始化:数据类型 对象数组[][] = new 数据类型[行个数][列个数];

  • 数组的静态初始化:数据类型 对象数组[][] = new 数据类型[行个数][列个数]{{值, 值,…}, {值, 值,…},…};

数组的数组就是二维数组。

范例: 定义一个二维数组

public class ArrayDemo {public static void main(String args[]) {//此时的数组并不是一个等列数组int data[][] = new int[][] {{1, 2, 3}, {4, 5}, {6, 7, 8, 9}};//如果在进行输出的时候一定要使用双重循环,//外部的循环控制输出的行数,而内部的循环控制输出列数for(int i = 0; i < data.length; i++) {for(int j = 0; j < data[i].length; j++) {System.out.print("data[" + i + "][" + j + "]=" + data[i][j] + "、");}System.out.println();}}}

于输出麻烦,所以可以忽略了,在进行开发之中,出现二位数组的几率并不高。

以上是“Java中数组如何定义与使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java中数组如何定义与使用

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java中数组如何定义与使用

这篇文章主要为大家展示了“Java中数组如何定义与使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中数组如何定义与使用”这篇文章吧。数组的基本概念如果说现在要求你定义100个整型变量,
2023-06-25

Java 泛型数组该如何定义与使用?(java泛型数组如何定义和使用)

在Java编程中,泛型是一种强大的特性,它允许我们编写更通用、类型安全的代码。其中,泛型数组的定义和使用是Java泛型的一个重要方面。本文将详细介绍Java泛型数组的定义和使用方法。一、泛型数组的定义在Java中
Java 泛型数组该如何定义与使用?(java泛型数组如何定义和使用)
Java2024-12-16

Java数组的定义与使用

数组是有序的元素序列,若将有限个类型相同的变量的集合命名,那么这个名称为数组名。本文通过代码示例详细介绍了Java数组的定义和使用,对学习或工作有一定的帮助,需要的小伙伴欢迎阅读
2023-05-17

java中数组如何定义?

数组定义方式一动态方式(指定数组的长度)格式:数组存储的数据类型[]数组名字 = new 数组存储的数据类型[长度];[] : 表示数组。数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。new:关键字,创建数组使用的关键字。数组存储的数
java中数组如何定义?
2019-11-15

Java中如何定义数组

1、可以使用String[] s=new String[6],定义一个长度为6的字符串数组,定义之后,可以对字符串数组进行赋值,如下图所示:2、使用int[] i=new int[6],定义一个长度为6的整型数组,其它类型类似,如下图所示:3、可以在定义数组的
Java中如何定义数组
2022-03-15

Java 中如何定义空数组?(java空数组怎么定义)

在Java编程中,定义空数组是一个常见的操作。空数组是指没有任何元素的数组,它在很多情况下都非常有用,例如初始化一个数组变量、传递一个空数组参数等。以下是在Java中定义空数组的两种常见方法:方法一:使用数组字面量在J
Java 中如何定义空数组?(java空数组怎么定义)
Java2024-12-14

如何在 Java 中定义一个数组?(详细教程)(如何用java定义一个数组)

在Java编程中,数组是一种常用的数据结构,它可以存储相同类型的多个元素。本文将详细介绍如何使用Java定义一个数组,包括一维数组和多维数组的定义方法。一、一维数组的定义基本语法在Java中,定
如何在 Java 中定义一个数组?(详细教程)(如何用java定义一个数组)
Java2024-12-17

java数组如何定义

Java中定义数组的语法有两种:动态方式(指定数组的长度)格式: (推荐学习:java课程)数据类型[] 数组名字 = new 数组存储的数据类型[长度];[] : 表示数组。数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组。new
java数组如何定义
2021-05-19

Java中数组怎么定义使用

这篇文章主要为大家展示了“Java中数组怎么定义使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中数组怎么定义使用”这篇文章吧。一、数组的基本用法1.什么是数组数组:存储一组相同数据类
2023-06-29

Java数据类型如何定义与使用

这篇“Java数据类型如何定义与使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java数据类型如何定义与使用”文章吧。标
2023-06-30

Java 中如何定义可变长度数组?(java如何定义可变长度数组)

在Java编程中,数组是一种常用的数据结构,用于存储相同类型的元素。默认情况下,Java中的数组是固定长度的,一旦创建,其长度就不能改变。然而,在某些情况下,我们可能需要定义可变长度的数组,以便在程序运行时可以根据需要动态地调整数组的大小。本文将介绍在Java中如何定义可变长度数组,
Java 中如何定义可变长度数组?(java如何定义可变长度数组)
Java2024-12-22

在 Java 中怎样去定义一个数组?(java中如何定义一个数组)

在Java编程中,数组是一种用于存储相同类型数据元素的集合。定义一个数组是Java编程的基础操作之一,它为我们处理和操作大量数据提供了便利。以下是在Java中定义数组的详细步骤:一、声明数组在Java中,要使用数组,首先需要声
在 Java 中怎样去定义一个数组?(java中如何定义一个数组)
Java2024-12-20

在 Java 中,数组是如何定义的呢?(java中的数组定义是什么)

在Java中,数组是一种用于存储固定大小的相同类型元素的数据结构。它提供了一种方便的方式来组织和操作一组相关的数据。一、数组的基本概念数组的定义包含以下几个关键要素:数据类型
在 Java 中,数组是如何定义的呢?(java中的数组定义是什么)
Java2024-12-21

java如何定义map数组

在Java中,可以使用Map接口和HashMap类来定义并操作Map数组。首先,需要导入java.util包:```javaimport java.util.Map;import java.util.HashMap;```然后,可以使用Ha
2023-08-26

Java方法如何定义与使用

这篇文章主要介绍了Java方法如何定义与使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java方法如何定义与使用文章都会有所收获,下面我们一起来看看吧。一、方法的基本用法1.1 什么是方法(method)方
2023-06-29

java枚举如何定义与使用

在Java中,枚举是一种特殊的数据类型,用于定义一组常量。枚举常量在声明时就被确定,并且不能被修改。下面是定义和使用Java枚举的步骤:1. 定义一个枚举类型:```javaenum Day {MONDAY, TUESDAY, WEDNES
2023-08-21

如何在 Java 中实现动态定义数组?(java怎么动态定义数组)

在Java编程中,数组是一种常用的数据结构,用于存储相同类型的元素。通常情况下,数组的长度在创建时就已经确定,并且不能动态改变。然而,在某些情况下,我们可能需要动态地定义数组,即根据程序的运行时需求来确定数组的长度。本文将介绍在Java中如何实现动态定义数组的方法。
如何在 Java 中实现动态定义数组?(java怎么动态定义数组)
Java2024-12-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录