Interactive Applications (CLI) and Math

advertisement
Interactive Applications (CLI) and Math
•
•
•
•
•
•
Interactive Applications
Command Line Interfaces
The Math Class
Flow of Control / Conditional Statements
The if Statement
Reading for this class: L&L, 3.5, 5.1, 5.2
1
Interactive Applications (CLI)
• An interactive program with a command line
interface contains a sequence of steps to:
– Prompt the user to enter input data
– Read and save the user’s responses
– Process the data after all input(s) are received
• We can prompt the user:
System.out.println(“prompt text”);
• We can read and format user responses:
type variable = scan.nextType();
2
Interactive Applications (CLI)
• Similar to Quadratic.java (Page 129)
int a, b, c; // integer coefficients
Scanner scan = new Scanner(System.in);
System.out.println(“Enter coefficient A”);
a = scan.nextInt();
System.out.println(“Enter coefficient B”);
b = scan.nextInt();
System.out.println(“Enter coefficient C”);
c = scan.nextInt();
// we have the data to solve the equation
// ax-squared + bx + c = 0 for it’s roots3
We have the input values, now what?
• To solve the quadratic equation, we need
to program in Java the formulas learned in
high school algebra:
discriminant = b squared – 4ac
root1 = (-b + squareroot of discriminant)/2a
root2 = (-b - squareroot of discriminant)/2a
• How do we program those equations?
• We need to use the Math Class Library,
Expression Evaluation, and Assignment
4
The Math Class
• The Math class is part of the java.lang package
• The Math class contains methods that perform various
mathematical functions
• These include:
– absolute value
– square root
– exponentiation
– trigonometric functions
5
The Math Class
• The methods of the Math class are static methods (also
called class methods)
• Static methods can be invoked through the class name – no
object of the Math class is needed
value = Math.cos(90) + Math.sqrt(delta);
• Similar to Quadratic.java (page 129)
discriminant = Math.pow(b, 2) – 4.0 * a * c;
root1 = (-1.0 * b + Math.sqrt(discriminant))/(2.0 * a);
root2 = (-1.0 * b – Math.sqrt(discriminant))/(2.0 * a);
• Note: We can’t program the + in the formula on page 130 in
Java. We need to calculate each root separately
6
Flow of Control
• Unless specified otherwise, the order of statement
execution through a method is linear:
– one statement after another in sequence
• Some programming statements allow us to:
– decide whether or not to execute a particular statement
– execute a statement over and over, repetitively
• These decisions are based on boolean expressions
(or conditions) that evaluate to true or false
• The order of statement execution is called the flow of
control
7
Conditional Statements
• A conditional statement lets us choose which
statement will be executed next
• Therefore they are sometimes called selection
statements
• Conditional statements give us the power to make
basic decisions
• The Java conditional statements are the:
– if statement
– if-else statement
– switch statement
8
The if Statement
• The if statement has the following syntax:
if is a Java
reserved word
The condition must be a
boolean expression. It must
evaluate to either true or false.
if ( condition )
statement;
If the condition is true, the statement is executed.
If it is false, the statement is skipped.
9
Conditions/Boolean Expressions
• A condition is often obtained using an equality
operator and/or relational operator which create
boolean expressions that return boolean results:
==
!=
<
>
<=
>=
equal to
not equal to
less than
greater than
less than or equal to
greater than or equal to
• Note the difference between the equality
operator (==) and the assignment operator (=)
10
The if Statement
• An example of an if statement:
if (sum > MAX)
delta = sum - MAX;
System.out.println ("The sum is " + sum);
• First the condition is evaluated -- the value of
sum is either greater than the value of MAX, or it
is not
• If the condition is true, the assignment statement
is executed -- if it isn’t, it is skipped.
• Either way, the call to println is executed next
• See Age.java (page 208)
11
Indentation
• The statement controlled by the if statement is
indented to indicate that relationship
• The use of a consistent indentation style makes
a program easier to read and understand
• Although it makes no difference to the compiler,
proper indentation is crucial to human readers
"Always code as if the person who ends up
maintaining your code will be a violent
psychopath who knows where you live."
-- Martin Golding
12
Download