lecture 2 fundamental data types. variable declaration

41
Lecture 2 Fundamental Data Types

Upload: emmeline-simmons

Post on 30-Dec-2015

229 views

Category:

Documents


6 download

TRANSCRIPT

Lecture 2

Fundamental Data Types

Variable Declaration

Rules for Identifiers

Numeric Types

All Numeric Types have Finite Ranges

0 1 1 1 1 1 1 0

0 0 0 0 0 0 0 1

0 1 1 1 1 1 1 1

0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0

0 0 0 0 0 0 0 1

value is 128but the leading 1 indicates negative value

value is 127

Floating Point Values are Approximate

Numeric Operators

Integer Division and Remainder

Increment and Decrement Operators

Notice: In this course, we will NOT be using increment and decrement operators in regular assignment statements. (More on this later.)

Assignment Statements

When is "=" not Equal to "Equals"?

In Java (and most other programming languages) the symbol = means assignment.

X = X + 1 "X is assigned the value X + 1

X = X + 1ALU

Arithmetic LogicUnit

ADD

LOAD

STORE

Augmented Assignment Operators

Declaring Constants

Mathematical Expressions

Ingredients

1 stick butter 1/2 cup sugar 1 egg 1 teaspoon vanilla extract 1/2 teaspoon salt 1 3/4 cups all-purpose flour

Directions

Mix the butter and sugar until light and fluffy. Beat in the egg, then vanilla and salt. Mix slowly while gradually adding the flour. Do not overmix. Shape into a 1-inch-thick disk, refrigerate for at least 2 hours. Heat oven to 350° F. Roll the dough ¼ inch thick, and cut the dough into shapes. Place 1 inch apart on prepared baking sheets, sprinkle with sugar. Bake until the edges just begin to brown, 12 to 15 minutes. Transfer to cooling racks.

Sugar Cookie Recipe

Parameters

pi = 3.1415926 radius area

Actions

Read in the radius. Compute the Area using the formula:

Display Area.

Circle Area Algorithm

Computer Algorithms can be simpler than a recipe for sugar cookies. ;-)

from Algorithm to Computer Program

Completed Program

comments are ignoredby the computer

Completed Program

Getting Input from the User

We can use the Scanner software package provided as part of java.util to get information typed on the keyboard. Some of the methods provided in Scanner are:

User Input

Interactive Version of Circle Area Calculator

Convert Fahrenheit to Celsius

Convert Seconds to Minutes and Seconds

Get total seconds from user.

Calculate number of whole minutes.

Calculate number of remaining seconds.

Display results.

Convert Seconds to Minutes and Seconds

Numeric Type Conversions

Java performs automatic type conversion in mathematical expressions. For example, when an integer and a floating-point value are multiplied, the integer is promoted to a floating-point value.

We can override the default type conversions by specifying the type of each parameter.

9

2+i3𝜋

25

Oh great! Here come yourfriends, the odd couple.

For starters, they're a coupleof squares.

Why can't you keep it real?

I can't imagine whyyou don't like them.

As usual, you're being irrational.

Why do you insist on running on forever?

Conflicting Data Types

ShowCurrentTime

Using Type Casting

So why would we want to multiply and then divide by 100?

197.55 x 0.06 = 11.853

A Sample Problem

An Implemention

Character Data Types and Operations

Unicode and ASCII Code

no parent

http://www.unicode.org/charts/

Samples of Unicode

Escape Sequences for Special Characters

Format Specifiers

String Operations

Types of Programming Errors

syntax errors - This type of error prevents the compilation of the program into an executable binary or into bytecode.

runtime errors - This type of error prevents a running program from completing its normal execution.

logic errors - With this type of error a program can complete its execution normally but the results obtained will be incorrect.

• easiest type of error to detect• relatively simple to correct

• can be data dependent• don't always occur (consider the divide-by-zero error)

• most difficult to detect (especially when they are intermittant)• amenable to unit testing and other SW engineering methods• can never be completely eliminated in large programs

using Input and Message Dialogs

The Math Library of Methods

Algorithms are like Recipes

The Input-Process-Output Design Pattern

Comments help make code understandible

All Numeric Data Types have finite ranges

Values can be converted from one data type to another

Floats and Doubles approximate Real Numbers

java.util Scanner methods support user input

Understanding Assignment Operators

Increment and Decrement Operators

Introducing Processing.org

Unicode and ASCII Code

Escape Sequences

Programming Errors

Input and Message Dialogs

Chapter 2 Summary