内存中也没区别吗 难道都是在堆中 然后a在栈中 指向堆中地址
追答堆存储的是运行时分配的内存,如果在编译的时候就能够确定内存的大小和数据类型,则在栈中。所以要看你数组声明的位置。
内存中也没区别吗 难道都是在堆中 然后a在栈中 指向堆中地址
int[][] a={{1},{2},{3}}和int[][] a=new int[][]{{1},{2},{3}}有...
没区别。。只是初始化的方式不同而已。。。最终效果都一样。。自己去打打看麻,实践就是真理 public static void main(String[] args) { \/\/ TODO Auto-generated method stub int[][] a={{1},{2},{3}};int[][] b=new int[][]{{1},{2},{3}};System.out.println(a[0][0]+b...
直接定义数组和用new定义数组区别是什么解决方法
按照thinking in java上的说法int a[]={1,2,3}叫聚集初始化int a[] = new int[] {1, 2, 3}叫动态聚集初始化具体区别看看下面代码:Java codeimport java.lang.reflect.*;public class Test78 { public static void main(String[] args) { int[] a = new int[] { 1, 2, 3 ...
int []array=new int [3];和int[] array = { 1,2,3};效果是一样的,但是...
首先这个是JAVA的问题,第二这两个的效果是不一样的。int []array=new int [3]是分配了内存空间和地址给一个叫array的数组,没有赋初值 int[] array = {1,2,3}分配了内存空间和地址给一个叫array的数组,并且赋了初值
java中int [] arr = {1}和int [] arr = new int[]{1}区别
我亲自给你打在Eclipse里面测试了,报错:数组常量只能在初始化操作中使用。这就是你所想要的答案。也就是说,你没有初始化。
int[] num={1,2,3}; int[] num1=new int[]{1,2,3}; 有啥不同?
这应该是java语句吧、或者是面向对象编程 new表示指向一个新的对象,其实就是创建对象用的。这相当于num1是一个实例,通过它来条用后面数组 而int【】 num= 是直接定义
java int [] a = new int[2]{1,3};
int[] a = new int[2]{1, 2, 3,};编译器应该将数组初始为什么呢?明显就有歧义了,为了避免这种有奇异的情况,Java的语法才这样规定。换句话说,只有在没有指定初始值的时候,才能给出初始大小,这两个信息只能给出一个,比如:int[] a = new int[2];就是合法的,默认初始值都是0 每种...
JAVA里的int[]a =new int[3],是指数组里指定义3个数么
1、int[] a=new int[length]; a[0]=1;2、int[] a={1,2,3};3、int[] a; a=new int[length];初始化时一定要指明数组长度,或像(2)间接指明长度。像你这种情况,若没有进一步赋值,将会创建3个可以存放int变量的内存空间,初始值都为0。a[0]=0; a[1]=0; a[2]=0;...
java 为什么int[] a={1};可以int[] a;a={1};为什么不行?(main方法里面...
java数组假设是声明了长度不可变。如果是前者,声明的时候就知道长度。如果是后者,声明时候不知道长度,所以是非法的。
Java数组初始化,这三种方式有什么区别
[java] view plain copy public static void main(String[] args) { \/\/ 1.方式一 声明 分配空间并赋值 int[] arr1 = {1,2,3};\/\/ 2.方式二 显示初始化 int[] arr2;arr2 = new int[]{1,2,3};\/\/ 3.方式三 显示初始化()int[] arr3;arr3 = new int[3];} 他们的区别,...
Java中 int [ ] a 与int a [ ] 啥区别,,求详解带例子
没有什么区别,就是写法不一样而已,编译的结果是一样的。可以这样理解:int[] a是一个对象,这个对象是个int型的数组,int a[]是一个数组对象,它的类型是int型的。