Unformatted text preview:

Lecture 2: Variables and Primitive Data TypesIn this lecture, you will learn…What is a Variable?A Variable AnalogyVariables Types in JavaJava TypesDeclaring Variables in JavaAssigning Values to VariablesNaming VariablesNaming VariablesPOP QUIZInteger TypesString TypeFloating Point TypesBoolean TypeCharacter TypePOP QUIZA Note on StatementsAppendix I: Reserved WordsAppendix II: Primitive Data TypesAppendix II: Primitive Data TypesLecture 2: Variables and Primitive Data TypesMIT-AITI Kenya 2005©2005MIT-Africa Internet Technology InitiativeIn this lecture, you will learn…• What a variable is– Types of variables– Naming of variables– Variable assignment• What a primitive data type is• Other data types (ex. String)©2005MIT-Africa Internet Technology InitiativeWhat is a Variable?• In basic algebra, variables are symbols that can represent values in formulas.• For example the variable x in the formula f(x)=x2+2 can represent any number value.• Similarly, variables in computer program are symbols for arbitrary data.©2005MIT-Africa Internet Technology InitiativeA Variable Analogy• Think of variables as an empty box that you can put values in.• We can label the box with a name like “Box X” and re-use it many times.• Can perform tasks on the box without caring about what’s inside:– “Move Box X to Shelf A”– “Put item Z in box”– “Open Box X”– “Remove contents from Box X”©2005MIT-Africa Internet Technology InitiativeVariables Types in Java• Variables in Java have a type.• The type defines what kinds of values a variable is allowed to store.• Think of a variable’s type as the size or shape of the empty box.• The variable x in f(x)=x2+2 is implicitly a number.• If x is a symbol representing the word “Fish”, the formula doesn’t make sense.©2005MIT-Africa Internet Technology InitiativeJava Types• Integer Types:– int: Most numbers you’ll deal with.– long: Big integers; science, finance, computing. – short: Small integers. Legacy. Not very useful.– byte: Very small integers, useful for generic data.• Floating Point (Decimal) Types:– float: Single-precision decimal numbers– double: Double-precision decimal numbers. • Other Types:– String:Text strings.– boolean: True or false.– char: Latin Alphanumeric Characters©2005MIT-Africa Internet Technology InitiativeDeclaring Variables in Java• Variables are created by declaring their type and their name as follows:– type name;• Declaring an integer named “x” :– int x;• Declaring a string named “greeting”:– String greeting;• We have not assigned values to these variables; just made empty boxes.©2005MIT-Africa Internet Technology InitiativeAssigning Values to Variables• Assign values to variables using the syntax:– name = value;• For example:– x = 100;– greeting = “Jambo”;• Illegal to assign a variable the wrong type:– x = “Jambo”;– x = 1.2;– greeting = 123;• Can declare and assign in one step:– int x = 100;– String greeting = “Jambo”;©2005MIT-Africa Internet Technology InitiativeNaming Variables• Variable names (or identifiers) may be any length, but must start with:– A letter (a – z), – A dollar sign ($),– Or, an underscore ( _ ).• Identifiers cannot contain special operation symbols like +, -, *, /, &, %, ^, etc.• Certain reserved keywords in the Java language are illegal.• For example, “class”, “static”, “int”, etc.©2005MIT-Africa Internet Technology InitiativeNaming Variables• Java is a case-sensitive - capitalization matters.• A rose is not a Rose is not a ROSE.• Choose variable names that are informative.– Good: “int studentExamGrade;”– Bad: “int tempvar3931;”• “Camel Case”: Start variable names with lower case and capitalize each word: “camelsHaveHumps”.©2005MIT-Africa Internet Technology InitiativePOP QUIZ• Which of the following are valid variable names?1. $amount2. 6tally3. my*Name4. salary5. _score6. first Name7. total#8. short©2005MIT-Africa Internet Technology InitiativeInteger Types• There are four primitive integer data types: byte, short, int, long.• Each types has a maximum value, based on their binary representation:– Bytes: 8-bits, ± 128– Short: 16-bits, ± 215 ≈ 32,000– Int: 32-bits, ± 231 ≈ 2 billion– Long: 32-bits, ± 263 ≈ really big• Integer Overflows: What happens if we store Bill Gates’ net worth in an int?©2005MIT-Africa Internet Technology InitiativeString Type• Strings are not a primitive. They are what’s called an Object, which we will discuss later.• Strings are sequences of characters surrounded by “doublequotations”.• Strings are constants and cannot be changed after they are created.• Strings have a special append operator + that creates a new String:– String greeting = “Jam” + “bo”;– String bigGreeting = greeting + “!”;©2005MIT-Africa Internet Technology InitiativeFloating Point Types• Initialize doubles as you would write a decimal number:– double y = 1.23;– double w = -3.21e-10; // -3.21x10-10• Use a trailing ‘d’ to force a value to be double:– double y = 1d/3; // y = .333333333– double z = 1/3; // z = 0.0 … Why?• Floats can be initialized like doubles, but need a trailing ‘f’:– float z = 1.23f;• Doubles are more precise than Floats, but may take longer to perform operations.©2005MIT-Africa Internet Technology InitiativeBoolean Type• Boolean is a data type that can be used in situations where there are two options, either true or false.• The values true or false are case-sensitive keywords. Not True or TRUE.• Booleans will be used later for testing properties of data.• Example:– boolean monsterHungry = true;– boolean fileOpen = false;©2005MIT-Africa Internet Technology InitiativeCharacter Type• Character is a data type that can be used to store a single characters such as a letter, number, punctuation mark, or other symbol.• Characters are a single letter enclosed in singlequotes. Don’t confuse with Strings.• Example:– char firstLetterOfName = 'e' ;– char myQuestion = '?' ;©2005MIT-Africa Internet Technology InitiativePOP QUIZ• What data types would you use to store the following types of information?:1. Population of Kenya2. World Population3. Approximation of π4. Open/closed status of a file5. Your name6. First letter of your name7.


View Full Document

MIT SP 772 - Lecture Notes

Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?