黑马程序员技术交流社区

标题: 总结&&与&,==与equals()、compareTo() [打印本页]

作者: YC匪帮    时间: 2015-9-11 10:05
标题: 总结&&与&,==与equals()、compareTo()
逻辑运算符&&和&都表示逻辑与,那么他们之间的区别在哪呢?
        使用逻辑运算符&会判断两个表达式,而&&则是针对boolean类型的类进行判断,但第一个表达式为false是则不去判断第二个表达式,直接输出结果从而节省计算机判断的次数。通常这种在逻辑表达式中从左端的表达式能够推断出整个表达式的值称为短路,而那些始终执行逻辑运算符两边的表达式称为非短路。&&属于短路运算符,而&属于非短路运算符。

        对字符串比较不能简单地使用比较运算符==,因为比较运算符比较的是两个字符串的地址是否相同。即使两个字符串的内容相同,两个字符串的内存地址也是不同的,使用比较运算符仍然会返回false。
        如果两个字符串具有相同的字符和长度,则使用equals()方法进行比较时,返回true。
        compareTo()方法俄日按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值,按按字典顺序将此String对象表示的字符序列与字符串所表示的字符序列进行比较。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2