-
Now that you know about while loops,
-
let's talk about
another kind of loop, for loops.
-
Here's a for loop I made to praise
-
the most delicious kind of pizza,
pineapple pizza.
-
You might think, "I liked while loops,"
-
"Why should I care about
this new kind of loop?"
-
Well, soon you will see
that a for loop is a way
-
to write simple kinds of while loops
in a bit of a shorter way.
-
So, before we inspect this for loop,
-
let's go ahead and look at a while loop
which will be a bit more familiar.
-
We'll get back to this for loop
in a moment.
-
So, just like you saw
in the intro to while loops,
-
We start with this variable y,
-
and we write a message
using that location y.
-
We say that we want to keep going
-
as long as y is less than 300
and change y by 40 each time.
-
Now, just to reinforce each of these,
which should be review,
-
we can say that "Pineapple pizza is
the best" is an important message,
-
so we probably want to be
writing it more.
-
so we should start higher
--so we change that--,
-
it should go on for longer,
so we make it bigger,
-
and it should be spaced
closer together --don't you think?--
-
so that's a little bit better.
-
Now, let's see how we can change
this while loop into a for loop.
-
I'm going to comment out this while loop,
-
just so you can see that it's doing
what I'm saying it's going to do.
-
And we'll create a for loop
and some space to fill in later.
-
Something really important,
kind of different for a for loop,
-
it's not just one thing that goes in here,
it's actually three things.
-
We tell the computer that
-
by using these semicolons
to separate the three parts,
-
we'll have one part here,
one part here, one part here,
-
and then, the inside of the loop,
just like we had before.
-
So, what goes in each of these parts?
-
You can think of it as a start,
or initialization,
-
then we'll have a semicolon,
-
then, some sort of instructions
on how long to repeat,
-
and then we're going to have
some sort of change happening.
-
So, how does that correspond
with this while loop?
-
Really concretely, we can say
-
that the start sets up
this variable y here,
-
so let's copy and paste that over
to this first part of the for loop.
-
Similarly, we can say
this middle part is saying
-
how long we should keep going for
and that goes in the middle.
-
We say the change happens at the end here,
we'll put that at the end of the for loop.
-
These three parts always have to occur
in this order in your for loop.
-
You always have to start by saying
-
this is what the variable
should start out as.
-
Here it's 27.
-
Then you say how long to keep going for.
Repeat as long as it is less than 354.
-
Then you need to put
how you are going to be changing things.
-
So here we are going to be changing
by increasing y by 24.
-
Last, you just have to do
-
whatever you wanted to do
inside the for loop.
-
So we'll go ahead
and write that text there.
-
And there we have have it,
pineapple pizza is the best.
-
Everybody will know.
-
Now, let's think a bit more closely about
what's happening with this for loop.
-
If we wanted to change where it started,
well, we just change the start here.
-
If we wanted to change where it ended,
we just change this endpoint.
-
If we wanted to change the spacing,
we would just change the increment number.
-
We can also change
--just like with the while loop --
-
what value we have for x.
-
One thing that can be confusing
about a for loop
-
is to remember what these semicolons do.
-
You need to remember that they always need
to be there to separate the 3 parts.
-
If we don't have them there,
-
then we are going to get
some weird error messages
-
about our for loop,
-
so whenever you see
that just double-check that you have them.
-
You also may get overenthusiastic
and add an extra one at the end,
-
but if you just remember that semicolons
are only there to separate the 3 parts,
-
then we can say that this last semicolon
isn't separating anything,
-
it's just trailing on there, so we can
get rid of it because we don't need it.
-
Now, I know you're probably
getting a little bit tired of seeing
-
these for loops getting converted
into while loops and back,
-
let's just do it one more time,
-
so you can see a for loop really is
-
just another way of writing
a simple kind of a while loop,
-
and you'll be really confident
in understanding
-
how to go from a for loop
back into a while loop.
-
You can do that with any kind
of for loop, not just this one.
-
The first thing that we do is think about
-
where to put this first value
that we have inside of our for loop.
-
Since it's just initializing
this variable,
-
remember that it has to go outside
not inside the while loop,
-
and it should go before as well,
-
because we need to be using it
during our while loop.
-
Then you think about
where should this condition go,
-
--that's pretty easy--,
-
usually the stop condition,
or the repeat until condition,
-
needs to go inside here,
-
we're gonna say while y
is less than 313 we'll keep going.
-
Finally, the change.
-
We always put the change
at the end of the while loop,
-
in the loops that we've seen,
so we should go and do that here.
-
Now, we just need to move this text call
inside, and there we have it.
-
Comment out this whole loop, and you see
that we made the exact same thing happen.
-
Hopefully by now, you can see
-
that this new for loop
isn't actually necessary.
-
We could go through our entire programming
lives writing loops that looked like this.
-
But, it is a bit impressive
how much more concise this for loop is.
-
It makes it a bit more clear,
once you're used to it, what's going on.
-
How we're starting a variable,
-
we're saying how long to keep going,
-
and then changing that variable here.
-
So, if you really hate for loops,
you don't have to use them ever,
-
but you should be used to seeing them.
-
And if they're confusing, just remember
-
you can convert them back
into a while loop like this.
-
And if you're feeling adventurous,
try using a for loop in your new program,
-
or going back to some of your old,
simple while loops,
-
and converting them
into for loops, if appropriate.
-
A final note: you cannot always convert
a while loop into a for loop,
-
only when they're
in a really simple form like this,
-
where it's really clear
what variable you're starting out with,
-
how long it's going for,
and how it's changing.