class Kanzen
{
  public static void main(String args[])
  { int n;
    for(n=2; n<1000; n++)
      if (Test(n)) ・・・�@
        System.out.println("完全数 : " + n);
  }

  static boolean Test(int n)・・・�A
  { int i,k;
    for(k=0,i=n/2; i>0; i--)
      if (n%i==0) k+= i;
     if (n==k) return true;・・・�B
     return false; ・・・�C
     //else return false;
  }
}

プログラム超初心者です。
2〜1000までの完全数を計算するプログラムで
計算内容は理解できるのですが、プログラムの構造と流れが理解できません。

�@〜�Cがどういった役割をするのかと処理の流れを教えてください。