A for loop controls the execution of one statement.
Which might be a simple statement or an { embraced block }.
Within any block of code - you've seen them all your life, a function is a block of statements, for example - you can have as many statements you want, and they will be executed in sequence, like usual.
Any of those statements might be a simple statement or… an { embraced block }.
So there's nothing magic or any need to wonder if the second if statement gets executed, no need to wonder if it is OK to have a for loop inside a for loop...
Where would we be if there were such things to worry about alla time?