chapter 3 syntax, errors, and debugging - parkway … 3 syntax, errors, and debugging ... –...

50
Chapter 3 Syntax, Errors, and Debugging Fundamentals of Java

Upload: danghanh

Post on 18-Apr-2018

262 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Chapter 3Syntax, Errors, and Debugging

Fundamentals of Java

Page 2: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 2

Objectives

Construct and use numeric and string literals.

Name and use variables and constants.

Create arithmetic expressions.

Understand the precedence of different

arithmetic operators.

Concatenate two strings or a number and a

string.

Page 3: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 3

Objectives (cont.)

Know how and when to use comments in a

program.

Tell the difference between syntax errors,

run-time errors, and logic errors.

Insert output statements to debug a program.

Page 4: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 4

Objectives (cont.)

Understand the difference between

Cartesian coordinates and screen

coordinates.

Work with color and text properties.

Page 5: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 5

Vocabulary

Arithmetic expression

Comments

Coordinate system

Exception

Graphics context

Literal

Page 6: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 6

Vocabulary (cont.)

Logic error

Origin

Package

Pseudocode

Reserved words

Run-time error

Page 7: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 7

Vocabulary (cont.)

Screen coordinate system

Semantics

Syntax

Virus

Page 8: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 8

Language Elements

Every language, including Java has:

– Vocabulary: Set of all of the words and

symbols in the language

– Syntax: Rules for combining words into

sentences (statements)

– Semantics: Rules for interpreting the meaning

of statements

Page 9: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 9

Language Elements (cont.)

Table 3-1: Some Java vocabulary

Page 10: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 10

Language Elements (cont.)

Programming vs. natural languages

– Programming languages have small

vocabularies and simple syntax and semantics.

– Programming language syntax must be

absolutely correct.

– Programming language statements are

interpreted literally.

Every detail must be present.

Page 11: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 11

Basic Java Syntax and Semantics

Two categories of data types:

– 1. Primitive data types: Numbers, characters,

and Booleans

– 2. Objects – ex; Strings

Syntax for manipulating primitive data types

differs than for objects

– Primitive data types are combined in expressions

with operators.

– Objects are sent messages.

Page 12: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

12

Basic Java Syntax and Semantics (cont.)

Objects must be instantiated before use.

– Unlike primitives

– String objects are a little different; are objects & are sent messages, but don’t need to be instantiated before use.

Six numeric data types– int and double are most commonly used

Also short, long, byte, and float

– Each uses a different number of bytes for storage.

Each represents a different range of values.

Learn more later.

Page 13: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 13

Basic Java Syntax and Semantics (cont.)

Table 3-2: Some Java numeric data types

Page 14: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 14

Basic Java Syntax and Semantics (cont.)

Literals: Items whose values do not change.

– Examples the number 5.0 or the string “Java”

– Restricted to primitive data & strings.

Variable is a named location in memory.

– Changing a variable’s value is equivalent to

replacing the value at the memory location.

– A variable’s data type cannot change.

Page 15: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 15

Basic Java Syntax and Semantics (cont.)

Figure 3-1: Changing the value of a variable

Page 16: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 16

Basic Java Syntax and Semantics (cont.)

Variable declaration statement: Declares

the identifier and data type for a variable

– int age; (declares one int variable)

– int a, b, c; (declares three int variables)

– double d = 2.45; (declares and initializes

a variable)

– You can declare several variables in a single

declaration & simultaneously assign them initial

values

int x, y, z = 7;

double p, q = 1.41, pi = 3.14, t;

String name = “Bill Jones”;

Scanner reader = new Scanner(System.in);

Declares the object variable reader, instantiates or

creates a Scanner object that is attached to the

keyboard input stream, System.in, and finally assigns

the object to the object variable, reader.

Page 17: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Basic Java Syntax and Semantics (cont.)

Constants are variables whose value cannot

change.

– final double PI = 3.14;

– Customary to write the names of

constants in uppercase.

Fundamentals of Java 17

Page 18: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 18

Basic Java Syntax and Semantics (cont.)

Assignment statements:

– <variable> = <expression>;

– Value of expression assigned to variable

Arithmetic expressions:

– Multiplication and division have higher

precedence than addition and subtraction.

– Operators of same precedence evaluated from

left to right.

– Parentheses are used to change evaluation order.

EXAMPLE:

double celsius, fahrenheit;

String name;

Scanner reader;

fahrenheit = reader.nextDouble();

celsius = (fahrenheit – 32.0) * 5.0/9.0;

name = “Bill Smith”;

reader = new Scanner(System.in);

Page 19: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 19

Basic Java Syntax and Semantics (cont.)

Table 3-5: Common operators and their precedence

Page 20: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 20

Basic Java Syntax and Semantics (cont.)

The semantics of division (/) differ for

integers and floating-point operators.

– int / int yields an int.

– double / double yields a double.

The modulus operator (%) yields a remainder.

– 11 % 3 yields 2.

EXAMPLES:

Division:

5.0/2.0 yields 2.5

5/2 yields 2

Modulus:

9 % 5 yields 4

9.3 % 5.1 yields 4.2

Page 21: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 21

Basic Java Syntax and Semantics (cont.)

Table 3-6: Examples of expressions and their values

Page 22: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 22

Basic Java Syntax and Semantics (cont.)

Arithmetic overflow: Assigning a value to a

variable that is outside of the ranges of

values that the data type can represent

Mixed-mode arithmetic: Expressions

involving integer and floating-point values

– Lower-precision data types (int) temporarily

converted to high-precision data types (double)

Page 23: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 23

Basic Java Syntax and Semantics (cont.)

Type casting: Temporarily converting one

data type to another

– Can type cast a single variable or an entire

expression

– Place the desired data type within parentheses

before the variable or expression that will be

cast to another data type.

int x = (int)(d + 1.6);

int i;

double d;

i = (int)3.14; i equals 3, truncation toward 0

d = (double)5/4; d equals 1.25

Page 24: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 24

Basic Java Syntax and Semantics (cont.)

String concatenation: Append a String or value to another String

– Use the + operator

– String s = “string1” + “string2”;

– String s2 = “String1” + intVariable1;

Escape character (\): Used in codes to

represent characters that cannot be directly typed into a program– “\t” is a tab character

Page 25: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 25

Basic Java Syntax and Semantics (cont.)

The String class’s length method gives

the number of characters in a String.

Classes implement methods, and objects are

instances of classes.

– Objects can respond to a message only if their

class implements the method.

Must implement a method with a matching

signature

Page 26: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 26

Basic Java Syntax and Semantics (cont.)

Method signature:

– Method name

– Number and data types of method parameters

Method and variable names are user

defined symbols.

– Cannot use Java keywords (reserved words)

Packages: Used to organize related classes

into a single unit for distribution

Page 27: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 27

Basic Java Syntax and Semantics (cont.)

Table 3-7: Java’s reserved words

Page 28: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 28

Terminal I/O for Different Data Types

Table 3-8: Methods in class Scanner

Page 29: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 29

Terminal I/O for Different Data Types (cont.)

Example 3-1: Tests three types of input data

Page 30: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 30

Comments

Explanatory sentences inserted in a program

Compiler ignores them

Purpose is to make program more readable

Two varieties:

– End of line comments: All text following a double slash (//) on a single line

– Multiline comments: All text occurring between a /* and a */

Page 31: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 31

Comments (cont.)

Typical uses of comments:

– Begin a program with a statement of its purpose

– Explain the purpose of a variable declaration

– Explain the purpose of a major segment of code

– Explain the workings of complex or tricky

sections of code

Page 32: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 32

Programming Errors

Three types of programming errors:

– Syntax errors: When a syntax rule is violated

Detected during compilation

Compiler helps identify error

– Run-time errors: Occurs during execution

Dividing by 0

Detected when program runs

JVM indicates type of error and location

Page 33: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 33

Programming Errors (cont.)

Three types of programming errors (cont.):

– Logic errors (design errors or bugs):

Incorrect logic implemented in the program

Code may be correct in every other way, but

does not do what it is supposed to do.

Must thoroughly test and debug the program

when an error is found.

– Desk checking: Examine code immediately after

it is written

Page 34: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 34

Debugging

One debugging method is to add extra lines

of code to print values of selected variables

at strategic points in the program.

Page 35: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 35

Graphics and GUIs: Drawing Shapes and Text

Defining a specialized graphics panel: Define a new class that extends the JPanel class

– Inherits all of the properties and methods of a

JPanel, but can add additional instance

variables and methods

Page 36: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 36

Graphics and GUIs: Drawing Shapes and Text (cont.)

Example 3.5: Empty color panel

Page 37: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 37

Graphics and GUIs: Drawing Shapes and Text (cont.)

Every graphics application uses a

coordinate system.

– Positions of items on a window specified in

terms of two-dimensional points

– Java uses the screen coordinate system:

The origin (point with coordinates (0,0)) located

at upper-left corner of a panel or frame

Every window, frame, or other type of window

has own coordinate system

Page 38: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 38

Graphics and GUIs: Drawing Shapes and Text (cont.)

Figure 3-7: Orientation of Java’s coordinate system

Page 39: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 39

Graphics and GUIs: Drawing Shapes and Text (cont.)

Graphics class: Used to draw on a panel

– Every panel maintains an instance of this class.

The graphics context

– Shapes drawn on a panel by the Graphics

class have a foreground color.

Change color via the setColor() method.

Page 40: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 40

Graphics and GUIs: Drawing Shapes and Text (cont.)

Table 3-9: Common method in the Graphics class

Page 41: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 41

Graphics and GUIs: Drawing Shapes and Text (cont.)

Table 3-9: Common method in the Graphics class (cont.)

Page 42: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 42

Graphics and GUIs: Drawing Shapes and Text (cont.)

Table 3-9: Common method in the Graphics class (cont.)

Page 43: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 43

Graphics and GUIs: Drawing Shapes and Text (cont.)

Every panel instance has a paintComponent() method

– Called by the JVM when the panel needs to be

drawn on the screen

– Contains instructions for how to draw the panel

– For custom panels, can write own paintComponent() method, but must also

call the superclass’s paintComponent()

method

Page 44: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 44

Graphics and GUIs: Drawing Shapes and Text (cont.)

Example 3.6: Colored panel containing a red text message in a blue rectangle

Page 45: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 45

Graphics and GUIs: Drawing Shapes and Text (cont.)

Figure 3-8: Displaying a shape and text in a panel

Page 46: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 46

Graphics and GUIs: Drawing Shapes and Text (cont.)

The width and height of a panel can be found using the getWidth() and getHeight()

methods, respectively.

Font class: Information about a specific font

– Font name, size, and style

– Font font = new Font(“Arial”,

Font.BOLD, 10);

Page 47: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 47

Summary

Use the int data type for whole numbers

and double for floating-point numbers.

Variable and method names consist of a

letter followed by additional letters or digits.

Keywords cannot be used as names.

Final variables behave as constants; their

values cannot change after they are

declared.

Page 48: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 48

Summary (cont.)

Arithmetic expressions are evaluated

according to precedence.

Some expressions yield different results for

integer and floating-point operands.

Strings may be concatenated.

The compiler catches syntax errors.

The JVM catches run-time errors.

Page 49: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 49

Summary (cont.)

Logic errors, if caught, are detected by the

programmer or user at run-time.

Can find and remove logic errors by inserting

debugging output statements to view the

values of variables.

The programmer can modify the color with

which images are drawn and the properties

of text fonts for a given graphics object.

Page 50: Chapter 3 Syntax, Errors, and Debugging - Parkway … 3 Syntax, Errors, and Debugging ... – Examples the number 5.0 or the string “Java ... – Desk checking:

Fundamentals of Java 50

Summary (cont.)

Java uses a screen coordinate system to

locate the positions of pixels in a window or

panel.

– Origin is the upper-left corner of the drawing

area.

– x and y axes increase to the right and

downward.