小弟刚上手JAVA,请教一下。
我使用Scanner来输入字符串,
然后我想用if语句来判断我输入的字符串是不是“EXIT”
但结果我输入EXIT,就是不执行if语句。
请教一下大家。
public class Libsys
{
public static void main(String arg[])
{
Scanner scan=new Scanner(System.in);
String sInput="",command="",sCom="EXIT";
do
{
System.out.println("Please input you command:");
sInput=scan.next();
command=sInput;
command.trim();
}while(command=="EXIT");
}
}
怎么也出不去这个循环。
我使用Scanner来输入字符串,
然后我想用if语句来判断我输入的字符串是不是“EXIT”
但结果我输入EXIT,就是不执行if语句。
请教一下大家。
public class Libsys
{
public static void main(String arg[])
{
Scanner scan=new Scanner(System.in);
String sInput="",command="",sCom="EXIT";
do
{
System.out.println("Please input you command:");
sInput=scan.next();
command=sInput;
command.trim();
}while(command=="EXIT");
}
}
怎么也出不去这个循环。
不要用==
用if 不就完了
定义变量规范点
不要都在一行
String是非可变类.所以command.trim()产生了一个新对象.并没有修改了command.
==代表判断两个字符串的两个引用得值是否相等,而equals是判断两个对象的值是否相同.
另外,command.trim();是要返回一个String对象.
这个不能用==去比较的,这是永远不等的,用equals去比较,他只比较值,而不比较地址
----------------------------------------------------------在Java虚拟机中对String有了特殊处理,只要是内容相等的字符串,那么会引用同一个地址,所以用等号判断也是可行的,不信你自己可以写个小程序看看