Java中的数组在使用new操作符创建时是否被初始化?

一、Java中使用关键字new创建数组对象,格式为:数组名 = new 数组元素的类型 [数组元素的个数]示例代码:public class TestOne { public static void main(String args[]) { int[] s ;int i ;s = new int[5] ;for(i = 0 ; i < 5 ; i++) { s[i] = i ;} for(i = 4 ; ...
Java中的数组在使用new操作符创建时是否被初始化?
前面那个个人选择题答的好烂!1.C 2.D 3.C.4AB 5CD .选择题第4题A肯定错了,B我不太确定,但是觉得数组是有长度的,应该是不可能放下任意长度的东西,因为java的数组是不可变长的。第五题String必定存储笔StringBuffer快,因为String可以直接赋值,不需要new,这样的字符串是存在常量池里面的,在堆里面不开辟空间,常量池速度比堆快,所以B肯定正确。C。Stringbuffer是不可以直接赋值的,C错误;D:String是最终类,是不可变的,这也就是说有连接的方法肯定错误。
填空题:
1.正确
2.没听说过这说法,但应该是对的 。2013-10-22
这个说法是正确的。
解释:java中new的含义就是对某个对象进行初始化操作。说直白一点,就是“创建”操作。但是其实此时并没有进行对象赋值,之后必须赋值给一个对象才是有实际意义的。
如:
new A();
这个对象没有被引用,实际上是没有被引用,只不过是初始化,没有被实例化。
A a = new A();
这个是初始化对象并进行实例化为a对象,这样就可以对a进行操作了。
2015-11-05
1.C,2.D,3.B,4AB,5CD。

一、Java中使用关键字new创建数组对象,格式为:
数组名 = new 数组元素的类型 [数组元素的个数]
示例代码:

public class TestOne {
public static void main(String args[]) {
int[] s ;
int i ;
s = new int[5] ;
for(i = 0 ; i < 5 ; i++) {
s[i] = i ;
}
for(i = 4 ; i >= 0 ; i--) {
System.out.println(i+"索引值:" + s[i]) ;
}
}
}

二、初始化数组:
1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行;
2.静态初始化:在定义数字的同时就为数组元素分配空间并赋值;
3.默认初始化:数组是引用类型,它的元素相当于类的成员变量,因此数组分配空间后,每个元素也被按照成员变量的规则被隐士初始化。
示例代码:
public class TestTwo {
public static void main(String args[]) {
int a[] ;
a = new int[3] ;
a[0] = 0 ;
a[1] = 1 ;
a[2] = 2 ;
Date days[] ;
days = new Date[3] ;
days[0] = new Date(2008,4,5) ;
days[1] = new Date(2008,2,31) ;
days[2] = new Date(2008,4,4) ;
}
}
class Date {
int year,month,day ;
Date(int year ,int month ,int day) {
this.year = year ;
this.month = month ;
this.day = day ;
}
}

三、静态创建数组方式:
示例代码:
public class TestThree {
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,sec ;
Time(int hour ,int min ,int sec) {
this.hour = hour ;
this.min = min ;
this.sec = sec ;
}
}

四、默认创建数组方式:
示例代码:
public class TestFour {
public static void main(String args[]) {
int a [] = new int [5] ;
System.out.println("" + a[3]) ;
}
}

这选择题的答案确实就是这几个答案,创建数组的方式也就这几种,难道高质量认证为了跟别人不一样,我要选择错的答案和错误的代码吗?还是有其他的数组创建方式???2015-10-16
2楼其他都对,3题错了,是求最小值。
填空题第一题对。
第二题是错的,这题是想考你多维数组怎么来的。其实就是一维数组的每一项再存入一位数组。
他不是由一维数组组合来的。错在组合二字。

关于选择题第5题,二楼也是对的。因为String对象光说存储字符串的效率是比StringBuffer高的,因为他利用了常量池(你不理解无所谓,有这么个东西)。再说D选项确实是错的String类是final的,没有连接方法。2013-10-23
比较支持第二位的答案,但还是有点不同的,楼主自己衡量一下:
第3题是求最小
第5题是bc;因为string在处理字符串时都是新开辟空间在copy的,在大数据量时,stringbuffer的优势很明显。故选b。又因为string和stringbuffer是不同的类不能这样直接赋值,但可以加个转换StringBuffer sb="(StringBuffer)这里是字符串";2013-10-23
C 2 .D 3 A 4 C 不确定 5 BC
二 1. 是的,只要执行New,就会初始化
2. 正确
2013-10-22
mengvlog 阅读 12 次 更新于 2025-07-20 11:10:35 我来答关注问题0
  • 1.C,2.D,3.B,4AB,5CD。一、Java中使用关键字new创建数组对象,格式为:数组名 = new 数组元素的类型 [数组元素的个数]示例代码:public class TestOne { public static void main(String args[]) { int[] s ;int i ;s = new int[5] ;for(i = 0 ; i < 5 ; i++) { s[...

  • 在Java中,定义数组的方法主要有以下几种:1. 使用new关键字定义数组并指定长度 字符串数组:可以使用String[] s = new String[6];来定义一个长度为6的字符串数组。定义好之后,可以对该数组进行赋值,例如s[0] = "hello";。整型数组:类似地,使用int[] i = new int[6];定义一...

  • String[] newArr = new String[20];System.arraycopy(arr, 0, newArr, 0, 10);这行代码将原始数组arr的内容复制到新数组newArr的前10个位置中。这样,newArr就拥有更多的空间,但前10个元素与arr相同。此外,你还可以使用Java 8引入的Stream API来处理数组,例如过滤、映射和聚合等操作。总之,...

  •  校企律说法 在Java中arrayRefVar是什么意思?

    Java语言中使用new操作符来创建数组,其语法如下:arrayRefVar =new dataType[arraySize]; 这条语法语句执行了两件事情:一是使用 dataType[arraySize] 创建了一个数组;二是将新创建的数组的引用赋值给变量 arrayRefVar。数组变量的声明与创建数组可以使用一条语句完成,例如:dataType[] arrayRefVar =n...

  •  阿暄生活 java中数组定义的三种方法是什么 java中数组定义的三种方法

    在Java中,数组定义的三种方法分别是:指定数组类型,但不初始化数组元素:语法:类型名[] 数组名;示例:int[] numbers;说明:这种方式只是声明了一个数组变量,但并没有为其分配内存空间,也没有初始化数组元素。需要在后续使用new关键字为数组分配内存。在声明数组的同时进行初始化:语法:类型名[] ...

檬味博客在线解答立即免费咨询

Java相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部