תשובות יותר מפורטות:
בקשר ל- while: לולאת while בודקת תנאי בוליאני (המצוי בסוגריים), וכל עוד הוא מתקיים היא חוזרת על עצמה. ניתן "לחקות" לולאת for בעזרת לולאת while, אולם השימוש בלולאת for נעשה על-מנת לקדם ערך משתנה בעוד השימוש בלולאת while לא "מחייב" זאת. בקשר ל- switch: מיועדת לבדיקת ערך משתנה מסויים ולבצע פקודות עפ"י ערך זה. לא ניתן לבדוק תנאי בוליאני בפקודת switch בניגוד ל- if. פקודת switch יעילה יותר לעומת פקודת if - הקומפיילר יוצר קוד יעיל יותר בשפת מכונה. לכן, אם רק בודקים ערך מסויים ועל-פיו רוצים לבצע פקודות, משתמשים ב- switch. אם בודקים תנאים בוליאניים שעל-פיהם רוצים לבצע פקודות, "אין ברירה" אלא להשתמש ב- if-else.