首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

传值有关问题和TreeSet有关问题

2011-11-23 
传值问题和TreeSet问题问题1packageexampublicclassExam3{publicstaticvoidmain(String[]args){inti1in

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

热点排行