// Chapter 6 on Loops
public class Ch6
{
public void section6_1()
{ // invest $1000, when will it grow to $2000?
/*
double balance = 1000;
double goal = 2000;
double interestRate = 0.05;
double interest;
int years = 0;
while(balance < goal)
{
years++;
interest = balance * interestRate;
balance = balance + interest;
System.out.println("year " + years + " interest earned: " + interest + " balance: $" + balance);
}
*/
int i = 0; int sum = 0;
/*
while (sum < 10)
{
i++;
sum = sum + i;
System.out.println("i: " + i + " sum: " + sum);
// 1st time: i = 1, sum = 1
// 2nd time: i = 2, sum = 3
// 3rd time: i = 3, sum = 6
// 4th time: i = 4, sum = 10
// the loop terminates after 4 iterations
}
*/
/*
while (sum < 10)
{
i++;
sum = sum - i;
System.out.println("i: " + i + " sum: " + sum);
// lst time: i = 1, sum = -1
// 2nd time: i = 2, sum = -3
// 3rd time: i = 3, sum = -6
// will be an infinite loop
}*/
/*
while (sum < 0)
{
i++;
sum = sum - i;
System.out.println("i: " + i + " sum: " + sum);
} // This has no output because it doesn't run. sum < 0 is not true.
*/
/*
while (sum >= 10)
{
i++;
sum = sum + i;
System.out.println("i: " + i + " sum: " + sum);
} // This has no output because it doesn't run. sum >= 10 is not true.
*/
/*
while (sum < 10) ; // The ; terminates the while loop. The loop runs infinitely and does nothing.
{
i++;
sum = sum + i;
System.out.println("i: " + i + " sum: " + sum);
}
*
/
// do-while loop
// a do-while loop will (unlike a while loop) always run at least once
// the condition that is checked is at the END of the loop
int count = 0;
do
{ count++;
System.out.println("count: " + count);
} while (count < 10);
}
// for loops
public void section6_2()
{ // often used when you know how many times the loop will repeat
int start = 0; int end = 10; int j;
/*
for (j = start; j <= end; j++)
{
System.out.print(j + " ");
} */
double balance = 100; double interest;
double interestRate = 0.05;
/*
for (int year = 0; year <= 20; year++)
{ interest = balance * interestRate;
balance = balance + interest;
System.out.println("current balance: " + balance);
} */
int i;
for (i = 0; i <= 5; i++)
{ System.out.print(i + " ");
}
System.out.println();
for (i = 5; i >= 0; i--)
{ System.out.print(i + " ");
}
System.out.println();
for (i = 0; i < 9; i = i + 2)
{ System.out.print(i + " ");
}
System.out.println();
/* infinite loop. i is always not equal to 9.
for (i = 0; i != 9; i = i + 2)
{ System.out.print(i + " ");
}
System.out.println(); */
for (i = 1; i <= 20; i = i * 2)
{ System.out.print(i + " ");
}
// expected output: 1 2 4 8 16
System.out.println();
String day = "Thursday";
for (i = 0; i < day.length(); i++)
{ System.out.print(day.charAt(i));
}
System.out.println();
}
public static void main(String[] args)
{ Ch6 c = new Ch6();
//c.section6_1();
c.section6_2();
}
}