Do[expr, {max}]
evaluates expr max times.
Do[expr, {imax}]
evaluates expr max times, substituting i in expr with values from 1 to max.
Do[expr, {iminmax}]
starts with i = max.
Do[expr, {iminmaxstep}]
uses a step size of step.
Do[expr, {i, {i1i2, ...}}]
uses values i1, i2, ... for i.
Do[expr, {iiminimax}, {jjminjmax}, ...]
evaluates expr for each j from jmin to jmax, for each i from imin to imax, etc.

You can use Break[] and Continue[] inside Do: