Transcript variables

Variables
Pepper
Variable
• A variable
– box
– holds a certain type of value
– value inside the box can change
• Example
– A = 2B+1
– Slope = change in y / change in x
– monopoly square – holds different monopoly
pieces
Data types
• type: A category or set of data values.
– Examples: integer, real number, string.
• Internally, the computer stores all data as
0s and 1s.
– examples:
42
"hi"
101010
0110100001101001
Java's primitive types
• primitive types: Java's built-in simple data types for
numbers, text characters, and logic.
– Java has eight primitive types.
– Types that are not primitive are called object types.
• Four primitive types we will use:
–
–
–
–
Name
int
double
char
boolean
Description
integers (whole numbers)
real numbers
single text characters
logical values
Examples
42, -3, 0, 926394
3.14, -0.25, 9.4e3
'a', 'X', '?', '\n'
true, false
Types
•
type
kind
memory
range
byte
integer
1 byte
-128 to 127
short
integer
2 bytes
-32768 to 32767
int
integer
4 bytes
-2147483648 to 2147483647
long
integer
8 bytes
-9223372036854775808 to
-9223372036854775807
float
floating
point
4 bytes
±3.40282347 x 1038 to
±3.40282347 x 10-45
double
floating
point
8 bytes
±1.76769313486231570 x 10308
to
±4.94065645841246544 x 10324
char
single
character
boolean true or false
2 bytes
1 bit
all Unicode characters
Create a variable
• create a variable
– In Java: <type> <variable name> ; example: int
myIntVar;
– declare with correct type: int, double, char, boolean,
(not capitalized)
– declare Object variables with types such as : String,
Scanner, Random, (capitalized)
• You try:
– Create a program that creates the following variables:
•
•
•
•
•
int myQuantity
double myDollars
boolean answer
char oneLetter
String myName
Change a variable
• change variable contents:
– In Java: <variable name> = <some expression>;
example: myIntVar = 5 ;.
– Equal sign means set equal to
– Left side gets put into right side
• You try – set those variables = to something
•
•
•
•
•
myQuantity = 1
myDollars = 3.3
answer = true
oneLetter = ‘a’
myName = “pepper”
• Now, print those variables with:
– System.out.println(myQuantity + myDollars + answer + oneLetter
+ myName)
• What happens when you put single or double quotes
where there were none, or take away the quotes?
Use variables in a real program
• On Paper: Average 2 + 4 + 6
• Pay attention to your steps
Writing the Average program
Specification – write a program which can find
the average of three numbers.
Let’s list the steps that our program must
perform to do this:
• Add up these values
• Divide the sum by the number of values
• Print the result
Each of these steps will be a different
statement.
Flow chart
• Done in Gliffy
• https://www.gliffy.com/
• Show how
Writing the Average program
sum = 2 + 4 + 6;
• Add up these values
• Divide the sum by the number of
values
• Print the result
sum = 2 + 4 + 6;
an assignment statement
Assignment Statements
• Assignment statements take the form:
variable = expression
Memory location where
the value is stored
Combination of constants
and variables
Expressions
•
•
Expressions combine values using one of several
operations.
The operations being used is indicated by the
operator:
+
*
/
Examples:
2 +5
3 4 * value
x / y
Addition
Subtraction
Multiplication
Division
Writing the Average program 1
• sum = 2 + 4 + 6;
• Divide the sum by the
number of values
• Print the result
Names that describe what
the values represent
average = sum / 3;
Writing the Average program 2
• sum = 2 + 4 + 6
• average = sum / 3;
• Print the result
System.out.println(″The average is ″
+ average);
The output method
variable
name
Writing the Average program 3
public static void main(String[] args)
{
-------------------sum = 2 + 4 + 6;
average = sum / 3;
System.out.println("The average is "
+ average);
}
We still need to add a declare our variables. This tells the
computer what they are.
Writing the Average program 4
public class Average3 {
public static void main(String[] args) {
int sum, average;
sum = 2 + 4 + 6;
average = sum / 3;
System.out.println("The average is " +
average);
}
}
Tells the computer that sum and average are integers
Writing the Average program 5
public class Average3a {
public static void main(String[] args) {
int sum;
int average;
sum = 2 + 4 + 6;
average = sum / 3;
System.out.println("The average is " +
average);
}
}
We could also write this as two separate declarations.
You try
• Add 1 to the average and then print it
again.
average = average + 1
Variables and Identifiers
• Variables have names – we call these
names identifiers.
• Identifiers identify various elements of a
program (so far the only such element are
the variables.
• Some identifiers are standard (such as
System)
Identifier Rules
• An identifier must begin with a letter or an
underscore _
• Java is case sensitive upper case (capital) or
lower case letters are considered different
characters. Average, average and
AVERAGE are three different identifiers.
• Numbers can also appear after the first
character.
• Identifiers can be as long as you want but
names that are too long usually are too
cumbersome.
• Identifiers cannot be reserved words (special
words like int, main, etc.)
Spelling Conventions
•
•
•
•
Name constants
Variables start lower case
Classes uppercase
Word boundaries upper case
(numberOfPods)
Some Illegal Identifiers
Illegal
Identifier
my age
2times
four*five
Reason
Suggested Identifier
Blanks are not
allowed
Cannot begin
with a number
* is not allowed
myAge
time&ahalf & is not
allowed
times2 or
twoTimes
fourTimesFive
timeAndAHalf
Assignment
int number1 = 33;
double number2;
number2 = number1;
byteshortintlongfloatdouble
char
Dividing
• int / int  int (even if you assign it to a
double)
• float / int  float
• int / float  float
Solution: Cast it
ans = n / (double) m
Math Operators & PEMDAS
• + add
• - subtract
• * multiply
• - division
• % remainder
Example: base + (rate * hours)
Fancy Math
variable = variable op (expression)
count = count
+ 1
count = count
+ (6 / 2 * a + 3)
variable op = expression
count += 1
count += (6 / 2 * a + 3)
Example:
int count = 1;
count += 2;
The value of count is now
3
More Fancy Math
• Increment ++
• Decrment –
• ++n adds 1 before executing
• n++ adds 1 after executing
Example:
Constants
Constant doesn’t change
Why use a variable if
 massive changes later
 show meaning
 avoid Hard coding
public static final int MAX_PEOPLE = 20;
Capitalize by convention only
Summary
• A variable holds one value
• Variables have certain types
• Literals of different types are entered
differently (i.e. quotes for String)
• The system keeps variable values until
you change them.
• Constants are a special kind of variable –
no changing