传值问题和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是不重复,且有序的。