dont panic!! lots of new notions coming in these slides dont worry if not all of it makes perfect...

25
DON’T PANIC!! Lots of new notions coming in these slides Don’t worry if not all of it makes perfect sense We’ll meet most of this stuff again in detail later Do worry if none of it makes any sense You should get the general picture now Now brace yourself … stop me if you get confused … ask questions … throw money …

Upload: denzel-brown

Post on 28-Mar-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

DON’T PANIC!!

Lots of new notions coming in these slides

Don’t worry if not all of it makes perfect senseWe’ll meet most of this stuff again in detail later

Do worry if none of it makes any senseYou should get the general picture now

Now brace yourself … stop me if you get confused … ask questions … throw money …

Page 2: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Programs and Classes

A program is made up from classes

Classes may be grouped into packages

A class has two parts

static parts exist independently Non-static parts define what objects in the class look like.

Every class is automatically in existence when the program runs.

Page 3: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Classes and Objects

An object is an instance of a class, and is created using the new operator.

The non-static part of the class defines what each object looks like.

Many instances (objects) can be created from a class … no limit except reality

An object contains information and functionality of a “thing”, e.g., Account, Vehicle, Employee, etc.

Page 4: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Classes’ and Objects’ Components

Classes (and thus also objects) are composed of methods and data values

Data values store information

Methods do things, and also have their own local data

Page 5: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Visibility Modifiers: public and private

The modifiers public and private designate the accessibility of objects’ and class’ data values and methods

If a component is declared private, nothing outside the class can access it.

If a component is declared public, anything outside the class can access it.

Make things private whenever you canThat helps with encapsulation

Page 6: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Class and Instance Data Values

Class data (indicated by the static modifier) is used to maintain information shared by all instances or aggregate information about the instances.

Make class data private whenever you can

Instance data is used to maintain information specific to individual instances.

Make instance data private always

Page 7: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Primitive and Reference Data Values

primitive variables contain values

Reference variables point at objects

byte short

intdouble

long

floatboolean

String

AppletMessageBox

HiLoInputBox

etc.

char

primitive reference

Data Type

Page 8: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Variable and Constant Data Values

There are two types of data values:

Account

Account

SV129

minimum balance

100.00current balance

908.55

account prefix

6427opening balance

100.00A constant whose value must remain fixed over time.

A constant whose value must remain fixed over time.

A variable whose value can change over time.

A variable whose value can change over time.

Constants are indicated by the final modifierNon-final public static data can give you warts

Page 9: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Methods

Methods have code (to do stuff) and data

A method defined for a class is called a class method (indicated by the static modifier) and a method defined for an object is called an instance method.

Every program has one static method called main. That’s where the program starts.

Page 10: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Method Data = Local Variables

A local variable is a variable that is declared within a method.

Local variables are accessible only in the method in which they are declared.

Page 11: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Calling Methods

To instruct a class or an object to do something, we call one of its methods

Values passed to a method are called arguments or parameters of the message.

The (formal) parameters of a method are local variables that receive the parameters

Methods can return one data value

Page 12: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Calling a Method

Call deposit with the argument 250.00.

Call deposit with the argument 250.00. chk-008

depositdeposit 250.00

Page 13: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Getting an Answer

This call has no argument.

This call has no argument. chk-008

getMonthlyFee

monthly fee

The method returns the value monthly fee.

The method returns the value monthly fee.

Page 14: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Program Components

A Java file is composed of

comments,

import statements, and

class declarations.

Page 15: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

// Program MyFirstApplication

/*This program displays a window on the screen. The window is positioned at the center of the screen, and the size of the window is almost as big as the screen.

*/

import javabook.*;

public class MyFirstApplication {public static void main(String[ ] args) {

MainWindow mainWindow;

mainWindow = new MainWindow();

mainWindow.setVisible( true );}

}

Program Component: Comment

CommentComment

Page 16: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Program Component: Import Statement

// Program MyFirstApplication

/*This program displays a window on the screen. The window is positioned at the center of the screen, and the size of the window is almost as big as the screen.

*/

import javabook.*;

public class MyFirstApplication {public static void main(String[ ] args) {

MainWindow mainWindow;

mainWindow = new MainWindow();

mainWindow.setVisible( true );}

}

Import StatementImport Statement

Page 17: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Program Component: Class Declaration

// Program MyFirstApplication

/*This program displays a window on the screen. The window is positioned at the center of the screen, and the size of the window is almost as big as the screen.

*/

import javabook.*;

public class MyFirstApplication {

public static void main(String[ ] args) {

MainWindow mainWindow;

mainWindow = new MainWindow();

mainWindow.setVisible( true );}

}

Class DeclarationClass Declaration

Page 18: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Program Component: Method Declaration

// Program MyFirstApplication

/*This program displays a window on the screen. The window is positioned at the center of the screen, and the size of the window is almost as big as the screen.

*/

import javabook.*;

public class MyFirstApplication {

public static void main(String[ ] args) {

MainWindow mainWindow;

mainWindow = new MainWindow();

mainWindow.setVisible( true );}

}

Method DeclarationMethod Declaration

Page 19: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Method Declaration Elements

public static void main (String[ ] args){

MainWindow mainWindow;

mainWindow = new MainWindow();

mainWindow.setVisible( true );

}

ModifierModifier ModifierModifier Return TypeReturn Type Method NameMethod Name ParameterParameter

Method BodyMethod Body

Page 20: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Statements

Method bodies contain statements

Simple statements end with a ;

Compound statements are enclosed in {}s

public static void main (String[] args) {

int someData = 0;

if (someData == 27) { System.out.println(“Cosmic rays!”); someData = 0; }}

Page 21: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Sample Method

public double fromDollar( double dollar )

{

double amount, fee;

fee = exchangeRate - feeRate;

amount = dollar * fee;

return amount;

}

ParameterParameter

Local Variables

Local Variables

Page 22: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Files and Classes

A Java program file ends with .java

There must be one public class per file

It must have the same name as the file

One public class (i.e., one file) must have the main method

Page 23: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Simple Java Programs

Simple Java programs can be written in just the one file, containing

One public class (with the main method)

Other class methods and final data values as required

Such programs do not create any objects, but simply run class methods (starting with the main method) and use primitive data.

Page 24: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

Template for Simple Java Applications

center of the screen, and the size of the window

is almost as big as the screen.

*/

import javabook.*;public class MyFirstApplication{

public static void main(String[ ] args){

MainWindow mainWindow;

mainWindow = new MainWindow();

mainWindow.setVisible( true );}

}

CommentComment

Import Statements

Import Statements

Class NameClass Name

Method BodyMethod Body

Page 25: DONT PANIC!! Lots of new notions coming in these slides Dont worry if not all of it makes perfect sense Well meet most of this stuff again in detail later

DON’T PANIC!!

We’ll write some programs without creating objects, i.e., you’ll have to think about only classes (and their methods and data values)

We’ll write some programs that create objects from pre-existing classes, i.e., you’ll use objects before you have write code to define them.

Then we’ll write programs that define and create their own objects