java,c,c++,c#数组的定义及初始化

我学的是python,但在笔试时总是碰到其他语言的数组定义声明及引用,这种题搞的头大,于是来个各个语言的总结。

1 java

1.1 java定义数组有两种方式:

  1. type arrayname[];
  2. type[] arrayname;

type为数组类型,如:int, float, char, boolean(布尔型)

arrayname为数组名,[]说明该变量是一个数组类型的变量。

栗子:

  1. int[] intArray0;
  2. int intArray1[]

这两种方法没有区别,效果完全一样,不用纠结有什么不同点。

与c, c++不同,java在定义数组时并不为数组元素分配内存,因此[]中无需指定数组元素个数,即数组长度。

上述定义的数组也不能访问,因为并没有分配内存空间。

1.2 分配内存空间,要用到运算符new

一维数组的创建,格式如下:

arrayName=new type[arraySize];

arraySize为数组长度,type为数组类型。

如: intArray0 = new int[3];

通常,在定义的同时分配空间:

type arrayName[]=new type[arraySize];

如: int intArray0[] = new int[3];

注:内存一旦分配不能改变,所有说数组长度固定

1.3 数组的初始化

  1. 静态初始化:静态初始化是指在定义的同时指定数组元素内容
  2. 动态初始化:动态初始化是指在定义时首先通过new 关键字开辟指定大小的存储空间,然后在为数组指定内容

一维数组的静态初始化:

arrayName=new type[]{a, b,c };

简化形式:

arrayName = {a, b,c };

如:intArray[] = {1,2,3,4};

动态初始化:

arrayName = new type[arraySize];

静态初始化不指定元素的个数,动态初始化必须指定元素的个数。静态初始化时数组能够知道元素的个数所以不需要指定,而动态初始化时数组元素个数未知因此必须指定。

静态初始化

int intArray2 [] = new int[]{20,21,22};

静态初始化简化方式

int intArray3 [] = {30,31,32};

动态初始化

int[] intArray4 = new int[3];  

 错误写法:静态初始化不能指定元素个数

int intErrorArray5[] = new int[3]{50,51,52};

错误写法:动态初始化必须指定元素个数

int intErrorArray6[] = new int[];

1.4数组引用

t通过下表引用数组:

arrayName[index];

如:

动态初始化:

float floatArray[] = new float[3]; //3指数组元素的个数

floatArray[0] = 1.0f;

floatArray[1] = 131.58f;

floatArray[2]=167F;

1.5 二维数组的定义

  •  动态初始化

数据类型 数组名 [ ][ ] = new 数据类型[m][n]
数据类型 [ ][ ]  数组名 = new 数据类型[m][n]
数据类型 [ ]   数组名 [ ] = new 数据类型[m][n]

举例:int [ ][ ]  arr=new  int [5][3];  也可以理解为“5行3例”

  • 静态初始化

数据类型 [ ][ ]   数组名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....};

举例:int[][] arr = {{2,5},{1},{3,2,4},{1,7,5,9}};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值