230 likes | 402 Views
Tirgul no. 2. Topics covered : Reading Input from the user. Printing Output to the user. if - else statement and switch. Boolean Operators. Checking your input. Logical Operators. Reading Input from the user. We leave the discussion of Input for later chapters
E N D
Tirgul no. 2 Topics covered: • Reading Input from the user. • Printing Output to the user. • if - else statement and switch. • Boolean Operators. • Checking your input. • Logical Operators.
Reading Input from the user • We leave the discussion of Input for later chapters • For now we will supply you with classes for getting input in all exercises and examples. • The class called EasyInput allows you to read input from the user. • In order to read an integer/double we use EasyInput as follows: int numberOfItems = EasyInput.readInt(); double width = EasyInput.readDouble();
Reading Input (contd.) • Please note that EasyInput is not a core Java class. We have supplied it for simplicity. • The EasyInput api is supplied on the course site.
Example - Multiplying two numbers // Requests two integers and prints their // multiplication. class MultiplicationExample { public static void main(String[] args) { int a,b; int mul; System.out.print(“The first number: “); a = EasyInput.readInt(); System.out.print(“The second number: “); b = EasyInput.readInt(); mul = a * b; System.out.println(“The multiplication is” + mul); } }
Example: Circle area and circumference // Reads the radius of a circle and prints // its circumference and area to an output window class CircleExample { static final double PI = 3.1415927; public static void main(String[] args) { double r, circumference, area; System.out.print(“Enter radius: “); r = EasyInput.readDouble(); circumference = 2*PI*r; area = PI*r*r; System.out.print(“Circumference: “); System.out.println(circumference); System.out.print(“Area: “); System.out.println(area); } }
The if Statement • The Java if statement has the following syntax: if (boolean-condition) statement; • If the Boolean condition is true, the statement is executed; if it is false, the statement is skipped • This provides basic decision making capabilities
Temperature class Temperature { static final int THRESHOLD = 65; public static void main(String[] args) { System.out.print(“Enter the temperature:”); int temperature = EasyInput.readInt(); System.out.println(“Current temperature “+ temperature); if (temperature < THRESHOLD) System.out.println(“It’s cold in here!”); } }
Boolean Expressions • The condition of anifstatement must evaluate to a true or false result • Java has several equality and relational operators: Operator == != < <= > >= Meaning equal to not equal to less than less than or equal to greater than greater than or equal to
Block Statements • Several statements can be grouped together into a block statement • Blocks are delimited by braces • A block statement can be used wherever a statement is called for in the Java syntax • See Temperature2.java
Example - Temperature2 class Temperature2 { static final int THRESHOLD = 65; public static void main(String[] args) { System.out.print(“Enter the temperature: ”); int temperature = EasyInput.readInt(); System.out.println(“Current temperature “+ temperature); if (temperature < THRESHOLD) { System.out.println(“It’s cold in here!”); System.out.println(“But we’ll survive.”); } } }
If .. Else Statement • Anelseclause can be added to anifstatement to make it an if-else statement: if (condition) statement1; else statement2; • If the condition is true, statement1 is executed; if the condition is false, statement2 is executed • See Temperature3.java.
Example - Temperature3 class Temperature3 { static final int FREEZING_POINT = 32; public static void main(String[] args) { System.out.print(“Enter the temperature: ”); int temperature = EasyInput.readInt(); if (temperature <= FREEZING_POINT) System.out.println(“It’s freezing!”); else System.out.println(“Above freezing.”); } }
Checking your Input • When requesting input from the user, you keep in mind that the input may be invalid. One way to handle this is to use if – else control statement: //number of items should be positive int numberOfItems = EasyInput.readInt(); if (numberOfItems < 0) { System.out.println( “Number of items must be positive!”); } else { double price = numberOfItems * ITEM_PRICE; System.out.print(“The total price is:“); System.out.println(price); }
Operator ! && || Operation Logical NOT Logical AND Logical OR Logical Operators • There are three logical operators in Java: • They all take boolean operands and produce boolean results • Logical NOT is unary (one operand), but logical AND and OR are binary (two operands)
a false true !a true false Logical NOT • The logical NOT is also called logical negation or logical complement • If a is true, !a is false; if a is false, then !a is true • Logical expressions can be shown using truth tables
a false false true true b false true false true a && b false false false true Logical AND • The expression a && b is true if both a and b are true, and false otherwise • Truth tables show all possible combinations of all terms
a false false true true b false true false true a || b false true true true Logical OR • The expression a || b is true if a or b or both are true, and false otherwise
Logical Operators • Logical operators are used to form more complex logical expressions if (a<1 || a%2!=0) { System.out.println( “The input should be a positive “+ “even number!”); return; } • Logical operators have precedence relationships between themselves and other operators
Logical Operators • Full expressions can be evaluated using truth tables a<1 || a%2!=0 false true true true a < 1 false false true true a%2!=0 false true false true
Nested If // Receives 2 integers and compares them class CompareExample { public static void main(String[] args) { System.out.print(“First number: ); int a = EasyInput.readInt(); System.out.print(“Second number: ); int b = EasyInput.readInt(); if (a != b) if (a > b) System.out.println(a+” is greater”); else System.out.println(b+” is greater”); else System.out.println(“the numbers are equal”); } }
Switch Construct Switch( integral expression) { case integral-value1: statements; break; case integral-value2: statements; break; : : case integral-valueN: statements; break; default: statements; break; }
Switch Construct (cont.) Switch( integral expression) { case integral-value1: case integral-value2: statements; break; : : case integral-valueN: statements; break; default: statements; break; }
public class Schedule { public final int SUNDAY = 1; public final int MONDAY = 2; public final int TUESDAY = 3; public void printSchedule(int day) { System.out.println(“Schedule for today is:”); switch(day) { case SUNDAY: System.out.println(“10:00 - 12:00 : Infi”); System.out.println(“12:00 - 14:00 : Alg”); break; case MONDAY: case TUESDAY: System.out.println(“10:00 - 13:00 discrete math”); break; default: System.out.println(“Error: No such day”); break; } } }