Java FizzBuzz Project, I have no idea why this works (Or doesn't)

Hey all! I honestly bulldozed my way through the FizzBuzz assignment to find something that would work. Now I am in a position where I do not understand why this code works. I understand the ‘if’ and the ‘else if’ statements, however I cannot understand why I pulled “continue” out of my noggin, nor why it works. Could someone take a look, and assist me with cleaning this hot mess up? Thank you for any help you can give! https://www.codecademy.com/courses/learn-java/projects/java-fizzbuzz

Write a FizzBuzz.java program that outputs numbers from 1 to 100… with a catch:
*> *
> * For multiples of 3, print Fizz instead of the number.
> * For the multiples of 5, print Buzz.
> * For numbers which are multiples of both 3 and 5, print FizzBuzz.

import java.util.ArrayList;
public class FizzBuzz {


  public static void main(String[] args){
   // My FizzBuzz attempt
    ArrayList<Integer>numbers = new ArrayList<Integer>();
    for (int i = 1; i < 100; i++){
      if (i % 3 == 0 && i % 5 == 0){
      System.out.println("Fizzbuzz");
      continue;
      }
  else if (i % 5 == 0){
    System.out.println("Buzz");
    continue;
    } else if (i % 3 == 0){
    System.out.println("Fizz");
    continue;
  }
  System.out.println(i);
    }
  }
}

the continue keyword says to the iterator in the loop “hey iterator, you can skip this iteration from here on out and go to the next”.

The iterator is the mechanism which makes the loop, well, loop. So it chooses when to return back to the top of the loop.

Awesome, thanks for responding! So in this case, if I would want to remove the keyword ‘continue’ how would I go about doing so and gaining the same result. I have looked into other potential codes that would give the same result, but I can’t figure out what I did that is causing my whole code to rely on the keyword ‘continue’.