Declaring Variables Mod 4 Barb Ericson Georgia Institute
Declaring Variables – Mod 4 Barb Ericson Georgia Institute of Technology August 2005 Georgia Institute of Technology
Learning Goals • Understand at a conceptual level – Declaring variables: what is allowed and what isn’t – When variables can be garbage collected – How to change the value of a variable – The difference between primitive and object variables Georgia Institute of Technology
Working with Variables • You must declare a variable before you can use it • Declare a variable once and only once – You will get an error if you declare it more than once • You can reuse variables – That you have declared Georgia Institute of Technology
Declaring Variables • To declare a variable – Specify the type and a name String name; World world 1; Turtle turtle 1; int x; – You can also assign a value to the variable when you declare it String full. Name = “Susan Dorda”; World world 1 = new World(); Turtle turtle 1 = new Turtle(world 1); int x = 0; Georgia Institute of Technology
Object and Primitive Variables • Primitive variables allocate space based on their size int a = 3 a 3 – The contents of the space is set to the variable’s value • Object type variables cause space allocation for a reference to an object – The contents of the space is a way to calculate the address of the object – Or null if it isn’t referring to an object yet. String str =“Hi”; str Georgia Institute of Technology reference “Hi”
Memory Exercise • Draw the memory used for the following: int x = 2; int y = 7; int z = x + y; • Draw the memory used for the following: String full. Name = null; String first. Name = “James”; String last. Name = “Clark”; full. Name = first. Name + last. Name; Georgia Institute of Technology
Variables are Temporary • Hold values until – Reassigned int x = 2; x = 3; // read ‘=‘ as takes on the value of – Dr. Java is exited – The interactions pane is reset • You can force this by clicking the “Reset” button • Or by right click and choose “Reset Interactions” • Happens automatically when you compile Georgia Institute of Technology
Objects can be Garbage Collected • When objects that have been created have no more references to them – They can be garbage collected • This means the memory they are using can be freed and reused – String name 1 = “Bill”; – String name 1 = new String(“Mary”); – The string object created by “Bill” can be garbage collected Georgia Institute of Technology
Variable Practice • Given the following code – What is the value of z at each step? int z = 0; int x = 3; int y = 2; z = x * y; z = z + x; z = z – y; – How many variables where declared? – How much space do they take? Georgia Institute of Technology
Variable Practice • What is the value of str 1 at each step? – String str 1 = “Hello World”; – str 1. to. Lower. Case(); – str 1 = str 1. to. Upper. Case(); – str 1 = “Goodbye World”; • How many variables where declared? • How many objects were created? – How many can be garbage collected? Georgia Institute of Technology
Variable Practice • What is the value of string 1 after the following code has executed? – String string 1 = “HELLO”; – System. out. println(string 1. to. Lower. Case()); • What type of variable is string 1 (primitive or object)? – How can you tell? • What is the value of string 2 and string 3 after the following code has executed? – String string 2 = “Mary”; – String string 3 = “Clark”; – string 2 = string 2 + string 3; Georgia Institute of Technology
Variable Practice • Declare variables for each of the following – – – The number of kids in a family The cost of a pair of shoes The name of a pet The score of a soccer game The hourly wage of a worker The answer to do you want insurance on a purchase The color of your eyes Your weight The distance you drive on a trip Your test score The number on a lottery ball Georgia Institute of Technology
Variable Practice • Which turtle does turtle 1 refer to after the following code? World my. World = new World(); Turtle tommy = new Turtle(my. World); Turtle mary = new Turtle(my. World); Turtle turtle 1 = tommy; turtle 1. forward(); turtle 1 = mary; turtle 1. turn. Left(); • Which turtle will go forward? • Which turtle will turn left? Georgia Institute of Technology
Variable Practice • Which of these statements will cause an error in the interactions pane and why? World 1 world = new World(); World world 2 = new World(); World world 3 = new. World(); World world 1 = new World 1(); World world 5 = new World; World world 2 = new World(); World my World = new World(); World earth = new World(); Georgia Institute of Technology
Allowed Types in Java • The type for a variable declaration can be – A primitive type: int, double, char, or boolean – The name of a Class • in the Java language – String, JFrame, Buffered. Image, etc • or the name of a class created by you or someone else – Picture, Sound, File. Chooser • Class names start with an uppercase letter! Georgia Institute of Technology
Summary • You can declare variables by specifying a type and a name – You can also assign a value to the variable when you declare it • Primitive variables reserve space based on the type – Object variables reserve space for a reference to an object • An object can be garbage collected if there is no reference to it Georgia Institute of Technology
- Slides: 16