做个笔记,弄清楚count++ 与 ++count的区别。其中count为static所修饰。
附上测试代码:
public class TestJiaJia
{
public static void main(String[] args){
Counter a = new Counter();
System.out.println(a.increment()); // 0
System.out.println(a.anotherIncrement()); // 2
Counter b = new Counter();
System.out.println(b.increment()); // 2
System.out.println(b.anotherIncrement()); // 4
}
}
class Counter{
private static int count = 0; // 注意count为静态变量。
public int increment(){
return count++; //先返回在自增。
}
public int anotherIncrement(){
return ++count; //先自增在返回。
}
}
count是静态变量,为所有对象所共享,因此不管a.increment()还是b.increment()都会使count持续增加。
increment()方法即count++返回当前count值,然后count增加1。
antoherIncrement()方法即**++count让count增加1,然后返回count值**
第一次a.increment()返回值为0,此时count值为1。
第二次a.anotherIncrement()先让count+1再返回,返回值为2。
第三次b.increment()先返回count当前值2,然后count+1。
第四次b.anotherIncrement()先让count+1再返回,返回值为4。
注意:
count++ : 先返回值再自增。
++count : 先自增再返回值。