Review Java

Preview:

DESCRIPTION

Review Java. Objectives. To understand the essentials of object-oriented programming in Java To review the primitive data types of Java, how to use the control structures of Java - PowerPoint PPT Presentation

Citation preview

Review Java

Appendix A: Introduction to Java 2

To understand the essentials of object-oriented programming in Java

To review the primitive data types of Java, how to use the control structures of Java

To learn how to use predefined classes such as Math, JOptionPane, String, StringBuffer, and StringTokenizer

To review how to write and document your own Java classes

Objectives

Appendix A: Introduction to Java 3

To understand how to use arrays in Java To learn how to perform I/O in Java using

simple dialog windows To learn how to perform I/O in Java using

streams

Chapter Objectives (continued)

Appendix A: Introduction to Java 4

Compiling and Executing a Java Program

Appendix A: Introduction to Java 5

The class is the fundamental programming unit Every program is written as a collection of

classes Class definitions are stored in separate files

with the extension .java and the file name must be the same as the class name

A class is a named description for a group of entities

A class is a general description of a group of entities that all have the same characteristics; each entity is an object

Classes and Objects

Appendix A: Introduction to Java 6

Java consists of small core language augmented by an extensive collection of packages

Each package contains a collection of related Java classes, such as:◦ Swing◦ AWT◦ util

The Java API

Review of Java fundamentalsTemplate for Class Definition

class {

}

Import Statements

Class Comment

Class Name

Data Members

Methods(incl. Constructor)

Appendix A: Introduction to Java 8

Java distinguishes two kinds of entities

◦ Primitive types: data is stored in primitive type variables

◦ Objects: are associated with reference variables which store an object’s address

Primitive Data Types and Reference Variables

Appendix A: Introduction to Java 9

Represent numbers, characters, and Boolean values

Integers: byte, short, int, and long Real numbers: float and double Characters: char

Primitive Data Types

ASCII Encoding

For example, character 'O' is 79 (row value 70 + col value 9 = 79).

O

9

70

Format:<data type> <variable_name>;

If more than one variable has the same data type:<data type> <name1>, <name2>..;

Variable declaration

<variable name> = <expression>;Example:x =2*5+6-1;

Assignment statement

It must be a legal identifier. It must not be a keyword, a boolean literal

(true or false), or the reserved word null. It must be unique within its scope.

Variable names

Legal identifier:be composed of letters, numbers, _ and $. Identifiers may only begin with a letter, _, or $.

Keyword:http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html

Java styles:◦ Variable names begin with a lowercase letter◦ Class names begin with an uppercase letter

Variable name (cont.)

Appendix A: Introduction to Java 15

Which of the following is not a valid Java identifier?

a. my Valueb. $_AAA1c. widthd. m_x

Review question

Appendix A: Introduction to Java 16

Which of the following is not a valid Java identifier?

a. my Valueb. $_AAA1c. widthd. m_x

Review question

Appendix A: Introduction to Java 17

Which of the following is a correct variable declaration statement?

a. int x - float y;b. int x: float y;c. int x,y;d. Long int x;

Review question

Appendix A: Introduction to Java 18

Which of the following is a correct variable declaration statement?

a. int x - float y;b. int x: float y;c. int x,y;d. Long int x;

Review question

Constant:◦ Value it contains doesn’t change

final int MONTHS_IN_YEAR = 12;

Variables:◦ Value it contains may vary

double loanAmount; loanAmount =0; loanAmount = 1000.99;

Constant and variables

Integer division:◦ Integer/integer = integer, 7/2 = 3◦ Integer/double = double, 7/2.0 = 3.5◦ Double/integer = double, 7.0/2 = 3.5

Type casting: a process that converts a value of one data type to another data type.

Implicit castingExplicit casting

Integer division and type casting

Implicit casting:◦ Operand is converted from a lower to a higher

precision◦ Higher precision: a data type with a larger range

of values Double has a higher precision than float Int has a higher precision than short

◦ Operand: can be a constant, variable, method call or another arithmetic expression

Type casting (cont.)

Explicit casting◦ (<data type>) <expression>◦ Example:

float result;result = (float) ((3+5)/6);

and result = ((float) (5+3))/6;

Type casting (cont.)

Appendix A: Introduction to Java 23

Widening conversion: operations involving mixed-type operands, the numeric type of the smaller range is converted to the numeric type of the larger range

In an assignment operation, a numeric type of smaller range can be assigned to a numeric type of larger range

Type Compatibility and Conversion

if (<boolean expression>) <block>;else <block>;

Control Statements: Simple Choice Statement

if (<boolean expression>) single statement;else single statement;

Boolean expression: is a conditional expression that is evaluated to either true or false.

Conditional expression: is a three part expression:<exp.> <relational operators> <exp.>

Boolean expressions can be combined by boolean operators

Boolean expression

Relational Operators

Expression Meaninga == b Is a equal to b?a != b Is a not equal to b?a > b Is a greater than b?a < b Is a less than b?a >= b Is a greater than or equal to b?a <= b Is a less than or equal to b?

&& means AND||means OR

! means NOT

Boolean operators

Appendix A: Introduction to Java 28

How many times the method readData() will be called in the following code segnment?

int i;i = 0;

 while ( i <= 4 ) {

readData(); i = i + 1;

} // end while

Pre-review question

5

Appendix A: Introduction to Java 29

.          can be used to traverse a two-dimensional array.

a. A do while statement.b. A for statement.c. Two nested for statements.d. Three nested for statements.

Pre-review question

Appendix A: Introduction to Java 30

.          can be used to traverse a two-dimensional array.

a. A do while statement.b. A for statement.c. Two nested for statements.d. Three nested for statements.

Pre-review question

The While Loop

while(<boolean expression>){ // Repeat multiple statements. statement 1 statement 2 statement 3 ...}

do { // Repeat multiple statements. statement 1 statement 2 statement 3 ...} while(<boolean expression);

• Note that the statements in the body of the loop are always executed at least one.

• Note the final semicolon, which is required.

The Do-While Loop

The For-Loop Outline// Repeat multiple statements.for(initialization; condition; post-body update){ // Statements to be repeated. statement 1 statement 2 statement 3 ...}

• Commonly used with increment and decrement operators.

Used as a shorthand for add-one-to and subtract-one-from:

value = value+1; value += 1; value++;

Prefix and postfix forms: ++value; --value; value--;

Increment and Decrement

Attributes (Data Member) Declaration

<modifiers> <data type> <name> ;

private String ownerName ;

Modifiers Data Type Name

Note: There’s only one modifier in this example.

Method Declaration<modifier> <return type> <method name> ( <parameters> ){

<statements>

}

public void setOwnerName ( String name ) {

ownerName = name;

}

Statements

Modifier Return Type Method Name Parameter

A constructor is a special method that is executed when a new instance of the class is created.

Constructor

public <class name> ( <parameters> ){ <statements> }

public Bicycle ( ) {

ownerName = “Unassigned”; }

Statements

Modifier Class Name Parameter

An argument is a value we pass to a method. A parameter is a placeholder in the called

method to hold the value of the passed argument.

Arguments and Parameters

class Account {

. . .

public void add(double amt) {

balance = balance + amt; }

. . . }

class Sample {

public static void main(String[] arg) { Account acct = new Account(); . . . acct.add(400); . . . }

. . . } argument

An argument is a value we pass to a method. A parameter is a placeholder in the called

method to hold the value of the passed argument.

Arguments and Parameters

class Account {

. . .

public void add(double amt) {

balance = balance + amt; }

. . . }

class Sample {

public static void main(String[] arg) { Account acct = new Account(); . . . acct.add(400); . . . }

. . . }

parameter

Appendix A: Introduction to Java 40

You can declare reference variables that reference objects of specified types

Two reference variables can reference the same object

The new operator creates an instance of a class

A constructor executes when a new object is created

Referencing and Creating Objects

Appendix A: Introduction to Java 41

Programmers use methods to define a group of statements that perform a particular operation

The modifier static indicates a static or class method

A method that is not static is an instance method All method arguments are call-by-value If the argument is a primitive type, its value is

passed to the method◦ The method can’t modify the argument value and have

the modification remain after return from the method

Methods

Appendix A: Introduction to Java 42

If the argument is of a class type, the value of the reference variable is passed, not the value of the object itself

Reference variables point to the object and any modification to the object will remain after return from the method

Methods (continued)

Appendix A: Introduction to Java 43

Consider the following Java statements:

int x = 9;double y = 5.3;result = calculateValue( x, y ); Which of the following statements is false?a. A method is called with its name and arguments inside

parentheses.b. x and y are parameters.c. Copies of x and y are passed to the method

calculateValue().d. x and y are arguments

Review question

Appendix A: Introduction to Java 44

Consider the following Java statements:

int x = 9;double y = 5.3;result = calculateValue( x, y ); Which of the following statements is false?a. A method is called with its name and arguments inside

parentheses.b. x and y are parameters.c. Copies of x and y are passed to the method

calculateValue().d. x and y are arguments

Review question

Appendix A: Introduction to Java 45

Provides a collection of methods that are useful for performing common mathematical operations

The Class Math

Appendix A: Introduction to Java 46

An escape sequence is a sequence of two characters beginning with the character \

Represents characters or symbols that have a special meaning in Java

Escape Sequences

Appendix A: Introduction to Java 47

String class defines a data type that is used to store a sequence of characters

You cannot modify a String object◦ If you attempt to do so, Java will create a new

object that contains the modified character sequence

The String Class

Appendix A: Introduction to Java 48

You can’t use the relational operators or equality operators to compare the values stored in strings or other objects

Comparing Objects

Examples

We can do thisbecause Stringobjects areimmutable.

50

Stores character sequences Unlike a String object, the contents of a

StringBuffer object can be changed

The StringBuffer Class

Appendix A: Introduction to Java 51

Consider the Java segment:String line1 = new String( "c = 1 + 2 + 3" ) ;StringTokenizer tok = new

StringTokenizer( line1 );int count = tok.countTokens(); What is the value of count ?  

Pre-review question

7

52

Consider the Java segment:String line1 = new String( "c = 1 + 2 + 3" ) ;StringTokenizer tok = new StringTokenizer( line1, delimArg );

For the String line1 to have 4 tokens, delimArg should be:

a. String delimArg = "+=";b. String delimArg = "123"c. String delimArg = "c+";d. String delimArg = " ";

Pre-review question

53

Consider the Java segment:String line1 = new String( "c = 1 + 2 + 3" ) ;StringTokenizer tok = new StringTokenizer( line1, delimArg );

For the String line1 to have 4 tokens, delimArg should be:

a. String delimArg = "+=";b. String delimArg = "123"c. String delimArg = "c+";d. String delimArg = " ";

Pre-review question

Appendix A: Introduction to Java 54

We often need to process individual pieces, or tokens, in a string

StringTokenizer Class

Appendix A: Introduction to Java 55

Sometimes we need to process primitive-type data as objects

Java provides a set of classes called wrapper classes whose objects contain primitive-type values: Float, Double, Integer, Boolean, Character, etc.

Wrapper Classes for Primitive Types

Appendix A: Introduction to Java 56

Unified Modeling Language is often used to represent a class◦ Standard means of documenting class

relationships widely used in industry

Defining Your Own Classes

Appendix A: Introduction to Java 57

The modifier private sets the visibility of each variable or constant to private visibility◦ These data fields can be accessed only within the

class definition Only class members with public visibility

can be accessed outside of the class Constructors initialize the data fields within

a class

Defining Your Own Classes (continued)

Appendix A: Introduction to Java 58

In Java, an array is also an object The elements are indexes and are

referenced using a subscripted variable of the form arrayname[subscript]

Arrays

Appendix A: Introduction to Java 59

A programmer must do the following before using an array:

a. declare then reference the array.b. create then declare the array.c. create then reference the array.d. declare then create the array.

Review question

Appendix A: Introduction to Java 60

A programmer must do the following before using an array:

a. declare then reference the array.b. create then declare the array.c. create then reference the array.d. declare then create the array.

Review question

Appendix A: Introduction to Java 61

Input/Output using Class JOptionPane (continued)

Appendix A: Introduction to Java 62

A dialog window always returns a reference to a string

Therefore, a conversion is required

Converting Numeric Strings to Numbers

Appendix A: Introduction to Java 63

An input stream is a sequence of characters representing program data

An output stream is a sequence of characters representing program output

The console keyboard stream is System.in or Scanner

The console window is associated with System.out.print(ln) or Formatter

Input/Output using Streams

Recommended