Chap 1
Chap 1
1-1
Focus of the Course
• Object-Oriented Software Development
problem solving
program design, implementation, and testing
object-oriented concepts
• classes
• objects
1-2
Introduction
1-3
Introduction
• One characteristic that is constant in the software
industry today is the “CHANGE”.
1-5
JAVA
• Like C, C++ etc. Java is another computer
language but with a difference.
1-8
Hello.java
class abc
{
public static void main (String[] args)
{
System.out.println (“hello world");
}
}
1-9
Java Program Structure
// comments about the class
public class MyProgram
{
class header
class body
1-10
Java Program Structure
// comments about the class
public class MyProgram
{
1-11
• Public:- The keyword ‘public’ is a access
specifier that declares the main method
as unprotected and therefore making it
accessible to all other classes.
1-15
Identifiers
• Identifiers are the words a programmer uses in a
program
• An identifier can be made up of letters, digits, the
underscore character ( _ ), and the dollar sign
• Identifiers cannot begin with a digit
• Java is case sensitive - Total, total, and
TOTAL are different identifiers
• By convention, programmers use different case
styles for different types of identifiers, such as
title case for class names - hello
upper case for constants - MAXIMUM
1-16
Reserved Words
• The Java reserved words:
1-17
Outline
The Java Programming Language
Program Development
Object-Oriented Programming
1-18
Program Development
• The mechanics of developing a program include
several activities
writing the program in a specific programming language
(such as Java)
translating the program into a form that the computer can
execute
investigating and fixing various types of errors that can
occur
1-19
Programming Languages
• Each type of CPU executes only a particular
machine language
• A program must be translated into machine
language before it can be executed
• A compiler is a software tool which translates
source code into a specific target language
• Often, that target language is the machine
language for a particular CPU type
• The Java approach is somewhat different
1-20
Java Translation
Java source
code Java
bytecode
Java
compiler
Bytecode
compiler
Machine
code
1-21
Development Environments
• There are many programs that support the
development of Java software, including:
Sun Java Development Kit (JDK)
Sun NetBeans
IBM Eclipse
Borland JBuilder
MetroWerks CodeWarrior
BlueJ
jGRASP
1-22
Syntax and Semantics
• The syntax rules of a language define how we can
put together symbols, reserved words, and
identifiers to make a valid program
• The semantics of a program statement define what
that statement means (its purpose or role in a
program)
• A program that is syntactically correct is not
necessarily logically (semantically) correct
• A program will always do what we tell it to do, not
what we meant to tell it to do
1-23
Errors
• A program can have three types of errors
• The compiler will find syntax errors and other
basic problems (compile-time errors)
If compile-time errors exist, an executable version of the
program is not created
1-24
Basic Program Development
Edit and
save program
errors
errors
Compile program
1-25
Outline
The Java Programming Language
Program Development
Object-Oriented Programming
1-26
Problem Solving
• The purpose of writing a program is to solve a
problem
• Solving a problem consists of multiple activities:
Understand the problem
Design a solution
Consider alternatives and refine the solution
Implement the solution
Test the solution
1-27
Problem Solving
• The key to designing a solution is breaking it
down into manageable pieces
• When writing software, we design separate pieces
that are responsible for certain parts of the
solution
• An object-oriented approach lends itself to this
kind of solution decomposition
• We will dissect our solutions into pieces called
objects and classes
1-28
Object-Oriented Programming
• Java is an object-oriented programming language
• As the term implies, an object is a fundamental
entity in a Java program
• Objects can be used effectively to represent real-
world entities
• For instance, an object might represent a
particular employee in a company
• Each employee object handles the processing and
data management related to that employee
1-29
Objects
• An object has:
state - descriptive characteristics
behaviors - what it can do (or what can be done to it)
1-30
Classes
• An object is defined by a class
• A class is the blueprint of an object
• The class uses methods to define the behaviors of
the object
• The class that contains the main method of a Java
program represents the entire program
• A class represents a concept, and an object
represents the embodiment of that concept
• Multiple objects can be created from the same
class
1-31
Data and Expressions
Character Strings
Variables and Assignment
Primitive Data Types
Expressions
OOP
1-32
Character Strings
• A string of characters can be represented as a
string literal by putting double quotes around the
text:
• Examples:
"This is a string literal."
"123 Main Street"
"X"
• Every character string is an object in Java, defined
by the String class
• Every string literal represents a String object
1-33
The println Method
• In the hello program studied earlier, we invoked
the println method to print a character string
• The System.out object represents a destination
(the monitor screen) to which we can send output
object method
information provided to the method
name (parameters)
1-34
The print Method
• The System.out object provides another service
as well
• The print method is similar to the println
method, except that it does not advance to the
next line
• Therefore anything printed after a print
statement will appear on the same line
1-35
Countdown.java
public class Countdown
{
//-----------------------------------------------------------------
// Prints two lines of output representing a rocket countdown.
//-----------------------------------------------------------------
public static void main (String[] args)
{
System.out.print ("Three... ");
System.out.print ("Two... ");
System.out.print ("One... ");
System.out.print ("Zero... ");
1-36
String Concatenation
• The string concatenation operator (+) is used to
append one string to the end of another
"Peanut butter " + "and jelly"
• It can also be used to append a number to a string
• A string literal cannot be broken across two lines
in a program
1-37
Facts.java
public class Facts
{
public static void main (String[] args)
{
// Strings can be concatenated into one long string
System.out.println ("We present the following facts for your "
+ "extracurricular edification:");
System.out.println ();
// A string can contain numeric digits
System.out.println ("Letters in the Hawaiian alphabet: 12");
1-38
String Concatenation
• The + operator is also used for arithmetic addition
• The function that it performs depends on the type
of the information on which it operates
• If both operands are strings, or if one is a string
and one is a number, it performs string
concatenation
• If both operands are numeric, it adds them
• The + operator is evaluated left to right, but
parentheses can be used to force the order
1-39
Addition.java
public class Addition
{
//-----------------------------------------------------------------
// Concatenates and adds two numbers and prints the results.
//-----------------------------------------------------------------
public static void main (String[] args)
{
System.out.println ("24 and 45 concatenated: " + 24 + 45);
1-40
Escape Sequences
• What if we wanted to print a the quote character?
• The following line would confuse the compiler
because it would interpret the second quote as the
end of the string
1-41
Escape Sequences
• Some Java escape sequences:
1-42
Roses.java
public class Roses
{
//-----------------------------------------------------------------
// Prints a poem (of sorts) on multiple lines.
//-----------------------------------------------------------------
public static void main (String[] args)
{
System.out.println ("Roses are red,\n\tViolets are blue,\n" +
"Sugar is sweet,\n\tBut I have \"commitment issues\",\n\t"
+
"So I'd rather just be friends\n\tAt this point in our " +
"relationship.");
}
}
1-43
Variables
• A variable is a name for a location in memory
• A variable must be declared by specifying the
variable's name and the type of information that it
will hold
data type variable name
int total;
int count, temp, result;
1-44
Variable Initialization
• A variable can be given an initial value in the
declaration
int sum = 0;
int base = 32, max = 149;
1-45
PianoKeys.java
public class PianoKeys
{
//-----------------------------------------------------------------
// Prints the number of keys on a piano.
//-----------------------------------------------------------------
public static void main (String[] args)
{
int keys = 88;
1-46
Assignment
• An assignment statement changes the value of a
variable
• The assignment operator is the = sign
total = 55;
1-47
Geometry.java
public class Geometry
{
public static void main (String[] args)
{
int sides = 7; // declaration with initialization
System.out.println ("A heptagon has " + sides + " sides.");
sides = 12;
System.out.println ("A dodecagon has " + sides + "
sides.");
}
}
1-48
Constants
• A constant is an identifier that is similar to a
variable except that it holds the same value during
its entire existence
• As the name implies, it is constant, not variable
• The compiler will issue an error if you try to
change the value of a constant
• In Java, we use the final modifier to declare a
constant
final int MIN_HEIGHT = 69;
1-49
Constants
• Constants are useful for three important reasons
• First, they give meaning to otherwise unclear
literal values
For example, MAX_LOAD means more than the literal 250