Java 基础( 数组)

技术Java 基础( 数组) Java 基础( 数组)数组数组(Array), 是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。数组的常见概念1.数组

Java基础(数组)

数组

数组是按一定顺序排列的相同类型的数据集合,按名称命名,并通过编号统一管理。

数组的常见概念

1.数组名

2.下标

3.元素

4.数组长度:元素数量

阵列特性

数组是有序的。

数组本身是引用数据类型,数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型。

创建一个数组对象将在内存中打开一个完整的连续空间,数组名指的是这个连续空间的第一个地址。

一旦确定了数组的长度,就不能对其进行修改。

指定位置的元素可以直接用下标(或index)调用,速度非常快。

数组的分类

1.一维数组按维度:第二个是数组。

2.根据数组元素的类型,可以分为基本数据类型元素数组和引用数据类型元素数组。

数组的默认初始值。

1.数组元素是整数: 0

2.数组元素是浮点: 0.0。

3.数组元素是char,0或' u0000 '而不是' 0 '

4.数组元素是布尔值,false。

5.数组元素是引用数据类型: null。

java 内存构成

多维数组

如果一维数组在几何上可以看作一个线性图形,那么二维数组就相当于一个表格。

对于二维数组的理解,我们可以把它想象成一堆数组1和一维数组2的另一个元素。其实从阵列底层的运行机制来看,并没有多维阵列。

公共类ArrayTest2

公共静态void main(String[]args){ 0

//1.2D阵列的声明和初始化

//静态初始化1

int [][] arr1=new int[][] {{1,2,3},{4,5},{6,7,8 } };

//静态初始化2

int[] arr4[]=new int[][] {{1,2,3},{4,5},{6,7,8 } };

//静态初始化3

int[] arr5[]={{1,2,3},{4,5},{6,7,8 } };

//动态初始化1

String[][] arr2=新字符串[3][2];

//动态初始化2

String[][] arr3=新字符串[3][];

//2.如何在数组的指定位置调用元素

system . out . println(arr 1[0][1]);//2

system . out . println(arr 2[1][1]);//null

//system . out . println(arr 3[1][0]);//报告错误

arr3[1]=新字符串[4];

system . out . println(arr 3[1][0]);//null

//3.获取数组的长度

system . out . println(arr 4 . length);//3

System.out.println(arr4[0])。长度);//3

//4.遍历2D数组

for(int I=0;长度;I){ 0

for(int j=0;j arr4[i]。长度;j ) {

system . out . print(arr 4[I][j]);

}

system . out . println();

}

}

}

二维数组

二维数组分为外数组元素和内数组元素。

例如, int[][]arr=new int[4][3];

外层元素: arr[0],arr[1]等。

元素:arr[0][0],arr[1][2]

数组的默认初始值。

对于第一种初始化模式:例如,int[][]arr=new int[4][3];

外部元素的初始值是:地址值。

内部元素的初始值与一维数组的初始值相同。

对于第二种初始化模式:例如,int[][]arr=new int[4][];

外部元素的初始值为:null

内部元素的初始值为:不能调用,否则将报告错误。

二维数组内存解析

公共类ArrayTest3 {

公共静态void main(String[]args){ 0

int[][]arr=new int[4][3];

system . out . println(arr[0]);//[I @ 182 decdb-一元数组地址值

system . out . println(arr[0][0]);//0

system . out . println(arr);//[[I @ 7637 f22-二进制数组地址值

system . out . println(* * * * * * * * * * * * * * * * * * * * *);

float[][] arr1=新float[4][5];

system . out . println(arr 1[0]);//[F@4926097b

system . out . println(arr 1[0][0]);//0.0

system . out . println(* * * * * * * * * * * * * * * * * * * * *);

String[][] arr2=新字符串[4][2];

system . out . println(arr 2[1]);[ljava . lang . string;@2d363fb3

system . out . println(arr 2[1][1]);零

}

}

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/124356.html

(0)

相关推荐

  • mysql设置字段为varchar(mysql怎么把varchar改类型)

    技术mysql如何转换varchar这篇文章主要介绍了mysql如何转换varchar,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    攻略 2021年12月16日
  • 临界区 sleep

    技术临界区 sleep 临界区 sleep24.1SleepIn some cases race conditions can be repeated when all but one thread a

    礼包 2021年10月28日
  • 提问的英文,对于价格的提问,用英语怎么说

    技术提问的英文,对于价格的提问,用英语怎么说对于价格的提问的英文:How muchmuch 读法 英 [mʌtʃ] 美 [mʌtʃ] 1、det./pron.(与不可数名词连用,尤用于否定句;或与how连用以询问数

    生活 2021年10月26日
  • 深入理解flink实时大数据处理实践(大数据系统开发基础)

    技术怎么实现大数据处理引擎Spark与Flink比拼今天就跟大家聊聊有关怎么实现大数据处理引擎Spark与Flink比拼,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收

    攻略 2021年12月17日
  • 如何使用mybatis collection在转化时候报错的问题

    技术如何使用mybatis collection在转化时候报错的问题如何使用mybatis collection在转化时候报错的问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章

    攻略 2021年10月20日
  • react中的flux是什么

    技术react中的flux是什么本篇内容主要讲解“react中的flux是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“react中的flux是什么”吧!

    攻略 2021年11月24日