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: "hi"
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: NameDescriptionExamples –int integers (whole numbers) 42, -3, 0, –double real numbers 3.14, -0.25, 9.4e3 –char single text characters 'a', 'X', '?', '\n' –boolean logical values true, false
Types typekindmemoryrange byteinteger1 byte-128 to 127 shortinteger2 bytes to intinteger4 bytes to longinteger8 bytes to floatfloating point 4 bytes± x to ± x doublefloating point 8 bytes± x to ± x charsingle character 2 bytesall Unicode characters booleantrue or false1 bit
Create a variable create a variable –In Java: ; 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: = ; 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 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 Show how
Writing the Average program Add up these values Divide the sum by the number of values Print the result sum = ; 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: +Addition -Subtraction *Multiplication /Division Examples: * value x / y
Writing the Average program 1 sum = ; Divide the sum by the number of values Print the result average = sum / 3; Names that describe what the values represent
Writing the Average program 2 sum = 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 = ; 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 = ; 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 = ; 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 timeAndAHalf & is not allowed time&ahalf fourTimesFive * is not allowed four*five times2 or twoTimes Cannot begin with a number 2times myAge Blanks are not allowed my age Suggested Identifier ReasonIllegal Identifier
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