Presentation is loading. Please wait.

Presentation is loading. Please wait.

Java Review Most of these slides are based on

Similar presentations


Presentation on theme: "Java Review Most of these slides are based on"— Presentation transcript:

1 Java Review Most of these slides are based on
Outline Java Primitives, Program Structure Operators, Control Flow, Loops Classes and Objects We will study two forms of repetition statements in this lesson. They are while and do-while statement. Most of these slides are based on “Intro to OOP with Java” text book by C. Thomas Wu

2 Java Translation The Java compiler translates Java source code into a special representation called bytecode in the .class file Java bytecode is not the machine language for any specific CPU Another software tool, called an interpreter (in our case the Java Virtual Machine), executes the bytecode Java is considered to be architecture-neutral The Java compiler is not tied to any particular machine In Chapter 5, we studied selection control statements. We will study in this chapter the second type of control statement, a repetition statement, that alters the sequential control flow. It controls the number of times a block of code is executed. In other words, a block of code is executed repeatedly until some condition occurs to stop the repetition. There are fundamentally two ways to stop the repetition—count-controlled and sentinel-controlled.

3 Program Structure // comments about the class public class MyProgram {
} // comments about the method public static void main (String[] args) { } method header method body

4 Arithmetic Operators Intro to OOP with Java, C. Thomas Wu

5 Operator Precedence Rules
The precedence table shows the order of operator evaluation. Instead of memorizing this table, it is more convenient and the code more readable if you use the parentheses judiciously.

6 Syntax for the if Statement
if ( <boolean expression> ) <then block> else <else block> Boolean Expression Can be visualized as a flowchart if ( testScore < ) JOptionPane.showMessageDialog(null, "You did not pass" ); else JOptionPane.showMessageDialog(null, "You did pass " ); Then Block Else Block Indentation is important!

7 Comparing Objects With primitive data types, we have only one way to compare them, but with objects (reference data type), we have two ways to compare them. We can test whether two variables point to the same object (use ==), or We can test whether two distinct objects have the same contents. String str1 = new String("Java"); String str2 = new String("Java"); if (str1 == str2) { System.out.println("They are equal"); } else { System.out.println("They are not equal"); } When we use the equality operator (==), we can comparing the contents of the variables str1 and str2. So str1 == str2 being true means the contents are the same, which in turn, means they are pointing to the same object because the content of a reference data type is an address. Therefore, if there are two distinct objects, even the values hold by these objects are the same, the equality testing by the equality operator will always result in false. Sol : They are not equal Discussion of some string methods

8 Syntax for the switch Statement
switch ( <arithmetic expression> ) { <case label 1> : <case body 1> <case label n> : <case body n> } Arithmetic Expression switch ( gradeLevel ) { case 1: System.out.print("Go to the Gymnasium"); break; case 2: System.out.print("Go to the Science Auditorium"); case 3: System.out.print("Go to Harris Hall Rm A3"); case 4: System.out.print("Go to Bolt Hall Rm 101"); } Case Label This is the general syntax rule for a switch statement. The case body may contain zero or more statements. Case Body

9 Syntax for the while Statement
while ( <boolean expression> ) <statement> Boolean Expression while ( number <= ) { sum = sum + number; number = number + 1; } Here’s the general syntax of a while statement. As long as the <boolean expression> is true, the loop body is executed. Notice that the loop body may not be executed at all. Statement (loop body)

10 Example: Testing Input Data
String inputStr; int age; inputStr = JOptionPane.showInputDialog(null, "Your Age (between 0 and 130):"); age = Integer.parseInt(inputStr); while (age < 0 || age > 130) { JOptionPane.showMessageDialog(null, "An invalid age was entered. Please try again."); age = Integer.parseInt(inputStr); } Priming Read Here's a more practical example of using a repetition statement. This code will only accept a value greater than 0 but less than 130. If an input value is invalid, then the code will repeat until the valid input is read. Notice that the 'age' variable must have a value before the boolean expression of the while statement can be evaluated. We therefore read the input value before the while test. This reading of input values before the test is called priming read. The loop body of this while statement is executed zero times if the input is valid the first time.

11 Syntax for the do-while Statement
while ( <boolean expression> ) ; do { sum += number; number++; } while ( sum <= ); Statement (loop body) Here’s the general syntax of a do-while statement. As long as the <boolean expression> is true, the loop body is executed. Notice that the loop body is executed at least once. Boolean Expression

12 Syntax for the for Statement
for ( <initialization>; <boolean expression>; <increment> ) <statement> 4) Increment and back to 2) 1) Initialization 2) Boolean Expression for ( i = 0 ; i < ; i ) { number = scanner.nextInt(); sum += number; } This shows the general syntax for the for statement. The <initialization> component also can include a declaration of the control variable. We can do something like this: for (int i = 0; i < 10; i++) instead of int i; for (i = 0; i < 10; i++) 3) (loop body)

13 Defining a Class class { } Import Statements Class Comment Class Name Data Members Methods (incl. Constructor) This is the template we use when creating programmer-defined classes. Let us take a look at Bicycle.java, and BicycleRegistration.java

14 Creating a Package The following steps illustrate the process of creating a package name myutil that includes the Fraction class. 1. Include the statement package myutil; as the first statement of the source file for the Fraction class. 2. The class declaration must include the visibility modifier public as public class Fraction { ... } 3. Create a folder named myutil, the same name as the package name. In Java, the package must have a one-to-one correspondence with the folder. 4. Place the modified Fraction class into the myutil folder and compile it. 5. Modify the CLASSPATH environment variable to include the folder that contains the myutil folder.

15 Arrays of Primitive Data Types
What is an Array? Why do we need them? Array Declaration <data type> [ ] <variable> //variation 1 <data type> <variable>[ ] //variation 2 Array Creation <variable> = new <data type> [ <size> ] Example double[ ] rainfall; rainfall = new double[12]; Variation 1 double rainfall [ ]; rainfall = new double[12]; Variation 2 As you can declare and create objects in one statement such as Person p = new Person( ); you can declare and create an array in one statement as double[ ] rainfall = new double[12]; Strictly speaking, an array is a reference data type and really an object because there is no class called Array in Java. The thumbnail note in page 413 is therefore not 100 percent accurate. An array is like an object!

16 Array Processing double[] rainfall = new double[12];
String[] monthName = new String[12]; monthName[0] = "January"; monthName[1] = "February"; double annualAverage, sum = 0.0; for (int i = 0; i < rainfall.length; i++) { rainfall[i] = Double.parseDouble( JOptionPane.showinputDialog(null, "Rainfall for " monthName[i] )); sum += rainfall[i]; } annualAverage = sum / rainfall.length; The same pattern for the remaining ten months. This code also computes the average annual rainfall, but this time we use the second array, an arrray of String so the prompt becomes "Rainfall for January", "Rainfall for February", and so forth. Notice how the monthName array is used in the for loop. The actual month name instead of a number.

17 Javadoc and Java Style General information on javadoc is located at
Detailed reference on how to use javadoc on Windows is located at Java Style Specifics


Download ppt "Java Review Most of these slides are based on"

Similar presentations


Ads by Google