What is the difference between a for loop and a while loop and do while loop?