Presentation on theme: "String Escape Sequences"— Presentation transcript:
1 String Escape Sequences What if we wanted to print a double quote character?The following line would confuse the compiler because it would interpret the second quote as the end of the stringSystem.out.println ("I said "Hello" to you.");An escape sequence is a series of characters that represents a special characterAn escape sequence begins with a backslash character (\), which indicates that the character(s) that follow should be treated in a special waySystem.out.println ("I said \"Hello\" to you.");
2 Escape Sequences Some Java escape sequences: See Roses.java \b\t\n\r\"\'\\Meaningbackspacetabnewlinecarriage returndouble quotesingle quotebackslashSee Roses.java
3 title = new String ("Java Software“); More on String ObjectsBecause strings are so common, we don't have to use the new operator to create a String objecttitle = "Java Software";which is a shorcut for:title = new String ("Java Software“);This is special syntax that only works for stringstitle“Java Software"
4 Yet More on String Objects Every string literal, delimited by double quotation marks, also represents an implicit String object in JavaA common service we want from string objects is to merge two strings, i.e., append one string to the end of another stringOne possibility to join “hello ” and “world” could be:“hello ”.join(“world”);To have a more natural expression, Java introduces the string concatenation operator (+):it is used to append one string to the end of anotherfor example“hello “ + “world!” generates“hello world!”“hello”+”world!” is a shorthand of “hello ”.+(“world”)See Facts.java
5 Primitive Data TypesStrings are just one type of common objects we encounter and are treated specially by JavaThere are other basic (primitive) objects, such as integers etcJava predefines classes for such basic typesfor example, one predefined class is Integer:To create an Integer (object): Integer wagePerHour = new Integer(10); System.out.println( wagePerHour );
6 Primitive Data TypesAlthough in pure object-oriented languages (such as Smalltalk and Ruby), we can consider everything as objects and defines everything as class, for efficiency, Java treats common objects such as numbers, characters, and logical values specially, and introduces them into the language as primitive data typesNote: 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
7 Primitive Data TypesThere are exactly eight primitive data types in Javafour of them represent integers:byte (class Byte), short (class Short), int (class Integer), long (class Long)two of them represent floating point numbersfloat (class Float), double (class Double)one of them represents characters:char (class Character)and one of them represents boolean (logical) values:boolean (class Boolean)
8 Numeric Primitive Data Types byte, short, int, long, float, and double are numeric data typesThe difference among the various numeric primitive types is their storage sizes and representations, and therefore the ranges and precision of the values they can storeTo understand this, we need to have a rough understanding of computer memory storage
9 MemoryPrimary storage area for programs and dataAlso called RAMRAM is divided into many cells; each cell can be identified by a numeric addressMainMemoryEach memory cell has a set number of bits (usually 8 bits, or one byte); a bit can represent 2 values)927892799280928192829283928492859286- how many values can a byte represent?A computer can use more cells to store data, e.g., 2 bytes- how many values can 2 bytes represent?
10 Numeric Primitive Data “Objects” of different numeric data types occupy different number of cellsTypebyteshortintlongfloatdoubleStorage8 bits16 bits32 bits64 bitsMin Value-128-32,768-2,147,483,648< -9 x 1018+/- 3.4 x 1038 with 7 significant digits+/- 1.7 x with 15 significant digitsMax Value12732,7672,147,483,647> 9 x 1018IEEE 754 format
11 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 numberCharacter literals are represented in a program by delimiting with single quotes:'a‘ 'X‘ '7' '$‘ ',' '\n'
12 Character Sets The ASCII character set is quite popular. It includes: Java uses the Unicode character set, a superset of ASCIIuses sixteen bits (2 bytes) per character, allowing for 65,536 unique charactersit is an international character set, containing symbols and characters from many languagescode chart can be found at:uppercase letterslowercase letterspunctuationdigitsspecial symbolscontrol charactersA, B, C, …a, b, c, …period, semi-colon, …0, 1, 2, …&, |, \, …carriage return, tab, ...
13 Boolean A boolean value represents logical value: true or false The reserved words true and false are the only valid values for a boolean typeA boolean can also be used to represent any two states, such as a light bulb being on or off
14 Multiple variables can be created in one declaration Variables: RevisitedWe already know that a variable must be declared, specifying the variable's name and the type of information that will be held in itAs of now, think of a variable as a name for a location in memory cell (we will revisit the concept later)int total;int count, temp, result;Multiple variables can be created in one declarationdata typevariable name
15 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 usedSee PianoKeys.java
16 Change the Value of a Variable: Assignment Statement An assignment statement changes the value of a variableThe assignment operator is the = signtotal = 55;The expression on the right is evaluated and the result is stored in the variable on the leftThe value that was in total is overwrittenRemember: you can only assign a value to a variable that is consistent with the variable's declared typeSee Geometry.java
17 ConstantsA “constant variable” is an identifier that is similar to a variable except that it holds one value for its entire existenceWhy constants:give names to otherwise unclear literal valuesfacilitate changes to the codeprevent inadvertent errorsIn Java, we use the final modifier to declare a variable constant, and the convention is to use all capital words to name a constantfinal double PI = ;The compiler will issue an error if you try to assign value to a constant variable after its declaration
18 Arithmetic Expressions An expression is a combination of operators and operandsArithmetic 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 %
19 Division and Remainder If both operands to the division operator (/) are integers, the result is an integer (the fractional part is discarded)14 / equals?8 / equals?The remainder operator (%) returns the remainder after dividing the second operand into the first14 % equals?8 % equals?