java简单问题,答案都书本都给出来了,可是都没懂,求助高手解释一下哈!先谢了..

来源:百度知道 编辑:UC知道 时间:2024/06/04 18:27:44
6,下列程序的执行结果是(B)
Public class Test7
{
Public static void main(String args[])
{
String s1=new String(“Hello world”);
String s2=new String(“Hello world”);
System.out.println(s1==s2);
}
}
A,true B,false C,Hello world D, 都不正确
答案不怎么不是A捏??它们两个不是相等么?帮解释一下哈!

13,下面哪一个不是创建数组的正确语句(C)
A,float f[ ][ ] =new float[6][6]; B,float [ ]f[ ] =new float[6][6];
C,float f[ ][ ] =new float[][6]; D, float [ ][ ]f =new float[6][];
这题的C答案不对,D答案怎么又对呀?还是不懂,A,B答案怎么又对捏??我刚学JAVA的,不懂哦...

26,关于下面Application的说明,正确的是(C)。
1,class ex37
2,{
3, static int x=10;
4, static{x+=5;}
5. Public static void main(String args[ ])
6,{
7. System.out.println(“x=”+x);
8,}
9,static {x/=3 ;}
10,}
A,第`4行与第9行不能通过编译,因为缺少方法名和返回类型
B,第9行不能通过编译,因为只能有一个静态初始化器
C,编译通过,执行结果为:x=5;
D,编译通过,执行结果为:x=3
最后执行的结果怎么得:x=5,麻烦帮解释,我不懂哦...????

2

6.因为S1和S2对应的不是同一对象,对于两个对象之间使用“==”比较的是他们对应的内存地址是否相同,用equals比较才是比较之间的内容是否相同

13 数组必须这样定义,可以定义a[1][],a[][],a[1][1],但是不可以定义a[][1]因为产生数据的时候,会发现二维数组无法找到固定的一维数组作为支撑。至于B数组可以这样写

26 在生成类的对象的时候,首先初始化的是静态变量和方法,所以x=10,然后+5,等于15,最后除以3,最后得出5

29 Ex42 test =new ex42; 这行错误,应该是Ex42 test =new ex42();

28 这道题,我也不明白

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
迷糊,完全迷糊……
把这道题弄到公司内网了,被人家鄙视了 =。=
丢老人了…… T_T

假设a,b内存中地址为aAddress,bAddress
调用method(StringBuffer x, StringBuffer y)时
将地址传给x,y
也就是x,y的地址为aAddress,bAddress

x.append(y);这句话让x对应的内存中的值修改为AB
也就是aAddress内存空间中的值变成AB
a指向的内存空间也是aAddress,所以最后打印出来的值为AB

y=x;这句话让y对应的内存空间修改为x的内存空间
也就是当前y指向aAddress
但是b依旧指向bAddress,所以最后打印出来的值为B

28题
如果不考虑其他的28的答案也应该是AB,AB

但是呢:因为Java调用的方法都是地址传递,即引用传递,方法中不能改变参数的引用,所以main方法中输出的b是B,a输出为AB看来你应该知道为什么。

再给你几个例子

Java语言的参数调用
1. 基本数据类型;
private void