字符谜题之3:畜牧场,即“+”和“==”的优先级问题

来源:互联网 发布:js 遍历dom元素集合 编辑:程序博客网 时间:2024/06/02 20:48
package characterPuzzles;public class AnimalFarm {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubfinal String pig = "length: 10";final String dog = "length: " + pig.length();System.out.println("Animals are equal: " + pig == dog);//上面的程序竟然只是打印出:false;错误在于 + 的优先级高于==;/*:+ 操作符,不论是用作加法还是字符串连接操作,它都比 == 操作符的优先级高。因此,println方法的参数是按照下面的方式计算的:System.out.println(("Animals are equal: " + pig) == dog);这个布尔表达式的值当然是false,它正是该程序的所打印的输出。 */System.out.println("Animals are equal: " + (pig == dog));}}

原创粉丝点击