数组newjava
A. java中数组在使用new创建之后 所有的元素就会有值
是的,用new关键字初始化数组时,数组会根据数组的数据类型给所有元素分配初始值,数值型为0,boolean型为false,引用数据类型为null
B. java 数组一定要new吗
你的疑惑可能是来自 C++ 吧
在 C++ 中,可用以下语句使用数组:
int arr[3] = {1, 2, 3}; // 临时数组,其数据位于栈中,函数返回后,就无效了
在 Java 中,则对应以下方式:
int arr[] = {1, 2, 3}; // 数组对象引用,其数据位于堆中,函数返回后,也不会立即失效
总结:
Java 中除了基本类型数据 (数值和单个字符) 外都使用对象,包括数组
Java 对象都有一个引用计数,记录其被引用的次数,为 0 时就可能会失效
Java 自带一个垃圾回收线程,每隔一段时间就会遍历所有对象,当对象引用计数为 0 时,就会释放其占用的内存,对象也就无效了
因此,Java 中方法是可以返回对象的引用的,外部也可以直接接收这引用
C. 怎么new 一个对象数组 java
class A(){......}
A a[]=new A[20]; 这就是一个对象数组了.
D. java中 在new数组时,长度为0和长度为100 有什么区别占用内存情况如何
数组的长度是固定的,数组长度为0就是说该数组是没有内容的,甚至是无法存放内容的,基本上是不占内存的;长度为100说明该数组是占用了一定内存的,即使里面不放内容也是会占用内存的,如果需要放入内容,长度不能超过100,。
E. java里创建数组时用new后面要不要用delete删除
这个说法是正确的。
解释:java中new的含义就是对某个对象进行初始化操作。说直白一点,就是“创建”操作。但是其实此时并没有进行对象赋值,之后必须赋值给一个对象才是有实际意义的。
如:
new A();
这个对象没有被引用,实际上是没有被引用,只不过是初始化,没有被实例化。
A a = new A();
这个是初始化对象并进行实例化为a对象,这样就可以对a进行操作了。
F. 在java中new一个数组什么意思,我只知道new一个方法是初始化一个类的对象
new的话就是在堆内存中开辟一片空间。new数组就是为新建的数组在堆内存中开辟空间存放这个数组。方法还可以new吗?
G. JAVA中数组初始化时用new与不用new有区别吗
1、不同于String类,String由于实现了常量池
所以new
和不new
有区别:new的话,引用变量指向堆区。不new的话,引用变量指向常量池。
2、对于数组的定义,初始化时用new与不用new
没区别,只是两种方式罢了,因为数组是引用数据类型,建立对象时,无论用不用new,数组实体都是放在堆内存中,引用变量放在栈内存。
H. java int数组加new和不加new有什么区别
你说的这两种没有任何区别,完全等价,不同的写法而已。都是直接初始化为这些值。
如果下面这种,可能有区别:
int[]ids=newint[5];
for(inti=0;i<5;i++){
ids[i]=i+1;
}
这种是开辟数组后,初始化为0,然后在逐次赋值。
I. java 里面为什么数组都需要new一下
声明对象只在堆内开辟了空间,但new后,在栈内开辟内存空间
J. Java中的数组在使用new操作符创建时是否被初始化
比较支持第二位的答案,但还是有点不同的,楼主自己衡量一下:
第3题是求最小
第5题是bc;因为string在处理字符串时都是新开辟空间在的,在大数据量时,stringbuffer的优势很明显。故选b。又因为string和stringbuffer是不同的类不能这样直接赋值,但可以加个转换StringBuffer
sb="(StringBuffer)这里是字符串";