阅读下面程序 public class OperatorsAndExpressions{ void equalsMethodl(){ String s1=new String("how are you");

admin2009-03-16  25

问题 阅读下面程序    public class OperatorsAndExpressions{        void equalsMethodl(){        String s1=new String("how are you");        String s2=new String("how are you");        System.out.println(s1==s2);        }        public static void main(String args[]){        OperatorsAndExpressionsOperAndExp=new OperatorsAndExpressions();        //用于复合类型数据的“==”运算符        OperAndExp.equalsMethod1();         }    }    程序运行结果是

选项 A、=
B、true
C、false
D、equal

答案C

解析 本题考查的是Java语言中运算符的特殊用法。相等比较运算符“=”,不仅可用于基本类型的数据之间的比较,还可以用于复合数据类型之间的比较。但是,对于复合类型数据的“=”运算,其比较的目标是两个操作数是否是同一个对象。如果需要比较两个对象的值是否相同,.则可以调用equals()方法。题目中函数equalsMethodl()的代码非常简单,首先生成两个字符串对象s1和s2,然后输出表达式“s1=s2”的结果。根据上面介绍的相等比较运算符的用法,字符串对象s1和s2是复合数据类型,因此表达式“s1=s2”比较的是s1和s2是否同一个对象。显然,s1和s2虽然具有相同的值,即“how are you”,但它们是两个不同的对象。因此,本题的正确答案是C。
转载请注明原文地址:https://kaotiyun.com/show/Ngnp777K
0

最新回复(0)