Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition.

Similar presentations


Presentation on theme: "Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition."— Presentation transcript:

1 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition

2 2 Objectives You should be able to describe: Data Values and Arithmetic Operations Constructing a Data Declaration Section: Variables Completing the Class: Methods Assignment Operations

3 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition3 Objectives (continued) Program Design and Development: Object Identification Common Programming Errors

4 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition4 Data Values and Arithmetic Operations General data types: –Primitive –Reference Literal –Value that explicitly identifies itself –Example: 1 “xyz”

5 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition5 Data Values and Arithmetic Operations (continued) Figure 2.1: Primitive data types

6 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition6 Data Values and Arithmetic Operations (continued) Figure 2.2: Reference types

7 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition7 Integer Literals Zero or any positive or negative numerical value without decimal point Examples: –1 –-406 –352563 Other data types: –Byte –Short integer

8 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition8 Integer Literals (continued) Table 2.1: Integer Data Types

9 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition9 Floating-Point Values Also called real numbers Numerical value with decimal point Examples: –-1.24 –0.0 –2435.34 Data types: –Double –Float

10 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition10 Floating-Point Values (continued) Table 2.2: Floating-Point Data Types

11 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition11 Precision, Exponential Notation, and Atomic Data Precision can either refer to: –Accuracy of number –Number of significant digits in number Exponential notation: –Express very large and very small values in compact form –63421. in exponential notation is 6.3421e4 Atomic data –Complete entity by itself

12 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition12 Character Values Letters of alphabet –Both uppercase and lowercase 10 digits 0 through 9 Special symbols such as 1 $., - ! Stored as 16-bit unsigned values using Unicode

13 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition13 Escape Sequences \ before characters Tells compiler to execute differently from normal behavior

14 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition14 Escape Sequences (continued) Table 2.4: Escape Sequences

15 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition15 Boolean Values Restricted to one of two values: –True –False

16 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition16 Arithmetic Operations Used for mathematical calculations Operators: –Addition: + –Subtraction: - –Multiplication: * –Division: / –Modulus: %

17 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition17 Arithmetic Operations (continued) Simple arithmetic expression Integer expression Real expression Mixed-mode expression Overloaded operator –Symbol represents more than one operation –Execution depends on types of operands encountered

18 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition18 Integer Division Division of two integers c an produce strange results for unwary Integers cannot contain fractional part –It is dropped Example: –15/7 = 2

19 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition19 The Modulus Operator Retain remainder of division Operator symbol: –% Example: –9.2 % 4 = 1.2 –15 % 4 = 3

20 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition20 Negation Unary operator –One that operates on single operand Same symbol as binary subtraction (-) Negates or reverses number

21 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition21 Negation (continued) Table 2.6: Summary of Arithmetic Operations

22 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition22 Operator Precedence and Associativity Rules for working with arithmetic operators: –Two binary arithmetic operator symbols must never be placed side by side –Parentheses may be used to form groupings Expressions in parentheses are evaluated first –Parentheses can be nested –Parentheses cannot be used to indicate multiplication

23 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition23 Operator Precedence and Associativity (continued) Order of operations: –All negations are done first –Multiplication, division, and modulus operations are computed first –Addition and subtraction are computed last

24 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition24 String Concatenation Joins two or more strings into single string Only operation that directly manipulates string data in similar fashion as numerical data Has same precedence as addition operator –Always use parentheses when performing arithmetic operations in any expression that contains a string

25 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition25 Constructing a Data Declaration Section: Variables Values in computer program are stored and retrieved from computer’s memory unit Variable: –Name given by programmer –Refers to computer storage locations that store primitive data type value Selection of variable names is left to programmer

26 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition26 Declaration Statements Naming variable and specifying data type Syntax: –optionalAccessSpecifier dataType variableName; Example: –private int sum; Initial value: –Declaration and initialization in one line of code –private int num1 = 15;

27 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition27 Constructing a Data Declaration Section Classifications of variables: –Instance –Class –Local –Parameter Dependent on: –Variable placement within class –Presence or absence of reserved word static

28 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition28 Constructing a Data Declaration Section (continued) Table 2.8: Determination of Variable Types

29 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition29 Creating Objects Objects –Only created from instance variables declared in data declaration section or from other object types Methods –Provide operations that can be applied to created objects or create general-purpose functions Independent of any one object

30 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition30 Creating Objects (continued) Figure 2.6: The RoomType class

31 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition31 Creating Objects (continued) Using dynamic memory allocation operator also called: –Creating an instance –Instantiating an object Reference variable –Reference location in memory where actual object’s values located

32 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition32 Creating Objects (continued) Private –Once object is created, its private variables can only be accessed by its class methods –Safety feature provided by object-oriented languages Cleansing Memory –Memory leak problem –Objects keep track of who references them –JVM cleans unused memory

33 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition33 Creating Objects (continued) Figure 2.8: Instantiating an object

34 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition34 Specifying Storage Allocation Declaring variables protects against typos –Compiler catches errors Each data type has its own storage requirements –Compiler pre-allocates memory based on data type Definition statements –Statements that cause variables to be created

35 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition35 Completing the Class: Methods Classes provide methods to: –Initialize values stored in each instance variable to user-selected values –Display values –Modify values Format of method header: –public returnType methodName(parameter list) Public –Means method can be used in other classes

36 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition36 Constructor Methods Method that has same name as class Automatically called each time object created Purpose: –Initialize new object’s instance variables Format: public ClassName(parameter list) { method body }

37 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition37 Accessor Methods Provide means for reading values stored in object’s variables Referred to as get() method

38 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition38 Mutator Methods Provide means for changing object’s values –After object created Also known as set() methods

39 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition39 Convenience Can be convenient to place two classes in one file –Second class’s main() method is placed within first class’s methods section –Both classes are stored in same file public reserved word removed from class that does not contain main() method

40 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition40 Assignment Operations Most basic statements for initializing variables General syntax: –variable = expression; Example: –length = 25; Expression –Any combination of constants and variables that can be evaluated to yield a result

41 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition41 Assignment Operations (continued) All variables used in expression must previously have been given valid values Must be a variable listed immediately to left of equal sign Has lower precedence than any other arithmetic operator

42 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition42 Multiple Declarations Variables with same data type can be grouped –Declared using single declaration statement Frequently used in declaring method’s internal variables Coercion –Forced conversion based on data types

43 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition43 Assignment Variations In an assignment expression: –Variable to left of equal sign can also be used to right of equal sign Shortcut assignment operators: –+= –-= –*= –/= –%=

44 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition44 Accumulating Values added to program variable as program progresses Uses assignment operator: –sum = sum + 10,

45 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition45 Counting Counting statement form: –variable = variable + fixedNumber; Example: –i = i + 1; Increment/decrement operators: ++-- –Example : i++

46 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition46 Program Design and Development: Object Identification Model –Representation of problem Attributes –Define properties of interest Behaviors –Define how object reacts to its environment

47 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition47 Program Design and Development: Object Identification (continued) Figure 2.22: An initial object description

48 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition48 From Objects to Classes Class –Category of objects defined by given set of attributes and behavior State –Describes how object appears at moment –Defined by values that have been assigned to its attributes Identity –Name that uniquely identifies object

49 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition49 Procedural versus Object Orientations Procedure-oriented programming –Emphasis on operations to be performed Object-oriented programming –Emphasis on attributes and behavior of objects

50 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition50 Common Programming Errors Forgetting to declare all variables used in class Forgetting to assign or initialize values for all variables before variables are used in expression Mixing data types in same expression without clearly understanding effect produced Defining more than one default constructor for class

51 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition51 Summary Primitive data types: –Numerical –Boolean Every variable must be declared as to type of value it can store Class –Programmer-defined data type

52 Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition52 Summary (continued) Classes contain methods: –Constructor –Accessor –Mutator Expressions evaluated according to precedence and associativity of operators used Assignment symbol operator: –=


Download ppt "Object-Oriented Program Development Using Java: A Class-Centered Approach, Enhanced Edition."

Similar presentations


Ads by Google