Conditional execution

The heart of the sort is the condition and the value swapping inside the loop.

                if (names[j].compareTo(names[j + 1]) > 0) { 
final String tmp = names[j + 1];
names[j + 1] = names[j];
names[j] = tmp;
}

There is only one conditional command in Java, the if command. It has the following format:

if( condition ) block else block

The meaning of the code structure is quite straightforward. If the condition is true, then the first block is executed, otherwise, the second block is executed. The else keyword, along with the second block, is optional. If there is nothing to be executed in case that the condition is false, then there is no need for the else branch, just like in the example. If the array element indexed with j is later in the sort order than the element j+1, then we swap them, but if they are already in order, there is nothing to do with them.

To swap the two array elements, we will use a temporary variable named tmp. The type of this variable is String, and this variable is declared to be final. The final keyword has different meanings depending on where it is used in Java. This may be confusing for beginners unless you are warned about it, just like now. A final class or method is a totally different thing than a final field, which is again different than a final local variable.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.189.180.43