java 数组 静态和java数组动态初始化化的区别

1077人阅读

静态是指在定义的同时就指定了值,一般存放已经知道却不改变的数据,例如性别等
而动态的话,声明时候只是给数组分配了内存大小空间,空间里除了初始值(数值类型是0,为NULL)什么也没有,实际放什么值是要由后面的程序来指定的,因为一开始放什么,我们也许也并不清楚。
下面附二维数组的声明、静态初始化和动态初始化
二维数组的声明
typearrayName[ ][ ];
type[ ][ ]arrayN
二维数组的初始化
静态初始化
int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};
Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。
&&&&&&& //非矩形数组的数组:
&&&&&&&&& int[][] twoDim = newint[4][];
twoDim[0] = new int[2];&
//每一维数组大小不同
twoDim[1] = new int[4];
twoDim[2] = new int[6];
twoDim[3] = new int[8];
&动态初始化
&&直接为每一维分配空间,
arrayName= new type[arrayLength1][arrayLength2];
inta[ ][ ] = new int[2][3];
从最高维开始,分别为每一维分配空间:
arrayName= new type[arrayLength1][ ];
arrayName[0] = new type[arrayLength20];//arrayLength20表示第二维的第一个数组
arrayName[1]= new type[arrayLength21];
arrayName[arrayLength1-1]= new type[arrayLength2n];
int[][] twoDim = new int[][4];&&//
二维简单数据类型数组的动态初始化如下,
inta[ ][ ] = new int[2][ ];
a[0]= new int[3];
a[1]= new int[5];
对二维复合数据类型的数组,必须首先为最高维分配引用空间,然后再顺次为低维分配空间。
而且,必须为每个数组元素单独分配空间。
Strings[ ][ ] = new String[2][ ];
s[0]=new String[2];//为最高维分配引用空间
s[1]=new String[2]; //为最高维分配引用空间
s[0][0]=new String(&Good&);// 为每个数组元素单独分配空间
s[0][1]=new String(&Luck&);// 为每个数组元素单独分配空间
s[1][0]=new String(&to&);// 为每个数组元素单独分配空间
s[1][1]=new String(&You&);// 为每个数组元素单独分配空间
二维数组的内存结构
二维数组元素的引用
对二维数组中的每个元素,引用方式为:arrayName[index1][index2]
例如:num[1][0];
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:28903次
排名:千里之外
原创:27篇
(6)(1)(2)(3)(4)(2)(13)
(window.slotbydup = window.slotbydup || []).push({
id: '4740881',
container: s,
size: '200,200',
display: 'inlay-fix'java 和 javascript 中的数组有什么区别? - 知乎10被浏览1683分享邀请回答//
var array=[1,'rambo',[2,3],{name:'rambo'}];
array.length=;
}catch(e){
console.log('数组长度无效');
// 3: 效率上 肯定是不如java的 不方便上测试代码 可以自行谷歌 有许多更专业的测试
js中一切皆对象Object
console.log(typeof array);
// 5 大神来吧
01 条评论分享收藏感谢收起3添加评论分享收藏感谢收起查看更多回答&&Java Array数组对象操作语法教程:声明、创建、初始化最近分享确实有些少,尤其java方面的,前端时间在写一个java脚本的时候发现java array数组的语法都忘记了,惭愧惭愧,虽然是基础,但如果不常用不管是高手菜鸟也确实容易忘记。所以给大家总结一份完整的java数组操作教程!java数组声明type var[]; 或type[]声明数组时不能指定其长度(数组中元素的个数),Java中使用关键字new创建数组对象,格式为:数组名 = new 数组元素的类型 [数组元素的个数]实例:TestArray.java:程序代码:
public class TestArray
public static void main(String args[]) {
s = new int[5] ;
for(i = 0 ; i & 5 ; i++) {
for(i = 4 ; i &= 0 ; i--) {
System.out.println(&& + s[i]) ;
} java数组初始化:1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值;3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化。实例:TestDynamic.java(动态):程序代码:
public class TestArrayDynamic
public static void main(String args[]) {
a = new int[3] ;
a[0] = 0 ;
a[1] = 1 ;
a[2] = 2 ;
Date days[] ;
days = new Date[3] ;
days[0] = new Date() ;
days[1] = new Date() ;
days[2] = new Date() ;
class Date
int year,month,
Date(int year ,int month ,int day) {
this.year =
this.month =
this.day =
TestStatic.java(静态):程序代码:
public class TestArrayStatic
public static void main(String args[]) {
int a[] = {0,1,2} ;
Time times [] = {new Time(19,42,42),new Time(1,23,54),new Time(5,3,2)} ;
class Time
int hour,min,
Time(int hour ,int min ,int sec) {
this.hour =
this.min =
this.sec =
} TestDefault.java(默认):程序代码:
public class TestArrayDefault
public static void main(String args[]) {
int a [] = new int [5] ;
System.out.println(&& + a[3]) ;
猜你喜欢0个牛币请下载代码后再发表评论精精精精原精精原原原原精精原精相关分享最近下载最近浏览暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级扫描二维码关注最代码为好友"/>扫描二维码关注最代码为好友}

我要回帖

更多关于 数组的静态初始化 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信