I had the same problem coming from basic and Fortran. That was procedural programming, so I was told...
For loops: use Table, Nest, NestWhile, Fold, etc instead of For-Next. This is functional programming.
Interrupt your "loops" by enclosing your code in a Catch and exit with Throw. It is a new habit but you learn it fast, it is faster and clear.
Here is an example based on yr old style code:
In[9]:= Catch[
Table[Table[{i, j};
If[i == 3 && j == 4, Throw[{i, j}]], {i, 10}], {j, 10}]]
Out[9]= {3, 4}