日期:2014-05-20  浏览次数:20755 次

传值问题和TreeSet问题
问题1
package   exam;
public   class   Exam3   {
                                    public   static   void   main(String[]   args)   {
int   i=1;
int   j=i++;
System.out.println( "i= "+i);
System.out.println( "j= "+j);

if((i> ++j)&&(i++==j)){i+=j;
//System.out.println( "i= "+i);
//System.out.println( "d ");
}

System.out.println( "i= "+i);
System.out.println( "j= "+j);


}

}
结果为什么是
i=2
j=1
i=2
j=2
j的值为什么会变为2

问题2
TreeSet是unique   key,immutable,唯一,有序的吗?
谢谢指教。

------解决方案--------------------
TreeSet可以对集合中的元素进行排序
TreeSet可以自动过滤掉重复元素
TreeSet会根据比较规则判断元素内容是否相同

------解决方案--------------------
第一问:

if((i> ++j)&&(i++==j))

这里j自增了,变成了2。
------解决方案--------------------
第一问:
if((i> ++j)&&(i++==j)),当执行这个判断语句时,先判断(i> ++j),j先自加1,等于2,i本身就是2,所以(i> ++j)是false,&&后面的东西都不执行了,最后输出i和j都是2。
第二问:
TreeSet是不重复,且有序的。