Lecture 2

advertisement
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 1 1 1 1 1 1 1
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 1
0 1 1 1 1 1 1 1
1 0 0 0 0 0 0 0
value is 127
value is 128
but the leading 1
indicates negative value
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
LOAD
X=X+1
ADD
STORE
ALU
Arithmetic Logic
Unit
Augmented Assignment Operators
Declaring Constants
Mathematical Expressions
Sugar Cookie Recipe
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.
Circle Area Algorithm
Parameters
pi = 3.1415926
radius
area
Actions
Read in the radius.
Compute the Area using the formula:
𝑎𝑟𝑒𝑎 = 𝑟𝑎𝑑𝑖𝑢𝑠 × 𝑟𝑎𝑑𝑖𝑢𝑠 × 𝑝𝑖
Display Area.
Computer Algorithms can be simpler than a recipe for sugar cookies. ;-)
from Algorithm to Computer Program
Completed Program
comments are ignored
by 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.
Conflicting Data Types
Oh great! Here come your
friends, the odd couple.
9 25
I can't imagine why
you don't like them.
For starters, they're a couple
of squares.
As usual, you're being irrational.
Why can't you keep it real?
Why do you insist on running on
forever?
𝜋
i
2+ 3
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
Samples of Unicode
http://www.unicode.org/charts/
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.
• easiest type of error to detect
• relatively simple to correct
runtime errors - This type of error prevents a running program from
completing its normal execution.
• can be data dependent
• don't always occur (consider the divide-by-zero error)
logic errors - With this type of error a program can complete its execution
normally but the results obtained will be incorrect.
• 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
Chapter 2 Summary
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
Download