黑马程序员技术交流社区

标题: 求程序分析 [打印本页]

作者: 马伟恒    时间: 2012-4-18 07:34
标题: 求程序分析


作者: 陈坚    时间: 2012-4-18 09:04
“==”也用于判断两个对象参考名称是否指向同一个对象,在自动装箱时对于同一个从-128到127之间的值,他们被装箱为Integer对象后,会存在内存中被重用。
System.out.println("i1=i2\t"+(i1==i2));//true,装箱的过程
System.out.println("i1=i2+i3\t"+(i1==i2+i3));//true
System.out.println("i4=i5\t"+(i4==i5));//false,他们是两个不同的对象,所以为false
System.out.println("i4=i5+i6\t"+(i4==i5+i6));//true
作者: 光sail    时间: 2012-4-18 09:42
System.out.println("i1=i2\t"+(i1==i2))  判断的i1和i2的值是否相等 答案为true
System.out.println("i1=i2+i3\t"+(i1==i2+i3)); 判断的是i1的值是否等于i2+i3的值, 答案为true
System.out.println("i4=i5\t"+(i4==i5)); 判断的i4和i5指向的对象是否相同,i4和i5虽然new出的值相同,但在内存中指向对象的位置不同 所以为false
System.out.println("i4=i5+i6\t"+(i4==i5+i6));//true 判断的是i4的值是否等于i5+i6的值, 答案为true





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