首页 > 其他分享 >数组概念

数组概念

时间:2024-07-29 13:29:10浏览次数:11  
标签:初始化 初始值 元素 数据类型 概念 数组 类型

数组是编程语言中常见的一种数据结构,可以存储多个数据,每个数组元素存放一个数据,通常可以通过数组元素的 索引来访问数组元素,包括赋值,取值,同时,java语言的数组具有其特有的特征。

​ 数组也是一种类型。Java中的数组要求所有的数组元素具有相同的数据类型。因此在一个数组中,数组元素的类型是

唯一的,即一个数组只能存储一种数据类型的数组。

​ Java的数组即可以存储基本类型的数据,也可以存储引用类型的数据,只要数组元素的类型统一即可。

​ 数组也是一种数据类型,它本身是一种引用类型,例如int是一个基本类型,但int[]就是一种引用类型了。

​ 由于java语言面向对象的特征,类与类之间支持继承关系,所以数组的数组元素之间可以是父子关系,

但是该数组的数据类型仍然是唯一的,指向数组元素的最高父类,例如有一个水果数组,要求每个元素是水果,但它数组 元素可以是苹果,也可以是香蕉,这是他们都继承了fruit类,因此数组元素的类型还是唯一的

数组的定义

Java支持两种语法格式定义数组:

type[] arrayName;     //推荐这种方式,语义明确,可读性强
type arryName[];      //早期使用,不推荐

​ 数组是一种引用类型的变量,因此使用它定义变量时,仅仅定义了一个引用变量(也就是定义了一个空指针),

​ 还未指向任何有效的内存,因此定义数组时不能指定数组的长度,也不能被使用。

数组的初始化

​ Java语言中数组必须先初始化才能被使用。所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素

赋初始值。

​ 数组的初始化有两种方式:

静态初始化

语法格式是:

arrayName=new type[]{element1,element2,element3,...};

//简化格式如下
arrayName={element1,element2,element3,...};

静态初始化时,显式指定的数据类型必须与new关键字后面的type类型相同,或者是其子类类型。

动态初始化

动态初始化只指定数组长度,由系统为每个数组元素赋初始值,动态初始化语法格式如下:

arrayName=new type[length];

​ 执行动态初始化时,程序员只需指定数组的长度,几位每个数组元素分配所需的内存空间,系统负责为这些数组元素分配初始值。指定类型的规则如下:

  • ​ 数组元素类型是基本类型的整数类型(byte,short,int,long),则指定初始值0;

  • ​ 数组元素类型是基本类型的浮点类型(float,double),则指定初始值0.0;

  • ​ 数组元素类型是基本类型的字符类型(char),则赋初始值'\u0000';

  • ​ 数组元素类型是基本类型的布尔类型(boolean),则赋初始值false;

  • ​ 数组元素类型是引用类型(类,接口,数组),则赋初始值null;

标签:初始化,初始值,元素,数据类型,概念,数组,类型
From: https://www.cnblogs.com/luoyiwen123/p/18329877

相关文章

  • 数组
    数组1.数组的概念数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的四个基本特点:1.长度是确定的。数组一旦被创建,它的大小就是不可以改变的。2.......
  • 《重生到现代之从零开始的C语言生活》—— 数组
    数组数组是个啥数组是一组相同类型元素的集合数组分为一维数组和多维数组,多维数组比较常见的是二维数组一维数组的创建和初始化一维数组的建立的基本语法typearr_name[常量]存放的数组的值被称为数组的元素,在创建时可以指定数组的大小和数组的元素类型比如想创建......
  • Tensorflow:如何将 EagerTensor 转换为 numpy 数组?
    使用标准Tensorflow:importtensorflowastfx=tf.convert_to_tensor([0,1,2,3,4],dtype=tf.int64)y=x+10sess=tf.InteractiveSession()sess.run([tf.local_variables_initializer(),tf.global_variables_initializer(),])coord=tf.train.Coordi......
  • 一维\多维数组
     一、声明数组变量必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法:dataType[]arrayRefVar; //首选的方法或dataTypearrayRefVar[]; //效果相同,但不是首选方法注意:建议使用dataType[]arrayRefVar的声明风格声明数组变量。dataTypearrayRefV......
  • 软路由新手入门教程(从概念-选型-接线-安装)
    1、软路由、硬路由概念介绍硬路由通俗介绍:目前我们上网使用的路由器就是“硬”路由,他是厂商提供了一套完整的定制的软件+硬件的解决方案,包含刷好的系统(固件)、电源、路由器机器。常见的路由器有:华为、小米、TP-LINK。如下图。 软路由官方介绍:软路由是指利用台式机或服务......
  • C语言新手小白详细教程(5)数组
    希望文章能够给到初学的你一些启发~如果觉得文章对你有帮助的话,点赞+关注+收藏支持一下笔者吧~阅读指南:开篇说明一.一维数组的定义与引用1.定义一个一维数组2.引用一维数组内的元素3.一维数组内的初始化4.举个例子二.二维数组的定义与引用1.定义二维数组2.引用二维......
  • 把数组的元素内容反转 arr = {11,22,33,44,55,66} -->{66,55,44,33,22,11},找规律方
    1publicclassshuzu06{2//编写一个main方法3publicstaticvoidmain(String[]args){456//定义数组7int[]arr={11,22,33,44,55,66};8//思路分析9//规律10//1.把arr[0]和arr[5]进行交换{6......
  • JAVA跨平台的概念
    JAVA跨平台的概念Java跨平台性指的是用Java编写的应用程序可以在不同的操作系统(如Windows、Linux、MacOS等)上运行,而无需针对每个平台进行特定的修改或重新编译。JAVA跨平台的实现原理1.编译过程Java源代码(.java文件)首先通过Java编译器(javac)编译成一种中间代码,称为字节码(.clas......
  • 将 int[] arr1 ={10,20,30}; 拷贝到 arr2数组,要求数据空间是独立的。
    1publicclassshuzu06{2//编写一个main方法3publicstaticvoidmain(String[]args){45//将int[]arr1={10,20,30};拷贝到arr2数组,6//要求数据空间是独立的。78int[]arr1={10,20,30};910//创建一......
  • 使用带有广播或各种数组形状的 numpy select
    我有各种数组形状,我尝试使用np.select()。我的代码selected_results适用于这种情况:#Givenarraysresults=[[array(['alpha'],dtype=object)array([0.16134485])array([-2.19302435,0.57976273])array([1.25348942,0.77778261])array([0.56136549,0.......