求解答《斐波那契数列算法》的代码注释— 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

public static void rabbit() {
        int mun1=1,mun2=1;
        int mun;
        int month=10;
        for(int i=1;i<=month;i++) {
        if(i<=2) {
        System.out.println("第"+i+"个月的兔子总数量是1对");
                 }else {
                mun=mun2;
                mun2=mun1+mun2;
                mun1=mun;
        System.out.println("第"+i+"个月的兔子
            总数量是"+mun2+"对");
            }
        }
```重点解答一下
                mun=mun2;
                mun2=mun1+mun2;
                mun1=mun;
            System.out.println("第"+i+"个月的兔子
            总数量是"+mun2+"对");
这串代码的意思,数学不好搞了一个小时没搞明白为什么是这样子写,
**mun**的值在**mun2=mun1+mun2**这串代码里是否也变成**了mun1+mun2?**

你好。
首先,mun的值没有变成mun1+mun2。因为,先将mun2的值复制给了mun,此处仅仅是把mun2的值复制给mun,随后mun 和mun2便没有任何联系了。
对于上述三行代码:斐波那契数列是:1、1、2、3、5、8、13、21、34....开始时,mun1=1,mun2=2 然后经过一次循环上述三行代码后,mun1=1,mun2=2
再经过一次循环后,mun1=2,mun2=3 由此可见这三行代码是将mun1,mun2依次后移
由斐波那契数列公式可知:f(n)=f(n-1)+f(n-2)
希望能够帮助你理解

这里用的是基本类型,mun,mun1,mun2都是数值,mun = mun2 代表将mun2的值给mun,而不是mun恒等于mun2
例如现在 mun1为1 mun2为2,那段代码的意思就是
mun = 2
mun2 = 1 + 2
mun1 = 2