Transcript
Page 1: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Introduction to Java

• Java Translation

• Program Structure

• Classes and Objects

• Primitive data types

• Flow of Control

• Loops

Page 2: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

The Java compiler translates Java source code into a special representation called bytecode in the .class file

Java bytecode is not the machine language for any specific CPU

Another software tool, called an interpreter (in our case the Java Virtual Machine), executes the bytecode

Java is considered to be architecture-neutral

The Java compiler is not tied to any particular machine

The JVM can be implemented on any machine

Java Translation

Page 3: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Java Program Structure

• In the Java programming language:– A program is made up of one or more classes– A class contains zero or more attributes– A class contains one or more methods– A method contains program statements

• A Java application starts with a class containing a method called main

• See Lincoln.java (page 28)

Page 4: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

4

Java Program Structure

public class MyProgram

{

}

// comments about the class

class header

class body

Comments can be placed almost anywhere

Page 5: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

5

Java Program Structure

public class MyProgram

{

}

// comments about the class

public static void main (String[] args)

{

}

// comments about the method

method headermethod body

Page 6: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

6

Objects

• An object has:

– state - descriptive characteristics

– behaviors - what it can do (or what can be done to it)

• The state of a bank account includes its balance

• The behaviors associated with a bank account include the ability to get the balance, make deposits, and make withdrawals

• Note that the behavior of an object might change its state, e.g. making a deposit will increase the balance

Page 7: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Classes

• An object is defined by a class representing a concept

• A class is the blueprint for each instance of an object

• Multiple objects can be created from the same class

• A class has attributes that define the state of each object

• A class has methods that define the behavior of the object

• The class that contains the main method represents the starting point for a Java program

• The program can and usually does contain more classes than just the one that contains the main method

Page 8: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Objects and Classes

A Class(The Concept)

John’s Bank AccountBalance: $5,257.51

Three objects(Three Instancesof the Concept)

Bill’s Bank AccountBalance: $1,245,069.89

Mary’s Bank AccountBalance: $16,833.27

Multiple objectsof the same class

BankAccount

- balance: float

+ getBalance(): float+ deposit(float amount): bool+ withdraw(float amount): bool

Page 9: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Primitive Data• There are eight primitive data types in Java

• Four of them represent integers:

– byte, short, int, long

• Two of them represent floating point numbers:

– float, double

• One of them represents characters:

– char

• And one of them represents boolean values:

– boolean

Page 10: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Characters

• A char variable stores a single character

• Character literals are delimited by single quotes:

'a' 'X' '7' '$' ',' '\n'

• Example declarations:

char topGrade = 'A';

char terminator = ';', separator = ' ';

• Note the distinction between a primitive character variable, which holds only one character, and a String object, which can hold a sequence of multiple characters

Page 11: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Boolean

• A boolean value represents a true or false condition

• The reserved words true and false are the only valid values for a boolean type

boolean done = false;

• A boolean variable can represent any two states such as a light bulb being on or off

boolean isOn = true;

Page 12: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

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

Page 13: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

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

Page 14: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

14

The if Statement• The if statement has the following syntax:

if ( condition ) statement;

if is a Javareserved word

The condition must be aboolean expression. It mustevaluate to either true or false.

If the condition is true, the statement is executed.If it is false, the statement is skipped.

Page 15: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

15

The if-else Statement

• An else clause can be added to an if statement to make an if-else statement

• If the condition is true, statement1 is executed; if the condition is false, statement2 is executed

• One or the other will be executed, but not both

• See Wages.java (page 211)

if ( condition ) statement1;else statement2;

Page 16: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

16

Block Statements

• Several statements can be grouped into a block statement delimited by braces

• A block statement can be used wherever a statement is called for in the Java syntax

if (total > MAX){ System.out.println ("Error!!"); errorCount++;}

Now the increment will only occur when the if condition is true

Page 17: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

The switch Statement

• The general syntax of a switch statement is:

switch ( expression ){ case value1 : statement-list1 case value2 : statement-list2 case value3 : statement-list3 case ...

}

switchandcaseare

reservedwords

If expressionmatches value2,control jumpsto here

Page 18: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Comparing Characters

• Therefore, if we want to base a decision in our program on whether a character is a digit or not, we can use the following code:if (character >= ‘0’ && character <= ‘9’)

System.out.println (“Yes, it’s a digit!”);

• We can also check for a valid upper case alphabetic character as follows:if (character >= ‘A’ && character <= ‘Z’)

System.out.println (“It’s a capital letter!”);

Page 19: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Comparing Strings• Remember that in Java a string is an object

• We cannot use the == operator to determine if the values of two strings are identical (character by character)

• The equals method can be called with strings to determine if two strings contain exactly the same characters in the same order

• The equals method returns a boolean result

if (name1.equals(name2)) System.out.println ("Same name");

Page 20: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Comparing Strings

• We cannot use the relational operators to compare strings

• The String class contains a method called compareTo to determine if one string comes before another

• A call to name1.compareTo(name2)

– returns zero if name1 and name2 are equal (contain the same characters)

– returns a negative value if name1 is less than name2

– returns a positive value if name1 is greater than name2

Page 21: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Strings

• String is basically just a collection of characters.

• Thus, the string “Martyn” could be thought of as a 6-element array ('M', 'a', 'r', 't', 'y', 'n').

• The String class allows us to manipulate these data items.

Page 22: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Strings in java

• String is a class in Java• Strings are constant (values cannot be

changed after they are created)• Set of characters "Lisa Simpson" is a

string.• "A" is a string, 'A' is a character. Note the

difference here. Character literals are delimited by single quotes and String literals are delimited by double quotes.

Page 23: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Methods on Strings

• The String class provides methods to

– Return the character at a specific index (charAt)

– Return the index of a specific character (indexOf)

– Compare two strings (compareTo)

– Concatenate two strings (concat)

– Check the length of a string (length)

– Extract a sub-string (substring)

– Replace all instances of a character with another character (replace)

Page 24: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

Repetition Statements• Repetition statements allow us to execute a

statement or a block of statements multiple times

• Often they are referred to as loops

• Like conditional statements, they are controlled by boolean expressions

• Java has three kinds of repetition statements:– the while loop– the do loop– the for loop

• The programmer should choose the right kind of loop for the situation

Page 25: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

The while Statement

Execute Loop_Body

Startwhile(Boolean_Expression)Loop_Body

true

false

End loop

Evaluate Boolean_Expression

Page 26: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

The do-while Statement

true

Start

Execute Loop_Body

doLoop_Body

while(Boolean_Expression);

falseEnd loop

Evaluate Boolean_Expression

Page 27: Introduction to Java Java Translation Program Structure Classes and Objects Primitive data types Flow of Control Loops

The for Statement

for( Initialization_Action ; Boolean_Expression ; Update_Action)Loop_Body

true

Start

Execute Initialization_Action

false

End loop

Evaluate Boolean_Expression

Execute Loop_Body

Execute Update_Action


Top Related