「java一维数组初始化」java二维数组的定义和初始化
本篇文章给大家谈谈java一维数组初始化,以及java二维数组的定义和初始化对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java中怎么数组初始化?
一维数组\x0d\x0a \x0d\x0a1) \x0d\x0aint[] a; //声明,没有初始化\x0d\x0a\x0d\x0a2) \x0d\x0aint[] a=new int[5]; //初始化为默认值,int型为0 \x0d\x0a \x0d\x0a3) \x0d\x0aint[] a={1,2,3,4,5}; \x0d\x0a//初始化为给定值\x0d\x0a4) \x0d\x0aint[] a=new int[]{1,2,3,4,5}; //同(3) \x0d\x0a \x0d\x0aint[] a=new int[5]{1,2,3,4,5}; \x0d\x0a//错误,如果提供了数组初始化操作,则不能定义维表达式\x0d\x0a5) \x0d\x0aint[] a; \x0d\x0aa=new int[5]; //正确,同(2)一样\x0d\x0a \x0d\x0aint[] a; \x0d\x0a \x0d\x0aa={1,2,3,4,5}; //错误数组常量只能在初始化操作中使用,如(3)\x0d\x0a\x0d\x0a6) int a[]; \x0d\x0a a[0]=1; \x0d\x0a//错误,因为数组没有初始化,不能赋值a[1]=2; 二维数组\x0d\x0a \x0d\x0a1) \x0d\x0aint[][] a; \x0d\x0a//声明,没有初始化\x0d\x0a\x0d\x0a2) int[][] a=new int[2][3]; \x0d\x0a//初始化为默认值,int型为0 \x0d\x0a \x0d\x0a3) \x0d\x0aint[][] a={{1,2},{2,3},{3,4}}; \x0d\x0a//初始化为给定值\x0d\x0aint[][] a={{1,2},{2,3},{3,4,5}}; \x0d\x0a//没有错,数组空间不是连续分配的,所以不要求每一维的大小相同\x0d\x0a4) \x0d\x0aint[][] a=new int[2][]; \x0d\x0aa[0]=new int[3]; \x0d\x0a//a[0]其实就是一个数组a[1]=new int[4]; \x0d\x0a//每一维的大小可以不一样\x0d\x0a; \x0d\x0a \x0d\x0a5) \x0d\x0aint[][] a=new\x0d\x0aint[][]{{1,2},{2,3},{3,4,5}}; \x0d\x0a//同(3)
java中一维数组的定义及初始化的方法有哪几种
上面的说法的确不对!
可以这样理解二维数组,把“一维数组”看做是一种数据类型,二维数组只不过是定义了包含5个数据类型是“一维数组”(和String一样的一种数据类型)的特殊一维数组。也可以扩展到多维数组。通常会有这种说法java中不存在多为数组,多维数组只是包含n个次维数组类型的元素的一维数组。
从Java中数组定义格式来理解数组的思想。
type[] arrayName;
type arrayName[];
第一种定义格式能更好的帮助我们理解数组,这个格式将 type[] 看做一种数据类型,同于int、String等,是一种引用类型。“type[] arrayName;”定义了一个type[]类型的变量arrayName。从内存中来看,“type[] arrayName;”只是在栈内存中存放了arrayName这个引用类型变量,并没有指向任何有效的内存。只有在初始化后,才会在堆内存中分配数组元素存储空间。
同时,这种定义方法,也解释了为什么说Java中可以不存在多维数组的说法,因为都是把次维数组看做一个数据类型的缘故。
有关java中一维数组初始化问题
我再次强调一下
Java中所有的对象都是在堆中创建的,所以这两种方式是等同的
而不是像“依乐聪毓
”说的是有在栈中创建的
Java中只有基本数据类型是在栈中创建的,如byte,char,short,int...
第二种方式只是一种语法上的简化,具体可以看Thinking
in
Java
因此:
可以说这两种方式是等同的,因为数组是一个Array对象
{1,2,3,4,5}这个表达式返回的就是一个new出来的数组
然后用a这个引用变量来进行引用
java中所有创建的对象都是在堆中创建的(也就是说都是new出来的)
所以第二句和第一句没有区别
但是在c++之类的语言中就不同了
ps:
类比一下
String
a="hi";
String
a=
new
String("hi");
这两句也可以认为是等同的,原理和上面同样
lz要是有什么不明白的,欢迎发消息给我~
java数组类初始化如何赋值
总结了java数组的初始化的两种方法如下:
1、最简单的方法是直接赋值,如:
一维数组:
int[] num = {21,34,2,-9,987,0,-89};//创建一个一维数组,并赋7个初始值
二维数组:
int[][] num2 = {{21,22},{34,35}};//创建一个二维数组,并赋2个初始值
2、先创建一个数组对象出来,再进行循环赋值,如:
一维数组:
int[] num3 = new int[5];//先创建一个5长度的数组对象
for(int i=0;inum3.length;i++){//之后进行循环遍历对数组进行赋值
num3[i] = i;
}
二维数组:
int[][] num4 = new int[5][2];//先创建一个二维数组对象
for(int i=0;inum3.length;i++){//之后进行循环遍历对数组进行赋值
for(int j=0;jnum4[i].length;j++){
num4[i][j] = j;
}
}
关于java一维数组初始化和java二维数组的定义和初始化的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-21,除非注明,否则均为
原创文章,转载请注明出处。