150 likes | 299 Views
Primitive Data Types. There are a number of common objects we encounter and are treated specially by almost any programming language These are called basic (primitive) objects, such as integers etc E.g., Java predefines classes for such basic types
E N D
Primitive Data Types • There are a number of common objects we encounter and are treated specially by almost any programming language • These are called basic (primitive) objects, such as integers etc • E.g., Java predefines classes for such basic types • for example, one predefined class is Integer: To create an Integer (object):Integer wagePerHour = new Integer(10); System.out.println( wagePerHour );
Primitive Data Types • Although in pure object-oriented languages (such as Smalltalk and Ruby), we can consider everything as objects and defines everything as class, for efficiency, some languages like C++ and Java treat common objects such as numbers, characters, and logical values specially, and introduces them into the language as primitive data types • Note: this division between primitive types and objects is disliked by some programmers familiar with languages such as Smalltalk and Ruby where everything is an object
Primitive Data Types • There are exactly eight primitive data types • four of them represent integers: • byte, short, int, long • two of them represent floating point numbers • float, double • one of them represents characters: • char • and one of them represents boolean (logical) values: • boolean
Numeric Primitive Data Types • byte, short, int, long, float, and double are numeric data types • The difference among the various numeric primitive types is their storage sizes and representations, and therefore the ranges and precision of the values they can store • To understand this, we need to have a rough understanding of computer memory storage
Each memory cell has a set number of bits (usually 8 bits, or one byte); a bit can represent 2 values) 10011010 A computer can use more cells to store data, e.g., 2 bytes Memory Primary storage area for programs and data Also called RAM RAM is divided into many cells; each cell can be identified by a numeric address Main Memory 9278 9279 9280 9281 9282 9283 9284 9285 9286 - how many values can a byte represent? - how many values can 2 bytes represent?
Type byte short int long float double Storage 8 bits 16 bits 32 bits 64 bits 32 bits 64 bits Min Value -128 -32,768 -2,147,483,648 < -9 x 1018 +/- 3.4 x 1038 with 7 significant digits +/- 1.7 x 10308 with 15 significant digits Max Value 127 32,767 2,147,483,647 > 9 x 1018 Numeric Primitive Data • “Objects” of different numeric data types occupy different number of cells IEEE 754format
Characters • A char is a single character from a character set • A character set is an ordered list of characters; each character is given a unique number • Character literals are represented in a program by delimiting with single quotes: 'a‘ 'X‘ '7' '$‘ ',' '\n'
uppercase letters lowercase letters punctuation digits special symbols control characters A, B, C, … a, b, c, … period, semi-colon, … 0, 1, 2, … &, |, \, … carriage return, tab, ... Character Sets • The ASCII character set is quite popular. It includes:
Boolean • A boolean value represents logical value: true or false • The reserved words true and false are the only valid values for a boolean type • A boolean can also be used to represent any two states, such as a light bulb being on or off
data type variable name int total; int count, temp, result; Multiple variables can be created in one declaration Variables: Revisited • We already know that a variable must be declared, specifying the variable's name and the type of information that will be held in it • As of now, think of a variable as a name for a location in memory cell (we will revisit the concept later)
Variables • A variable can be given an initial value in the declaration int sum = 0; int base = 32, max = 149; String msg1 = new String( “Hello” ); String msg2 = “Hello” ; • When a variable is referenced in a program, its current value is used
total = 55; Change the Value of a Variable: Assignment Statement • An assignment statement changes the value of a variable • The assignment operator is the = sign • The expression on the right is evaluated and the result is stored in the variable on the left • The value that was in total is overwritten • Remember: you can only assign a value to a variable that is consistent with the variable's declared type
Constants • A “constant variable” is an identifier that is similar to a variable except that it holds one value for its entire existence • Why constants: • give names to otherwise unclear literal values • facilitate changes to the code • prevent inadvertent errors • The compiler will issue an error if you try to assign value to a constant variable after its declaration
Arithmetic Expressions • An expression is a combination of operators and operands • Arithmetic expressions (we will see logical expressions later) are essentially special methods applied to numerical data objects: compute numeric results and make use of the arithmetic operators: Addition + Subtraction - Multiplication * Division / Remainder %
Division and Remainder • If both operands to the division operator (/) are integers, the result is an integer (the fractional part is discarded) 14 / 3 equals? 8 / 12 equals? • The remainder operator (%) returns the remainder after dividing the second operand into the first 14 % 3 equals? 8 % 12 equals?