Title: COMP 14 Introduction to Programming
1COMP 14Introduction to Programming
- Adrian Ilie
- June 28, 2005
2Today
- Variables and expressions
- Input/Output
- Writing a whole program
3Variables
- Associated with data
- Input data
- Output data
- Intermediate data
- We need to define
- Data type
- Identifier
- Values will be assigned in expressions
4Variables - Steps
- Identify all data from the algorithm
- Determine data types (based on the range and
nature of the values) - Find meaningful names
- Example Ch. 1, Exercise 10. Compute average
score.
5Declaration of Variables
- dataType identifier
- Must be declared before it can be used
- Can be (but doesn't have to be) initialized when
declared - Identifier should start in lowercase, indicate
separate words with uppercase (good style) - Example
- number of students in class
- int numStudents
- Multiple variables (of the same data type) can be
declared on a single line - int numStudents, numGrades, total
6Assignment
- variable expresssion
- Assignment Operator ()
- expression can be a value (3) or a mathematical
expression (2 1) - The expression must evaluate to the same data
type as the variable was declared
7Assignment
- The assignment operator has a lower precedence
than the arithmetic operators
First the expression on the right hand side of
the operator is evaluated
answer sum / 4 MAX lowest
2
4
3
1
Then the result is stored in the variable on the
left hand side
8Assignment
- The right and left hand sides of an assignment
statement can contain the same variable
First, one is added to the original value of count
count count 1
Then the result is stored back into
count (overwriting the original value)
9Example (average score)
- Write assignments and expressions
- Declaration of variables (good style)
- At the beginning
- Before being used
10Named Constant
- static final dataType IDENTIFIER value
- Declared by using the reserved word final
- Always initialized when it is declared
- Identifier should be in ALL CAPS, separate words
with underscore (_) (good style) - Example
- 1 inch is always 2.54 centimeters
- final double CM_PER_INCH 2.54
11Questions
- What is stored in the memory location referred
to by the identifier num after each of the
following statements is executed in order? - int num ______
- num 3 ______
- num 5 4 - 2 ______
- num num 2 ______
- num 3.4 5 ______
unknown
3
7
14
error
would give an error since 3.4 5 would not
result in an int
12Questions
- Which of the following are valid Java assignment
statements? Assume that i, x, and percent have
been declared as double variables and properly
initialized. - i i 5 ______
- x 2 x ______
- x 2.5 x ______
- percent 10 ______
valid
invalid
valid
invalid
13Input
- Standard input
- Dialog windows (tomorrow)
- File (tomorrow)
14Reading Keyboard Input
- We can let the user assign values to variables
through keyboard input - In Java, input is accomplished using objects that
represent streams of data - A stream is an ordered sequence of bytes
- System.in is the standard input stream object (by
default, the keyboard)
15Reading Keyboard Input
- The idea is that, with System.in, we have access
to a stream of bytes coming from the keyboard. - In other words, we have access to the keys
pressed on the keyboard. - But how do we actually get the values of the keys
that are pressed?
16Reading Keyboard Input
- The input stream is made up of multiple objects
- InputStreamReader charReader new
InputStreamReader (System.in) - BufferedReader keyboard new BufferedReader
(charReader) - OR, all in one statement
- BufferedReader keyboard new BufferedReader (new
InputStreamReader (System.in))
1 character at a time
Whole lineat once
17Reading Keyboard Input
- The readLine method of the BufferedReader class
reads an entire line of input as a String - String line keyboard.readLine()
-
18Example (average score)
- Input scores
- Input weights
19String to Numbers
- String to int
- Integer.parseInt(strExpression)
- Integer.parseInt("6723") 6723
- String to float
- Float.parseFloat(strExpression)
- Float.parseFloat("345.76") 345.76
- String to double
- Double.parseDouble(strExpression)
- Double.parseDouble("1234.56") 1234.56
20Example (average score)
- Convert scores to int
- Convert weights to double
21Output
- Standard output device is usually the monitor
- Access the monitor using the standard output
object - System.out
- Two methods to output a string
- print
- println
Puts the cursor on the next line at the end
22Examples
System.out.println ("Hi") System.out.println
("There") Hi There
System.out.print ("Hi") System.out.println
("There") HiThere
int num 53 System.out.println (num) 8
int num 5 System.out.println ("The sum is "
(num 3)) The sum is 8
23String Concatenation
- A string cannot be split between two lines
- String greeting "How are you doing
- today"
- Concatenation () - produces one string where the
second string has been appended to the first
string - String greeting How are you doing
today?
X
How are you doing today?
greeting
24String Concatenation
- Operator can be used to concatenate two strings
or a string and a numeric value or character - Precedence rules still apply
- Example
- String str
- int num1 12, num2 26
- str "The sum " num1 num2
The sum 1226
str
25Example (average score)
- Output result
- Formatting numeric strings
26Writing a Whole Program
- Class - used to group a set of related operations
(methods), allows users to create their own data
types - Method - set of instructions designed to
accomplish a specific task - Package - collection of related classes
- Library - collection of packages
27Class Libraries
- A collection of classes that we can use when
developing programs - The Java standard class library is part of any
Java development environment - The System class and the String class are part of
the Java standard class library
28Packages
- The classes of the Java standard class library
are organized into packages. - Some of the packages in the standard class
library are
29Using Packages
- We need to import some of the packages we want
to use - java.io for BufferedReader
- import packageName
- import java.io.
- imports all of the classes in the java.io package
- import java.io.BufferedReader
- imports only the BufferedReader class from the
java.io package
30Using Predefined Classes and Methods
- To use a method you must know
- Name of class containing method (Math)
- Name of package containing class (java.lang)
- Name of method (round), its parameters (double
a), what it returns (long), and function (rounds
a to the nearest integer) - See Appendix E for more Java predefined classes
31Using Predefined Classes and Methods
- Example method call
- int num (int) Math.round (4.6)
- (Dot) . Operator used to access the method in
the class
32Creating a Java Program
- Java application program - collection of one or
more classes - every application must have at least one class
- Class
- basic unit of a Java program
- collection of methods and data members
- Method - set of instructions designed to
accomplish a specific task - print, readLine
33Programming in Java
- Java programming language
- object-oriented approach to problem solving
- In the Java programming language
- a program is made up of one or more classes
- a class contains one or more methods
- a method contains program statements
34Creating a Java Program
- All Java application programs must have a method
called main - there can be only one main method in any Java
application program - Most of the time, our programs will have only one
class - Name of source file must be ClassNameWithMain.java
35Anatomy of a Java Program
- Syntax of class
- Syntax of main method
public class ClassName classMembers
public static void main (String
args) statement1 ... statementn
throws clause
36Throws Clause
- throws clause - exceptions thrown by the main
method - exception - occurrence of an undesirable
situation that can be detected during program
execution - can either be handled or thrown
- readLine throws the exception IOException
- We won't handle the exception, we'll just throw it
37Throws
- If we're allowing user input to the program, the
heading of the main method should look like
public static void main (String args) throws
IOException
38Import Statements
- Tell the compiler which packages are used in the
program - Import statements and program statements
constitute the source code - Source code saved in a file with the extension
.java - Source code file must have the same name as the
class with the main method
39The main method
- Heading
- Body
- statements enclosed by
- declaration statements
- used to declare things such as variables
- executable statements
- perform calculations, manipulate data, create
output, accept input, etc.
public static void main (String args) throws
IOException
40Skeleton
- import statements if any
- public class ClassName
-
- declare named constants and/or stream objects
- public static void main (String args)
throws IOException -
- variable declarations
- executable statements
-
41static
- Heading of the main method has the reserved word
static - Statements to declare named constants and input
stream objects are outside the main method - These must also be declared with the static
reserved word
42Style
- Syntax
- beware! a syntax error in one place might lead to
syntax errors in several other places - Use of semicolons, braces, commas
- all Java statements end with semicolon
- braces enclose the body of a method and set it
off from other parts of the program (also have
other uses) - commas separate list items
43Style
- Semantics
- set of rules that gives meaning to a language
- beware! the compiler will not be able to tell you
about semantic errors (example missing
parentheses in mathematical expression) - Documentation
- comments
- naming rules
- use meaningful identifiers
- prompt lines
- let the user know what type of input is expected
44Style and White Space
- White space
- blanks, tabs, blank lines
- used to separate words and symbols
- extra space is ignored by computer
- blank line between variable declaration and rest
of code - Programs should be formatted to enhance
readability, using consistent indentation
45Comments
- Not used by the computer
- only for human consumption
- Used to help others understand code
- explain and show steps in algorithm
- comments are essential!
- Should be well-written and clear
- Comment while coding
- Also called inline documentation
46Java Comments
- // this is a one-line comment
- comments out the rest of the line after marker
// - / this is a multi-line
- comment /
- comments out everything between markers / and
/
47To do
- Practice input. Ch. 2 (pp.45-54)
- Practice output. Ch. 2 (pp.55-65)
- Ch. 2 examples
- Convert Length
- Make Change
- Homework 2 due Thursday night.
- Read Ch. 3