| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2544 人关注过本帖
标题:有关于声明数组的问题
只看楼主 加入收藏
Z1020
Rank: 1
等 级:新手上路
帖 子:63
专家分:5
注 册:2019-11-9
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:4 
有关于声明数组的问题
Java小白,想问一下数组的声明和初始化应该是不一样的吧...
如我把它的声明和初始化分开:
int a[];
int[] a = new int [10];
那么声明后数组里是null,在内存中不占空间,初始化后数组里虽然还是没有值,但是被分配了空间,不再是null了...
是这样的吗?
搜索更多相关主题的帖子: int 空间 初始化 声明 数组 
2020-04-18 17:17
KennyFr
Rank: 1
等 级:新手上路
帖 子:1
专家分:7
注 册:2019-7-11
收藏
得分:7 
数组是引用数据类型,声明之后引用对象为null
初始化后默认值为0
2020-04-23 21:51
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:7 
int[] a = new int[10];//这里会有10个为0的值,作为a的元素
Integer[] b = new Integer[10];//b里面的值都是为null


基础类型byte,char,int,short,double,float,long,boolean,在类里面定义成员属性,都会分配一个默认值

程序代码:
public class Test{
        public int a;
        public char b;
        public double c;
        public float d;
        public long e;
        public byte f;
        public boolean g;
        public short h;
public static void main(String...args){
Test s = new Test();
System.out.println(s.a);//0
System.out.println(s.b);//
System.out.println(s.c);//0.0
System.out.println(s.d);//0.0
System.out.println(s.e);//0
System.out.println(s.f);//0
System.out.println(s.g);//false
System.out.println(s.h);//0
}
}

思考赐予新生,时间在于定义
2020-04-24 14:09
诺亚1998
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2020-6-22
收藏
得分:0 
数组声明后就会被设置默认值,如int[] a;这是a中已有了默认值null,之后给a赋值时 a=new int[10];时a中的值是int0x000000(heap堆地址 PS:int0x000000是瞎编的,反正是个地址)但a这个数组变量和int0x000000这个heap堆地址在Jdk栈中,同时在heap堆中会有一个叫int0x000000的地方被赋默认值{0,0,0,0,0,0,0,0,0,0};
2020-06-23 12:02
yao123123
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-6-30
收藏
得分:0 
回复 5楼 诺亚1998
2020-06-30 17:46
快速回复:有关于声明数组的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024943 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved