java小白求助-关系运算符

学习书上的一个实例,
这里的s1 s2的值是什么?前面的b1 b2能看明白,后面s1 s2不知道指啥,所以不明白为啥运算结果b3:false; b4:true。 

另外还有个问题,我想把.java文件放在下图目标路径下,然后每次直接运行这下面的,但是找不到,一直提示不正确,不知道哪里出了问题,我现在只能直接放在某个盘的下面(如直接放在D盘下面),不能再嵌套文件夹。以上2个问题,求大神解答,谢谢!

2个回答

亲、请参考以下解答哈:

问题一:

String s1=new String();是代表了创建一个字符串成员、然后后面没有赋值、也就是默认值为null;

s2也是同样的道理;

然后boolean b3=(s1==s2);这里比较的不是对方的值大小、而是内存地址、因为都是新建的两个空成员变量、内存地址值有所不同、也就是==号是比较两个变量是否引用的同一个地址值、因为在堆中定义出了两个对象、所以引用是不相等的、自然false了、、

而boolean b4=(s1!=s2);因为同样的道理、内存地址值不同、自然是true了、、这道题涉及到了java的堆栈问题、可以自行加深一下理解、、、


问题二:

如果确认了你的Java环境变量配好了的话、也就是系统变量JAVA_HOME 和CLASSPATH、则直接在DOS窗口内输入D:按回车进入D盘下直接运行javac以及java命令即可;

否则在使用dos命令的时候、建议切换好盘符后使用cd命令来切换目录、如cd D:\javastu\190318    、然后在该路径下运行javac以及java命令、、、

发布于 2019-03-19 15:15
查看更多

s1和s2被初始化为 “”

发布于 2019-03-19 15:25
查看更多
外卖券领取

相关问题

支持语音或者文本回复

语音最长一分钟

点击录音开始,最短不低于3秒