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

明天就要考试了求大神做下面的Java题一、选择题1.下列代码的输出结果是?()publicclassTest{publicstaticvoidmain(String[]a... 明天就要考试了 求大神 做下面的Java题
一、选择题

1.下列代码的输出结果是?( )

public class Test {

public static void main(String[] args) {

int size=10;

int[] array=new int[size];

size=25;

System.out.println(array.length);

}

}

A.编译错误 B.运行错误 C.输出10 D.输出20

2.以下( )代码,能够对数组正确初始化(或者是默认初始化)。

A.int[] a; B.a = {1, 2, 3, 4, 5}; I

C.nt[] a = new int[5]{1, 2, 3, 4, 5};

D.int[] a = new int[5];

3.score是一个整数数组,有五个元素,已经正确初始化并赋值,仔细阅读下面代码,程

序运行结果是()

temp = score[0];

for (int index = 1;index < 5;index++) {

if (score[index] < temp) {

temp = score[index];

}

}

A.求最大数 B.求最小数 C.找到数组最后一个元素 D.编译出错

4.下面关于数组的说法中,错误的是( )(选择两项)

A.在类中声明一个整数数组作为成员变量,如果没有给它赋值,数值元素值为空

B.数组可以在内存空间连续存储任意一组数据

C.数组必须先声明,然后才能使用

D.数组本身是一个对象

5.下列关于字符串的描叙中错误的是()(选择两项)

A.字符串是对象

B.String对象存储字符串的效率比StringBuffer高

C.可以使用StringBuffer sb="这里是字符串"声明并初始化StringBuffer对象sb

D.String类提供了许多用来操作字符串的方法:连接,提取,查询等

二、填空题

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

2.多维数组是由一维数组组合而成,这种说法是否正确?
展开
 我来答
nanwang21
2015-10-16 · TA获得超过2943个赞
知道大有可为答主
回答量:1220
采纳率:82%
帮助的人:242万
展开全部
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]) ;
}
}

这选择题的答案确实就是这几个答案,创建数组的方式也就这几种,难道高质量认证为了跟别人不一样,我要选择错的答案和错误的代码吗?还是有其他的数组创建方式???
198901245631
推荐于2018-05-09 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1733万
展开全部

这个说法是正确的。

解释:java中new的含义就是对某个对象进行初始化操作。说直白一点,就是“创建”操作。但是其实此时并没有进行对象赋值,之后必须赋值给一个对象才是有实际意义的。

如:

  • new  A();

这个对象没有被引用,实际上是没有被引用,只不过是初始化,没有被实例化。

  • A  a  =  new  A();

这个是初始化对象并进行实例化为a对象,这样就可以对a进行操作了。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6c0224c3a
2013-10-23 · TA获得超过311个赞
知道小有建树答主
回答量:199
采纳率:66%
帮助的人:111万
展开全部
2楼其他都对,3题错了,是求最小值。
填空题第一题对。
第二题是错的,这题是想考你多维数组怎么来的。其实就是一维数组的每一项再存入一位数组。
他不是由一维数组组合来的。错在组合二字。

关于选择题第5题,二楼也是对的。因为String对象光说存储字符串的效率是比StringBuffer高的,因为他利用了常量池(你不理解无所谓,有这么个东西)。再说D选项确实是错的String类是final的,没有连接方法。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友adb0cc3
推荐于2017-11-26 · 超过22用户采纳过TA的回答
知道答主
回答量:64
采纳率:100%
帮助的人:31.7万
展开全部
前面那个个人选择题答的好烂!1.C 2.D 3.C.4AB 5CD .选择题第4题A肯定错了,B我不太确定,但是觉得数组是有长度的,应该是不可能放下任意长度的东西,因为java的数组是不可变长的。第五题String必定存储笔StringBuffer快,因为String可以直接赋值,不需要new,这样的字符串是存在常量池里面的,在堆里面不开辟空间,常量池速度比堆快,所以B肯定正确。C。Stringbuffer是不可以直接赋值的,C错误;D:String是最终类,是不可变的,这也就是说有连接的方法肯定错误。
填空题:
1.正确
2.没听说过这说法,但应该是对的 。
追问
不论如何还是感谢大家的帮忙 谢谢 ~~~
追答
一不小心失误,把第3题写错了 ,我想选B来着,怎么打成C。。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
地工论短长9712
2013-10-23 · 超过12用户采纳过TA的回答
知道答主
回答量:44
采纳率:100%
帮助的人:30.6万
展开全部
比较支持第二位的答案,但还是有点不同的,楼主自己衡量一下:
第3题是求最小
第5题是bc;因为string在处理字符串时都是新开辟空间在copy的,在大数据量时,stringbuffer的优势很明显。故选b。又因为string和stringbuffer是不同的类不能这样直接赋值,但可以加个转换StringBuffer sb="(StringBuffer)这里是字符串";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式