Top Banner
Lecture 2 Fundamental Data Types
41

Lecture 2 Fundamental Data Types. Variable Declaration.

Dec 30, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lecture 2 Fundamental Data Types. Variable Declaration.

Lecture 2

Fundamental Data Types

Page 2: Lecture 2 Fundamental Data Types. Variable Declaration.

Variable Declaration

Page 3: Lecture 2 Fundamental Data Types. Variable Declaration.

Rules for Identifiers

Page 4: Lecture 2 Fundamental Data Types. Variable Declaration.

Numeric Types

Page 5: Lecture 2 Fundamental Data Types. Variable Declaration.

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

Page 6: Lecture 2 Fundamental Data Types. Variable Declaration.

Floating Point Values are Approximate

Page 7: Lecture 2 Fundamental Data Types. Variable Declaration.

Numeric Operators

Page 8: Lecture 2 Fundamental Data Types. Variable Declaration.

Integer Division and Remainder

Page 9: Lecture 2 Fundamental Data Types. Variable Declaration.

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.)

Page 10: Lecture 2 Fundamental Data Types. Variable Declaration.

Assignment Statements

Page 11: Lecture 2 Fundamental Data Types. Variable Declaration.

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

Page 12: Lecture 2 Fundamental Data Types. Variable Declaration.

Augmented Assignment Operators

Page 13: Lecture 2 Fundamental Data Types. Variable Declaration.

Declaring Constants

Page 14: Lecture 2 Fundamental Data Types. Variable Declaration.

Mathematical Expressions

Page 15: Lecture 2 Fundamental Data Types. Variable Declaration.

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

Page 16: Lecture 2 Fundamental Data Types. Variable Declaration.

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. ;-)

Page 17: Lecture 2 Fundamental Data Types. Variable Declaration.

from Algorithm to Computer Program

Page 18: Lecture 2 Fundamental Data Types. Variable Declaration.

Completed Program

comments are ignoredby the computer

Page 19: Lecture 2 Fundamental Data Types. Variable Declaration.

Completed Program

Page 20: Lecture 2 Fundamental Data Types. Variable Declaration.

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:

Page 21: Lecture 2 Fundamental Data Types. Variable Declaration.

User Input

Page 22: Lecture 2 Fundamental Data Types. Variable Declaration.

Interactive Version of Circle Area Calculator

Page 23: Lecture 2 Fundamental Data Types. Variable Declaration.

Convert Fahrenheit to Celsius

Page 24: Lecture 2 Fundamental Data Types. Variable Declaration.

Convert Seconds to Minutes and Seconds

Get total seconds from user.

Calculate number of whole minutes.

Calculate number of remaining seconds.

Display results.

Page 25: Lecture 2 Fundamental Data Types. Variable Declaration.

Convert Seconds to Minutes and Seconds

Page 26: Lecture 2 Fundamental Data Types. Variable Declaration.

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.

Page 27: Lecture 2 Fundamental Data Types. Variable Declaration.

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

Page 28: Lecture 2 Fundamental Data Types. Variable Declaration.

ShowCurrentTime

Page 29: Lecture 2 Fundamental Data Types. Variable Declaration.

Using Type Casting

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

197.55 x 0.06 = 11.853

Page 30: Lecture 2 Fundamental Data Types. Variable Declaration.

A Sample Problem

Page 31: Lecture 2 Fundamental Data Types. Variable Declaration.

An Implemention

Page 32: Lecture 2 Fundamental Data Types. Variable Declaration.

Character Data Types and Operations

Page 33: Lecture 2 Fundamental Data Types. Variable Declaration.

Unicode and ASCII Code

no parent

Page 34: Lecture 2 Fundamental Data Types. Variable Declaration.

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

Samples of Unicode

Page 35: Lecture 2 Fundamental Data Types. Variable Declaration.

Escape Sequences for Special Characters

Page 36: Lecture 2 Fundamental Data Types. Variable Declaration.

Format Specifiers

Page 37: Lecture 2 Fundamental Data Types. Variable Declaration.

String Operations

Page 38: Lecture 2 Fundamental Data Types. Variable Declaration.

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

Page 39: Lecture 2 Fundamental Data Types. Variable Declaration.

using Input and Message Dialogs

Page 40: Lecture 2 Fundamental Data Types. Variable Declaration.

The Math Library of Methods

Page 41: Lecture 2 Fundamental Data Types. Variable Declaration.

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