Home > database >  Position and Alternatives of Naming Java loop control variable in `for(){}` loops
Position and Alternatives of Naming Java loop control variable in `for(){}` loops

Time:06-24

Loop Control Variable Naming and Assignment Options (header vs. assignment in body of loop)

In short, a) is the control variable (i.e., 'counter') in a for loop usually named i out of convention and/or syntax, b) and is it advisable that one change the name inside the loop header or should one rather make an assignment inside the loop body? To make this question clear, I have presented two simple code blocks below for illustration, one with i and the other without. N.B., the assignment within the loop body of the first block.

// maintain use of i
class Coffee {
  
  public static void main(String[] args) {
    
    int cupsOfCoffee = 1;
    

    for (int i = 1; i <= 100; i  ) {
      i = cupsOfCoffee;
      cupsOfCoffee  ;
      System.out.println("Molly drinks cup of coffee #"   i);
    }   
  }
}

Or this one, eliminating i:

// use cupsOfCoffee as control variable
class Coffee {
  
  public static void main(String[] args) {
    
  
    for (int cupsOfCoffee = 1; cupsOfCoffee <= 100; cupsOfCoffee  ) {
      
      System.out.println("Molly drinks cup of coffee #"   cupsOfCoffee);
      
    }    
  }
}

Expansion of Question

Traditionally we use i as the control variable in initialization, the boolean expression, and increments in the header of loop (for (int i = 1; i <= 100; i )). Suppose, I am counting the cups of coffee (cupsOfCoffee) that Molly drinks. Is the first code block, leaving i in the loop header and declaring i = cupsOfCoffee preferred syntactically and/or by convention, or is the second method acceptable? The goal of this question is to make sure my code is stylistically, conventionally, and syntactically correct.

CodePudding user response:

In my opinion, it is perfectly acceptable to use variables other than i or j in loops. Programming is about writing understandable code, so a variable called ´cupsOfCoffee´ is very self-explanatory. It could thus also be useful for developers, working on the project you are working on.

  • Related