SlideShare a Scribd company logo
Object – Oriented Programming
Week 4 – do - while and switch
Ferdin Joe John Joseph, PhD
Faculty of Information Technology
Thai-Nichi Institute of Technology
Java's console input
• The console is the terminal window that is running the
Java program
I.e., that's the terminal window where you type in the
command java ProgramName
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Java's console input
• When a Java program starts running, the Java runtime
system will initialize many variables in support for the
running program.
One of these variables is the Java system variable:
which represents the console input
The variable System.in is included in every Java
program (you don't need to define it).
System.in
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Java's console input
• A Java program can obtains inputs from the console
through the keyboard
• In other words:
• The Java system variable System.in represents
the keyboard
Faculty of Information Technology,
Thai-Nichi Institute of Technology
A note on the notation "System.in"
• At this moment in the course, we want to learn how to read
input from the keyboard
All you need to know is:
• It is too early in the course to explain the notation
System.in
• We will explain this after we have covered classes
• The variable named System.in represents the
keyboard
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Java's Scanner library functions
• Fact:
• The details of what the computer must do to read in a
number will be discussed in CS255
• The Java programming language provides a collection of
methods stored in the Scanner class that perform read
operations
(Remember that a class is a container for methods)
• There is a lot of work that the computer must do to read in a floating
point number
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Java's Scanner library functions (cont.)
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Java's Scanner library functions (cont.)
• We will now learn how to use the methods in the
Scanner class to read in floating point numbers
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Importing the Scanner class definition
• Recall the Rule of usage of methods in the Java library:
• If a Java program wants to use a method in the Java library, the Java
program must first import the containing class
• All classes in the java.lang package have already been imported into a Java
program
(You can use methods in these classes without the import clause)
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Importing the Scanner class definition
(cont.)
• We can use the following import clause to import the
Scanner class:
import java.util.Scanner;
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Preparation before we can read input
from the keyboard
• Before a Java program can read input from the keyboard,
the program must " construct a Scanner object
It is too early to explain what this means... I will only tell
you
how to do it
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Preparation before we can read input
from the keyboard (cont.)
• A Scanner object is constructed using the following
statement:
The name varName is an identifier
Example: constructing a Scanner object named in
Scanner varName = new Scanner(System.in);
Scanner in = new Scanner(System.in);
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Reading in a floating point number
from the keyboard
• After having constructed the Scanner object named in, you
can use the following expression to read a floating point
number from the keyboard:
You must save (store) the number read in by
"in.nextDouble()" in a variable with an assignment
statement
in.nextDouble()
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Reading in a floating point number
from the keyboard (cont.)
• What happens inside the computer:
• Just like Math.sqrt(..), the method call in.nextDouble() will
invoke (run) a method in Java's library.
The task performed by in.nextDouble() is to read a floating
point number from the keyboard:
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Reading in a floating point number
from the keyboard (cont.)
If you type in "3.5" on the keyboard at the time that
in.nextDouble() is running, then the call will return the value
3.5
• The return value will replace the method call:
The input value 3.5 is then stored in the variable a !!!
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Summary: steps to read in a floating
point number
• This figure summarizes the programming steps to read
in a floating point number:
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Example: reading input for the a,b,c-
formula
• Programming Example: ABC formula
import java.util.Scanner; // Import Scanner class (contains methods
// for reading keyboard input)
public class Abc2
{
public static void main(String[] args)
{
double a, b, c, x1, x2; // Define 5 variable
Scanner in = new Scanner(System.in); // Construct a Scanner object
a = in.nextDouble(); // Read in next number and store in a
b = in.nextDouble(); // Read in next number and store in b
c = in.nextDouble(); // Read in next number and store in c
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Reading in a floating point number
from the keyboard (cont.)
x1 = ( -b - Math.sqrt( b*b - 4*a*c ) ) / (2*a);
x2 = ( -b + Math.sqrt( b*b - 4*a*c ) ) / (2*a);
System.out.print("a = ");
System.out.println(a);
System.out.print("b = ");
System.out.println(b);
System.out.print("c = ");
System.out.println(c);
System.out.print("x1 = ");
System.out.println(x1);
System.out.print("x2 = ");
System.out.println(x2);
}
}
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Good programming practice: Prompting
user for input (cont.)
• Example
import java.util.Scanner; // Import Scanner class (contains methods
// for reading keyboard input)
public class Abc2
{
public static void main(String[] args)
{
double a, b, c, x1, x2; // Define 5 variable
Scanner in = new Scanner(System.in); // Construct a Scanner object
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Good programming practice:
Prompting user for input (cont.)
System.out.print("Enter a = "); // ******* Prompt message
a = in.nextDouble(); // Read in next number and store in a
System.out.print("Enter b = ");
b = in.nextDouble(); // Read in next number and store in b
System.out.print("Enter c = ");
c = in.nextDouble(); // Read in next number and store in c
x1 = ( -b - Math.sqrt( b*b - 4*a*c ) ) / (2*a);
x2 = ( -b + Math.sqrt( b*b - 4*a*c ) ) / (2*a);
System.out.print("a = ");
System.out.println(a);
System.out.print("b = ");
System.out.println(b);
System.out.print("c = ");
System.out.println(c);
System.out.print("x1 = ");
System.out.println(x1);
System.out.print("x2 = ");
System.out.println(x2);
}
}
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Reading other types of input from the
keyboard
• The procedure to read other types of inputs from the
keyboard is similar to the one above:
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Reading other types of input from the
keyboard (cont.)
• The only different is that we need to use a different
method in the Scanner class that read the correct type of
data.
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Reading other types of input from the
keyboard (cont.)
• Reading an integer number from the keyboard: use
nextInt()
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Loops – While, Do, For
• Repetition Statements
– Do – While
• Control Statements
- Switch
Faculty of Information Technology,
Thai-Nichi Institute of Technology
While Vs Do While
Faculty of Information Technology,
Thai-Nichi Institute of Technology
The do-while Repetition
Structure
do
{
statement(s)
} while ( condition ) ;
• The body of a do-while is ALWAYS
executed at least once. Is this true of a
while loop? What about a for loop?Faculty of Information Technology,
Thai-Nichi Institute of Technology
Example
do
{
num = prompt("Enter a positive number: ");
num = parseInt(num);
if (num <= 0)
{
alert("That is not positive. Try again.");
}
}while (num <= 0);
Faculty of Information Technology,
Thai-Nichi Institute of Technology
An Equivalent while Loop
num = prompt("Enter a positive number: ");
num = parseInt(num);
while ( num <= 0 )
{
alert("That is not positive. Try again.");
num = prompt("Enter a positive number: ");
num = parseInt(num);
}
• Notice that using a while loop in this case requires a priming
read.
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Switch Case
Faculty of Information Technology,
Thai-Nichi Institute of Technology
The Switch Statement
• The switch statement
provides another way to
decide which statement to
execute next
• The switch statement
evaluates an expression,
then attempts to match the
result to one of several
possible cases
• The match must be an exact
match.
switch ( expression ){
case value1 :
statement-list1
case value2 :
statement-list2
case value3 :
statement-list3
case ...
}
Faculty of Information Technology,
Thai-Nichi Institute of Technology
The Switch Statement
• Each case
contains a value
and a list of
statements
• The flow of control
transfers to
statement
associated with
the first case value
that matches
switch ( expression ){
case value1 :
statement-list1
case value2 :
statement-list2
case value3 :
statement-list3
case ...
}
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Switch - syntax
• The general syntax of a switch statement is:
switch ( expression ){
case value1 :
statement-list1
case value2 :
statement-list2
case value3 :
statement-list3
case ...
}
switch
and
case
are
reserved
words
If expression
matches value3,
control jumps
to hereFaculty of Information Technology,
Thai-Nichi Institute of Technology
The Switch Statement
• The break statement can
be used as the last
statement in each case's
statement list
• A break statement
causes control to transfer
to the end of the switch
statement
• If a break statement is
not used, the flow of
control will continue into
the next case
switch ( expression ){
case value1 :
statement-list1
break;
case value2 :
statement-list2
break;
case value3 :
statement-list3
break;
case ...
}
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Switch Example
switch (option){
case 'A':
aCount++;
break;
case 'B':
bCount++;
break;
case 'C':
cCount++;
break;
}
• Examples of the switch statement:
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Switch – no breaks!!!
switch (option){
case 'A':
aCount++;
case 'B':
bCount++;
case 'C':
cCount++;
}
• Another Example:
switch (option){
case 'A':
aCount++;
break;
case 'B':
bCount++;
break;
case 'C':
cCount++;
break;
}
Faculty of Information Technology,
Thai-Nichi Institute of Technology
Switch - default
• A switch statement can have an optional
default case
• The default case has no associated value and
simply uses the reserved word default
• If the default case is present, control will transfer
to it if no other case value matches
• If there is no default case, and no other value
matches, control falls through to the statement
after the switch
Faculty of Information Technology,
Thai-Nichi Institute of Technology
The switch Statement
switch (option){
case 'A':
aCount++;
break;
case 'B':
bCount++;
break;
case 'C':
cCount++;
break;
default:
otherCount++;
break;
}
• Switch
with
default
case:
Faculty of Information Technology,
Thai-Nichi Institute of Technology
To Switch or not to Switch
• The expression of a switch statement must result in an
integral type, meaning an integer (byte, short, int,
long) or a char
• It cannot be a boolean value or a floating point value
(float or double)
• The implicit boolean condition in a switch statement is
equality
• You cannot perform relational checks with a switch
statement
Faculty of Information Technology,
Thai-Nichi Institute of Technology

More Related Content

PPTX
DSA 103 Object Oriented Programming :: Week 5
Ferdin Joe John Joseph PhD
 
PDF
DSA 103 Object Oriented Programming :: Week 3
Ferdin Joe John Joseph PhD
 
PPTX
16. Java stacks and queues
Intro C# Book
 
PPTX
02. Data Types and variables
Intro C# Book
 
PPTX
07. Arrays
Intro C# Book
 
PPTX
Java Foundations: Basic Syntax, Conditions, Loops
Svetlin Nakov
 
PPTX
07. Java Array, Set and Maps
Intro C# Book
 
PPTX
11. Java Objects and classes
Intro C# Book
 
DSA 103 Object Oriented Programming :: Week 5
Ferdin Joe John Joseph PhD
 
DSA 103 Object Oriented Programming :: Week 3
Ferdin Joe John Joseph PhD
 
16. Java stacks and queues
Intro C# Book
 
02. Data Types and variables
Intro C# Book
 
07. Arrays
Intro C# Book
 
Java Foundations: Basic Syntax, Conditions, Loops
Svetlin Nakov
 
07. Java Array, Set and Maps
Intro C# Book
 
11. Java Objects and classes
Intro C# Book
 

What's hot (20)

PPTX
19. Data Structures and Algorithm Complexity
Intro C# Book
 
PPTX
15. Streams Files and Directories
Intro C# Book
 
PPTX
06.Loops
Intro C# Book
 
PPTX
16. Arrays Lists Stacks Queues
Intro C# Book
 
PPT
Ch02 primitive-data-definite-loops
James Brotsos
 
PPTX
19. Java data structures algorithms and complexity
Intro C# Book
 
PPTX
Java Foundations: Data Types and Type Conversion
Svetlin Nakov
 
PPTX
Java Tutorial: Part 1. Getting Started
Svetlin Nakov
 
PPTX
20.2 Java inheritance
Intro C# Book
 
PPTX
Java Foundations: Arrays
Svetlin Nakov
 
PPTX
10. Recursion
Intro C# Book
 
PPTX
Python basics
TIB Academy
 
PPTX
13. Java text processing
Intro C# Book
 
PPTX
18. Dictionaries, Hash-Tables and Set
Intro C# Book
 
PPTX
Java introduction
Samsung Electronics Egypt
 
PPTX
09. Java Methods
Intro C# Book
 
PPTX
Java Foundations: Strings and Text Processing
Svetlin Nakov
 
PPT
Chapter 2 Java Methods
Khirulnizam Abd Rahman
 
PPTX
03 and 04 .Operators, Expressions, working with the console and conditional s...
Intro C# Book
 
PPT
Chapter 2 Method in Java OOP
Khirulnizam Abd Rahman
 
19. Data Structures and Algorithm Complexity
Intro C# Book
 
15. Streams Files and Directories
Intro C# Book
 
06.Loops
Intro C# Book
 
16. Arrays Lists Stacks Queues
Intro C# Book
 
Ch02 primitive-data-definite-loops
James Brotsos
 
19. Java data structures algorithms and complexity
Intro C# Book
 
Java Foundations: Data Types and Type Conversion
Svetlin Nakov
 
Java Tutorial: Part 1. Getting Started
Svetlin Nakov
 
20.2 Java inheritance
Intro C# Book
 
Java Foundations: Arrays
Svetlin Nakov
 
10. Recursion
Intro C# Book
 
Python basics
TIB Academy
 
13. Java text processing
Intro C# Book
 
18. Dictionaries, Hash-Tables and Set
Intro C# Book
 
Java introduction
Samsung Electronics Egypt
 
09. Java Methods
Intro C# Book
 
Java Foundations: Strings and Text Processing
Svetlin Nakov
 
Chapter 2 Java Methods
Khirulnizam Abd Rahman
 
03 and 04 .Operators, Expressions, working with the console and conditional s...
Intro C# Book
 
Chapter 2 Method in Java OOP
Khirulnizam Abd Rahman
 
Ad

Similar to DSA 103 Object Oriented Programming :: Week 4 (20)

PDF
Lecture 2 java.pdf
SantoshSurwade2
 
PPT
07-Basic-Input-Output.ppt
Ajenkris Kungkung
 
PPTX
Lab101.pptx
KimVeeL
 
PPTX
Lab01.pptx
KimVeeL
 
PPTX
Basic pogramming concepts
Anurag Prajapat
 
PPTX
JAVA_SAMPLE CODING, JAVA BASICS PROGRAMS.pptx
SrinivasGopalan2
 
PPTX
Lecture 3
marvellous2
 
PPTX
Computer programming 2 chapter 1-lesson 2
MLG College of Learning, Inc
 
PPT
Variables 9 cm604.7
myrajendra
 
PPTX
JPC#8 Introduction to Java Programming
Pathomchon Sriwilairit
 
DOC
C notes for exam preparation
Lakshmi Sarvani Videla
 
PDF
programming fortran 77 Slide01
Ahmed Gamal
 
PPTX
Java Programming Tutorials Basic to Advanced 2
JALALUDHEENVK1
 
PPTX
Java input
Jin Castor
 
PDF
PRELIM-Lesson-2.pdf
jaymaraltamera
 
PDF
Exercise1 java
NguynMinh294
 
PDF
Arduino reference
Roberth Mamani Moya
 
Lecture 2 java.pdf
SantoshSurwade2
 
07-Basic-Input-Output.ppt
Ajenkris Kungkung
 
Lab101.pptx
KimVeeL
 
Lab01.pptx
KimVeeL
 
Basic pogramming concepts
Anurag Prajapat
 
JAVA_SAMPLE CODING, JAVA BASICS PROGRAMS.pptx
SrinivasGopalan2
 
Lecture 3
marvellous2
 
Computer programming 2 chapter 1-lesson 2
MLG College of Learning, Inc
 
Variables 9 cm604.7
myrajendra
 
JPC#8 Introduction to Java Programming
Pathomchon Sriwilairit
 
C notes for exam preparation
Lakshmi Sarvani Videla
 
programming fortran 77 Slide01
Ahmed Gamal
 
Java Programming Tutorials Basic to Advanced 2
JALALUDHEENVK1
 
Java input
Jin Castor
 
PRELIM-Lesson-2.pdf
jaymaraltamera
 
Exercise1 java
NguynMinh294
 
Arduino reference
Roberth Mamani Moya
 
Ad

More from Ferdin Joe John Joseph PhD (20)

PDF
Invited Talk DGTiCon 2022
Ferdin Joe John Joseph PhD
 
PDF
Week 12: Cloud AI- DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
PDF
Week 11: Cloud Native- DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
PDF
Week 10: Cloud Security- DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
PDF
Week 9: Relational Database Service Alibaba Cloud- DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
PDF
Week 7: Object Storage Service Alibaba Cloud- DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
PDF
Week 6: Server Load Balancer and Auto Scaling Alibaba Cloud- DSA 441 Cloud Co...
Ferdin Joe John Joseph PhD
 
PDF
Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu...
Ferdin Joe John Joseph PhD
 
PDF
Week 4: Big Data and Hadoop in Alibaba Cloud - DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
PDF
Week 3: Virtual Private Cloud, On Premise, IaaS, PaaS, SaaS - DSA 441 Cloud C...
Ferdin Joe John Joseph PhD
 
PDF
Week 2: Virtualization and VM Ware - DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
PDF
Week 1: Introduction to Cloud Computing - DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
PDF
Sept 6 2021 BTech Artificial Intelligence and Data Science curriculum
Ferdin Joe John Joseph PhD
 
PDF
Hadoop in Alibaba Cloud
Ferdin Joe John Joseph PhD
 
PDF
Cloud Computing Essentials in Alibaba Cloud
Ferdin Joe John Joseph PhD
 
PDF
Transforming deep into transformers – a computer vision approach
Ferdin Joe John Joseph PhD
 
PDF
Week 11: Programming for Data Analysis
Ferdin Joe John Joseph PhD
 
PDF
Week 10: Programming for Data Analysis
Ferdin Joe John Joseph PhD
 
PDF
Week 9: Programming for Data Analysis
Ferdin Joe John Joseph PhD
 
PDF
Week 8: Programming for Data Analysis
Ferdin Joe John Joseph PhD
 
Invited Talk DGTiCon 2022
Ferdin Joe John Joseph PhD
 
Week 12: Cloud AI- DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
Week 11: Cloud Native- DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
Week 10: Cloud Security- DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
Week 9: Relational Database Service Alibaba Cloud- DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
Week 7: Object Storage Service Alibaba Cloud- DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
Week 6: Server Load Balancer and Auto Scaling Alibaba Cloud- DSA 441 Cloud Co...
Ferdin Joe John Joseph PhD
 
Week 5: Elastic Compute Service (ECS) with Alibaba Cloud- DSA 441 Cloud Compu...
Ferdin Joe John Joseph PhD
 
Week 4: Big Data and Hadoop in Alibaba Cloud - DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
Week 3: Virtual Private Cloud, On Premise, IaaS, PaaS, SaaS - DSA 441 Cloud C...
Ferdin Joe John Joseph PhD
 
Week 2: Virtualization and VM Ware - DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
Week 1: Introduction to Cloud Computing - DSA 441 Cloud Computing
Ferdin Joe John Joseph PhD
 
Sept 6 2021 BTech Artificial Intelligence and Data Science curriculum
Ferdin Joe John Joseph PhD
 
Hadoop in Alibaba Cloud
Ferdin Joe John Joseph PhD
 
Cloud Computing Essentials in Alibaba Cloud
Ferdin Joe John Joseph PhD
 
Transforming deep into transformers – a computer vision approach
Ferdin Joe John Joseph PhD
 
Week 11: Programming for Data Analysis
Ferdin Joe John Joseph PhD
 
Week 10: Programming for Data Analysis
Ferdin Joe John Joseph PhD
 
Week 9: Programming for Data Analysis
Ferdin Joe John Joseph PhD
 
Week 8: Programming for Data Analysis
Ferdin Joe John Joseph PhD
 

Recently uploaded (20)

PPTX
Introduction to Data Analytics and Data Science
KavithaCIT
 
PDF
717629748-Databricks-Certified-Data-Engineer-Professional-Dumps-by-Ball-21-03...
pedelli41
 
PDF
Technical Writing Module-I Complete Notes.pdf
VedprakashArya13
 
PDF
Blue Futuristic Cyber Security Presentation.pdf
tanvikhunt1003
 
PDF
WISE main accomplishments for ISQOLS award July 2025.pdf
StatsCommunications
 
PPTX
Databricks-DE-Associate Certification Questions-june-2024.pptx
pedelli41
 
PPTX
Probability systematic sampling methods.pptx
PrakashRajput19
 
PPTX
Introduction to Biostatistics Presentation.pptx
AtemJoshua
 
PDF
Company Presentation pada Perusahaan ADB.pdf
didikfahmi
 
PPTX
short term internship project on Data visualization
JMJCollegeComputerde
 
PPTX
lecture 13 mind test academy it skills.pptx
ggesjmrasoolpark
 
PDF
Mastering Financial Analysis Materials.pdf
SalamiAbdullahi
 
PPTX
World-population.pptx fire bunberbpeople
umutunsalnsl4402
 
PPTX
INFO8116 - Week 10 - Slides.pptx big data architecture
guddipatel10
 
PPTX
Short term internship project report on power Bi
JMJCollegeComputerde
 
PDF
202501214233242351219 QASS Session 2.pdf
lauramejiamillan
 
PPTX
Pipeline Automatic Leak Detection for Water Distribution Systems
Sione Palu
 
PDF
A Systems Thinking Approach to Algorithmic Fairness.pdf
Epistamai
 
PDF
blockchain123456789012345678901234567890
tanvikhunt1003
 
PDF
Research about a FoodFolio app for personalized dietary tracking and health o...
AustinLiamAndres
 
Introduction to Data Analytics and Data Science
KavithaCIT
 
717629748-Databricks-Certified-Data-Engineer-Professional-Dumps-by-Ball-21-03...
pedelli41
 
Technical Writing Module-I Complete Notes.pdf
VedprakashArya13
 
Blue Futuristic Cyber Security Presentation.pdf
tanvikhunt1003
 
WISE main accomplishments for ISQOLS award July 2025.pdf
StatsCommunications
 
Databricks-DE-Associate Certification Questions-june-2024.pptx
pedelli41
 
Probability systematic sampling methods.pptx
PrakashRajput19
 
Introduction to Biostatistics Presentation.pptx
AtemJoshua
 
Company Presentation pada Perusahaan ADB.pdf
didikfahmi
 
short term internship project on Data visualization
JMJCollegeComputerde
 
lecture 13 mind test academy it skills.pptx
ggesjmrasoolpark
 
Mastering Financial Analysis Materials.pdf
SalamiAbdullahi
 
World-population.pptx fire bunberbpeople
umutunsalnsl4402
 
INFO8116 - Week 10 - Slides.pptx big data architecture
guddipatel10
 
Short term internship project report on power Bi
JMJCollegeComputerde
 
202501214233242351219 QASS Session 2.pdf
lauramejiamillan
 
Pipeline Automatic Leak Detection for Water Distribution Systems
Sione Palu
 
A Systems Thinking Approach to Algorithmic Fairness.pdf
Epistamai
 
blockchain123456789012345678901234567890
tanvikhunt1003
 
Research about a FoodFolio app for personalized dietary tracking and health o...
AustinLiamAndres
 

DSA 103 Object Oriented Programming :: Week 4

  • 1. Object – Oriented Programming Week 4 – do - while and switch Ferdin Joe John Joseph, PhD Faculty of Information Technology Thai-Nichi Institute of Technology
  • 2. Java's console input • The console is the terminal window that is running the Java program I.e., that's the terminal window where you type in the command java ProgramName Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 3. Java's console input • When a Java program starts running, the Java runtime system will initialize many variables in support for the running program. One of these variables is the Java system variable: which represents the console input The variable System.in is included in every Java program (you don't need to define it). System.in Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 4. Java's console input • A Java program can obtains inputs from the console through the keyboard • In other words: • The Java system variable System.in represents the keyboard Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 5. A note on the notation "System.in" • At this moment in the course, we want to learn how to read input from the keyboard All you need to know is: • It is too early in the course to explain the notation System.in • We will explain this after we have covered classes • The variable named System.in represents the keyboard Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 6. Java's Scanner library functions • Fact: • The details of what the computer must do to read in a number will be discussed in CS255 • The Java programming language provides a collection of methods stored in the Scanner class that perform read operations (Remember that a class is a container for methods) • There is a lot of work that the computer must do to read in a floating point number Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 7. Java's Scanner library functions (cont.) Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 8. Java's Scanner library functions (cont.) • We will now learn how to use the methods in the Scanner class to read in floating point numbers Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 9. Importing the Scanner class definition • Recall the Rule of usage of methods in the Java library: • If a Java program wants to use a method in the Java library, the Java program must first import the containing class • All classes in the java.lang package have already been imported into a Java program (You can use methods in these classes without the import clause) Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 10. Importing the Scanner class definition (cont.) • We can use the following import clause to import the Scanner class: import java.util.Scanner; Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 11. Preparation before we can read input from the keyboard • Before a Java program can read input from the keyboard, the program must " construct a Scanner object It is too early to explain what this means... I will only tell you how to do it Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 12. Preparation before we can read input from the keyboard (cont.) • A Scanner object is constructed using the following statement: The name varName is an identifier Example: constructing a Scanner object named in Scanner varName = new Scanner(System.in); Scanner in = new Scanner(System.in); Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 13. Reading in a floating point number from the keyboard • After having constructed the Scanner object named in, you can use the following expression to read a floating point number from the keyboard: You must save (store) the number read in by "in.nextDouble()" in a variable with an assignment statement in.nextDouble() Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 14. Reading in a floating point number from the keyboard (cont.) • What happens inside the computer: • Just like Math.sqrt(..), the method call in.nextDouble() will invoke (run) a method in Java's library. The task performed by in.nextDouble() is to read a floating point number from the keyboard: Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 15. Reading in a floating point number from the keyboard (cont.) If you type in "3.5" on the keyboard at the time that in.nextDouble() is running, then the call will return the value 3.5 • The return value will replace the method call: The input value 3.5 is then stored in the variable a !!! Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 16. Summary: steps to read in a floating point number • This figure summarizes the programming steps to read in a floating point number: Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 17. Example: reading input for the a,b,c- formula • Programming Example: ABC formula import java.util.Scanner; // Import Scanner class (contains methods // for reading keyboard input) public class Abc2 { public static void main(String[] args) { double a, b, c, x1, x2; // Define 5 variable Scanner in = new Scanner(System.in); // Construct a Scanner object a = in.nextDouble(); // Read in next number and store in a b = in.nextDouble(); // Read in next number and store in b c = in.nextDouble(); // Read in next number and store in c Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 18. Reading in a floating point number from the keyboard (cont.) x1 = ( -b - Math.sqrt( b*b - 4*a*c ) ) / (2*a); x2 = ( -b + Math.sqrt( b*b - 4*a*c ) ) / (2*a); System.out.print("a = "); System.out.println(a); System.out.print("b = "); System.out.println(b); System.out.print("c = "); System.out.println(c); System.out.print("x1 = "); System.out.println(x1); System.out.print("x2 = "); System.out.println(x2); } } Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 19. Good programming practice: Prompting user for input (cont.) • Example import java.util.Scanner; // Import Scanner class (contains methods // for reading keyboard input) public class Abc2 { public static void main(String[] args) { double a, b, c, x1, x2; // Define 5 variable Scanner in = new Scanner(System.in); // Construct a Scanner object Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 20. Good programming practice: Prompting user for input (cont.) System.out.print("Enter a = "); // ******* Prompt message a = in.nextDouble(); // Read in next number and store in a System.out.print("Enter b = "); b = in.nextDouble(); // Read in next number and store in b System.out.print("Enter c = "); c = in.nextDouble(); // Read in next number and store in c x1 = ( -b - Math.sqrt( b*b - 4*a*c ) ) / (2*a); x2 = ( -b + Math.sqrt( b*b - 4*a*c ) ) / (2*a); System.out.print("a = "); System.out.println(a); System.out.print("b = "); System.out.println(b); System.out.print("c = "); System.out.println(c); System.out.print("x1 = "); System.out.println(x1); System.out.print("x2 = "); System.out.println(x2); } } Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 21. Reading other types of input from the keyboard • The procedure to read other types of inputs from the keyboard is similar to the one above: Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 22. Reading other types of input from the keyboard (cont.) • The only different is that we need to use a different method in the Scanner class that read the correct type of data. Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 23. Reading other types of input from the keyboard (cont.) • Reading an integer number from the keyboard: use nextInt() Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 24. Loops – While, Do, For • Repetition Statements – Do – While • Control Statements - Switch Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 25. While Vs Do While Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 26. The do-while Repetition Structure do { statement(s) } while ( condition ) ; • The body of a do-while is ALWAYS executed at least once. Is this true of a while loop? What about a for loop?Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 27. Example do { num = prompt("Enter a positive number: "); num = parseInt(num); if (num <= 0) { alert("That is not positive. Try again."); } }while (num <= 0); Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 28. An Equivalent while Loop num = prompt("Enter a positive number: "); num = parseInt(num); while ( num <= 0 ) { alert("That is not positive. Try again."); num = prompt("Enter a positive number: "); num = parseInt(num); } • Notice that using a while loop in this case requires a priming read. Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 29. Switch Case Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 30. The Switch Statement • The switch statement provides another way to decide which statement to execute next • The switch statement evaluates an expression, then attempts to match the result to one of several possible cases • The match must be an exact match. switch ( expression ){ case value1 : statement-list1 case value2 : statement-list2 case value3 : statement-list3 case ... } Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 31. The Switch Statement • Each case contains a value and a list of statements • The flow of control transfers to statement associated with the first case value that matches switch ( expression ){ case value1 : statement-list1 case value2 : statement-list2 case value3 : statement-list3 case ... } Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 32. Switch - syntax • The general syntax of a switch statement is: switch ( expression ){ case value1 : statement-list1 case value2 : statement-list2 case value3 : statement-list3 case ... } switch and case are reserved words If expression matches value3, control jumps to hereFaculty of Information Technology, Thai-Nichi Institute of Technology
  • 33. The Switch Statement • The break statement can be used as the last statement in each case's statement list • A break statement causes control to transfer to the end of the switch statement • If a break statement is not used, the flow of control will continue into the next case switch ( expression ){ case value1 : statement-list1 break; case value2 : statement-list2 break; case value3 : statement-list3 break; case ... } Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 34. Switch Example switch (option){ case 'A': aCount++; break; case 'B': bCount++; break; case 'C': cCount++; break; } • Examples of the switch statement: Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 35. Switch – no breaks!!! switch (option){ case 'A': aCount++; case 'B': bCount++; case 'C': cCount++; } • Another Example: switch (option){ case 'A': aCount++; break; case 'B': bCount++; break; case 'C': cCount++; break; } Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 36. Switch - default • A switch statement can have an optional default case • The default case has no associated value and simply uses the reserved word default • If the default case is present, control will transfer to it if no other case value matches • If there is no default case, and no other value matches, control falls through to the statement after the switch Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 37. The switch Statement switch (option){ case 'A': aCount++; break; case 'B': bCount++; break; case 'C': cCount++; break; default: otherCount++; break; } • Switch with default case: Faculty of Information Technology, Thai-Nichi Institute of Technology
  • 38. To Switch or not to Switch • The expression of a switch statement must result in an integral type, meaning an integer (byte, short, int, long) or a char • It cannot be a boolean value or a floating point value (float or double) • The implicit boolean condition in a switch statement is equality • You cannot perform relational checks with a switch statement Faculty of Information Technology, Thai-Nichi Institute of Technology