Control Statements
Control Statements
• If:
• if (condition) statement1;
• else statement2;
• Nested If:
• if(i == 10) {
• if(j < 20) a = b;
• if(k > 100) c = d; // this if is
• else a = c; // associated with this else
• }
• else a = d; // this else refers to if(i == 10)
• The if-else-if Ladder:
• if(condition)
• statement;
• else if(condition)
• statement;
• else if(condition)
• statement;
• ...
• else
• statement;
switch
• switch (expression) {
• case value1:
• // statement sequence
• break;
• case value2:
• // statement sequence
• break;
• ...
• case valueN:
• // statement sequence
• break;
• default:
• // default statement sequence
• }
• The expression must be of type byte, short, int, or char;
• Each case value must be unique literal
• Value specified in case must be type compatible with the expression
Nested switch Statements
• switch(count) {
• case 1:
• switch(target) { // nested switch
• case 0:
• System.out.println("target is zero");
• break;
• case 1: // no conflicts with outer switch
• System.out.println("target is one");
• break;
• }
• break;
• case 2: // ...
Iteration Statements
• While:
• while(condition) {
• // body of loop
• }
• class NoBody {
• public static void main(String args[]) {
• int i, j;
• i = 100;
• j = 200;
• // find midpoint between i and j
• while(++i < --j) ; // no body in this loop
• System.out.println("Midpoint is " + i);
• }
• }
do-while
• do {
• // body of loop
• } while (condition);
• // Using a do-while to process a menu selection
• class Menu {
• public static void main(String args[])
• throws java.io.IOException {
• char choice;
• do {
• System.out.println("Help on:");
• System.out.println(" 1. if");
• System.out.println(" 2. switch");
• System.out.println(" 3. while");
• System.out.println(" 4. do-while");
• System.out.println(" 5. for\n");
• System.out.println("Choose one:");
• choice = (char) System.in.read();
• } while( choice < '1' || choice > '5');
• System.out.println("\n");
• switch(choice) {
• case '1':
• System.out.println("The if:\n");
• System.out.println("if(condition) statement;");
• System.out.println("else statement;");
• break;
• case '2':
• System.out.println("The switch:\n");
• System.out.println("switch(expression) {");
• System.out.println(" case constant:");
• System.out.println(" statement sequence");
• System.out.println(" break;");
• System.out.println(" // ...");
• System.out.println("}");
• break;
• case '3':
• System.out.println("The while:\n");
• System.out.println("while(condition) statement;");
• break;
• case '4':
• System.out.println("The do-while:\n");
• System.out.println("do {");
• System.out.println(" statement;");
• System.out.println("} while (condition);");
• break;
• case '5':
• System.out.println("The for:\n");
• System.out.print("for(init; condition; iteration)");
• System.out.println(" statement;");
• break;
• }
• }
• }
for
• class ContinueLabel {
• public static void main(String args[]) {
• outer: for (int i=0; i<10; i++) {
• for(int j=0; j<10; j++) {
• if(j > i) {
• System.out.println();
• continue outer;
• }
• System.out.print(" " + (i * j));
• }
• }
• System.out.println();
• }
• }
Output:
• 0
• 01
• 024
• 0369
• 0 4 8 12 16
• 0 5 10 15 20 25
• 0 6 12 18 24 30 36
• 0 7 14 21 28 35 42 49
• 0 8 16 24 32 40 48 56 64
• 0 9 18 27 36 45 54 63 72 81
return
• Used to explicitly return from a method
• class Return {
• public static void main(String args[]) {
• boolean t = true;
• System.out.println("Before the return.");
• if(t==true) return; // return to caller
• System.out.println("This won't execute.");
• }}
•
• return causes execution to return to
the Java run-time system, since it is the
run-time system that calls main( )