Programming for Beginners Lecture 3: Flow Control I: For Loops Martin Nelson Elizabeth FitzGerald Revision of Session 2 Declaration of variables and assigning values to them. The main Java variable types: char String byte integer boolean Performing arithmetic. Decision making double class myprog { public static void main(String[] args) { //Declare an integer int x=1; //Do some arithmetic x=x+10; //Print the result System.out.println(“The value of x is”+x); } } Session 3 - aims & objectives Find out more about decision making using logical operators Learn how to use ‘for’ loops to automate repetitive processes in your program Conditional branching Comparison operators > >= == < <= != Logical operators && || ! AND OR NOT Comparison of data types You will need to use different methods for comparing Strings than for comparing doubles, integers or chars We will discuss how to do this in Session 8. Looping A block of code is repeated A pre-defined number of times (determinate) Until a certain (boolean) condition is met (indeterminate) The contents of variables often change in each cycle Beware of perpetual or infinite loops! ‘For’ loops These are probably the most common type of loop. They require a starting condition, something to test to decide whether to continue, and a statement of what changes on each iteration. In Java, the syntax is: for(start condition; continue condition; update instruction) { Stuff to do on each iteration of the loop. This will be a list of statements, often a few lines long. } For loop example Some code to print the numbers 1 to 100 on the screen. for(int x=1; x<=100; x++) { System.out.println(x); } ‘for’ is a reserved word which tells java that this is a loop. Here x is declared when the for loop starts, but you could declare x before the loop. x++ is shorthand for ‘x=x+1’. Exercises Look at the example code in for this session: Simple determinate loop Loop a block of code: going up/going down N green bottles! N men went to mow! Then attempt today’s exercises. A different kind of loop… Coming up in Session 4... More on flow control...