首页 > 试题广场 >

下面程序输出结果为(): public class D...

[不定项选择题]
下面程序输出结果为():
public class Demo{
    public static void main (String [] args) {
        String lx = “LeXin”;
        String nb = lx;
        lx = "Fenqile";
        System.out.println(nb);
    }
}


  • 程序异常,编译不通过
  • 程序编写正常,可正常运行
  • 程序输出值为“LeXin”
  • 程序输出值为“Fenqile”
大意了,没有闪。光选了C。。。。
发表于 2021-01-06 10:37:50 回复(25)
首先将Lx指向“LeXin”的应用赋给了nb,然后Lx又指向了“Fenqile”,最后输出nb所指向的内容,所以输出“LeXin”。
发表于 2021-03-20 10:51:21 回复(1)
赋值的时候是中文双引号,不应该报错吗
编辑于 2021-12-31 14:58:22 回复(5)

分析过程如下图所示:
知识点:String 类型不可变指的是String类型的值不可变,但是String类型的引用是可变的。
发表于 2021-10-20 14:53:18 回复(2)
这应该才是题目原意,是nb不是bar,虽然想骂人
发表于 2020-10-24 21:21:03 回复(1)
bar都没有定义,能正常运行?
发表于 2019-09-29 11:18:21 回复(8)

应该选A吧,error

发表于 2019-09-17 15:40:23 回复(6)
这是c++的题就离谱
发表于 2020-09-11 00:13:01 回复(4)
public class Demo{
    public static void main (String [] args) {
        String lx = “LeXin”;    //在方法区的字符串常量池中分配内存,存储“LeXin”,lx引用指向此内存
        String nb = lx;    //nb引用也指向“LeXin”所在内存
        lx = “Fenqile”;    //方法区字符串常量池新分配内存存储“Fenqile”,lx引用改指向此内存,nb仍然指向“LeXin”          System.out.println(nb);
    }
}


发表于 2021-12-27 15:18:08 回复(1)
lx第一次赋值之后,把它的值赋给nb,这个时候nb的值已经确定,lx再次赋值,也是无法改变nb的值的。
发表于 2020-11-30 04:29:48 回复(0)
String类型指向一个String类型时,实际上是将第二个String所指向的字符串常量赋值给该String
发表于 2021-07-19 10:22:16 回复(0)
这我怎么看不到你们说的bar?! 我是来看解析的不是来看你们吵吵的
编辑于 2020-11-18 13:32:36 回复(3)
String lx = “LeXin”;
lx = “Fenqile”;
这怎么看都向是中文符的引号。
发表于 2021-07-01 10:05:17 回复(2)
谁他妈编的***题,中文引号。答案还特么写个编译通过
编辑于 2022-07-23 16:26:33 回复(0)
文字游戏,木意思
发表于 2022-04-23 09:53:15 回复(0)
在内存中,String 指向常量池,new String指向堆,
String lx = “LeXin”; 
        String nb = lx;
假设 LeXin 在常量池地址为0x11,lx和nb都指向0x11。
假设Fenqile常量池地址为0x22, 执行lx = “Fenqile”;lx指向0x22
发表于 2022-03-03 14:24:30 回复(0)
我又耍小聪明了,我还觉得自己对的不行。
我做题的想法:
"LeXin"和"Fenqile"都是字符串放入常量池里,lx先指向LeXin,然后nb和lx地址相同,所以当lx指向新的字符串时,nb也会改变。
实际是:
在lx指向新的字符串之前nb执行的内容就已经确定了。
我有一个问题,java是边解释边执行的吗?如果是的话,那这道题也可以用这个理由?
发表于 2022-08-20 22:44:03 回复(1)
,,选了c,忘记选b了
发表于 2022-04-29 19:01:41 回复(1)
跟我一样大意的,选出C,就嗨皮忘记了 举个爪
发表于 2022-03-29 21:54:57 回复(0)
答案:B、C
String类型直接赋值,其值存储在常量池,没有地址引用,因此,代码没有错误可以正常运行,而且nb其实也指向的是常量池中的字符串“LeXin”。当lx重新赋值,lx指向了新的字符串“Fenqile”,但是nb指向常量池中的字符串没有改变。
发表于 2022-02-24 22:25:38 回复(0)