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)

相关推荐

  • WebService Client端

    技术WebService Client端 WebService Client端pomxml version="1.0" encoding="UTF-8"
    project xmlns="http://ma

    礼包 2021年11月20日
  • 基于Docker的大数据开发环境怎么实现

    技术基于Docker的大数据开发环境怎么实现这篇文章主要讲解了“基于Docker的大数据开发环境怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于Docker的大

    攻略 2021年12月13日
  • 什么是脱式计算二年级,小学二年级的脱式计算是什么意思

    技术什么是脱式计算二年级,小学二年级的脱式计算是什么意思脱式计算即递等式计算,把计算过程完整写出来的运算,也就是脱离竖式的计算什么是脱式计算二年级。 在学习竖式计算之后,会学习到混合运算等可以连续计算的式子,在计算混合运

    生活 2021年10月25日
  • lte网络注册流程,3)

    技术lte网络注册流程,3) lte网络注册流程(3)
    lte网络注册流程(3)
    本文介绍下下lte网络注册的附着和建立默认承载的过程之中消息分析.
    1.attach request消息中主要包括:EP

    礼包 2021年11月25日
  • Java多线程之间如何共享数据

    技术Java多线程之间如何共享数据这篇文章主要介绍Java多线程之间如何共享数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、线程范围的共享变量多个业务模块针对同一个static变量的操作 要

    攻略 2021年10月31日
  • 三明治的英语,我想要一个三明治用英语怎么说

    技术三明治的英语,我想要一个三明治用英语怎么说我想要一个三明治三明治的英语。I want a sandwich.Id like (to have) a sandwich = I would like (to have)

    生活 2021年10月25日