有关JAVA语句的问题 高手帮帮忙 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/08 08:20:55
class GetVowel{
public static void main(String[] args ){

System.out.println("0==="+args[0]);
if(args[0] =="a")
System.out.println("1==="+args[0]);
}
}

为什么 这里的 IF语句不起作用呢 是不是哪有什么错误啊 谢谢~~~

注意:“==”和equals()的区别
在String类里 “==”表示的是比较两个变量的内存地址是否一样
equals()是比较两个变量的值是否相等
所以这里应该改成 :
if(args[0].equals("a"))
System.out.println("1==="+args[0]);

换成 if("a".equals(args[0]))

String类是不能用等号来比较的,在JAVA里等号是用来判断量的应用是否指向同一个实例,而不是他们的内容是否相同。你这样比当然会错,比字符串的内容应该用equals(),把原句改成if(args[0].equals("a"))应该就可以了。

class GetVowel{
public static void main(String[] args ){

System.out.println("0==="+args[0]);
if(args[0].equals("a")){
System.out.println("1==="+args[0]);
}
}
}
记住"if(){}" 意思是如果()中的成立,则执行{}里面的内容。你少了个{}。
还有 args是String型,就应该用 量1.equals(量2)
除了整型用==,其他都用.equals()

class GetVowel{
public static void main(String[] args ){
if("a".equals(args[0]))
System.out.println("1==="+args[0]);
else
System.out.println("0==="+args[0]);

}
}