何度も申し訳ありません
for文が苦手で理解できていません
for文の処理の順序を解説お願いします
左側の1から8は行数です

1 class Q27 {
2 public static void main ( String [ ] args ){
3 int [ ] data = { 10,20,30,40,50 } ;
4 int sum = 0 ;
5 for ( int i = 0 ; i <= data . length -1 ; i ++ ) sum += data [ i ] ;
6 System.out.println ( sum / data . length ) ;
7 }
8 }

ぱっと見の暗算で10+20+30+40+50=150を5で割るって考えてしまうんですが
自分の知能でコード解析すると
@3行目、int型の変数dataに要素10〜50を入れる
A4行目、in型のsumに0を代入
B5行目、for文、int型iに0を代入、iがdataより小さい間、回る。
ここまでしか分かりません
C5行目、0が代入されたsumにdata[0]の10、を足して代入
Dsum =0 に、data[0]=10を足して代入。sumは10
E6行目、10 割る data[0]の10 、なのでsumは0
Fdata[0]に入ってたiが5行目でインクリメントされi=1
Gi <= dataに戻り・・・1になったi よりdataが小さければ・・・

となり訳が分からなくなっています
大変お手数ですが、for文の回し方の順番をご教示願います
<m(__)m>