cse 1301 lecture 2 data types figures from lewis, “c# software solutions”, addison wesley...
TRANSCRIPT
CSE 1301
Lecture 2
Data Types
Figures from Lewis, “C# Software Solutions”, Addison Wesley
Richard Gesick
CSE 1301
Review
• C# program structure• Comments• Identifiers• White space• Objects• Classes• Methods
CSE 1301
Program Structure• In the C# programming language:
– A program is made up of one or more classes– A class contains one or more methods– A method contains program statements
• These terms will be explored in detail throughout the course
• An application always contains a method called Main
CSE 1301
Building Blocks - Comments • Comments explain the program to yourself and
others• Block comments
– Can span several lines– Begin with /* – End with */– Compiler ignores all text between /* and */
• Line comments– Start with //– Compiler ignores text from // to end of line
CSE 1301
Identifiers - symbolic names• Identifiers are used to name classes,
variables, and methods • Identifier Rules:
– Must start with a letter– Can contain essentially any number of letters and
digits, but no spaces– Case sensitive!!
• Number1 and number1 are different!
– Cannot be keywords or reserved words
CSE 1301
White Space• Spaces, blank lines, and tabs are called white space
• White space is used to separate words and symbols in a program
• Extra white space is ignored
• A valid C# program can be formatted many ways
• Programs should be formatted to enhance readability, using consistent indentation
CSE 1301
Character Strings
• Object in C#, defined by string class• String literal is 0 or more characters enclosed
with double quotes– “The quick brown fox jumped.”– “x”– “”
• Can contain any valid character
CSE 1301
Write and WriteLine MethodsConsole.Out.WriteLine (“Whatever you are, be a good one.”);
Output device
Monitor
Console – class
Out - objects
Method name
parameter
WriteLine method includes a “new line” character.
CSE 1301
string Concatenation Operator (+)
• String literals cannot span lines• Combines string literals with other data types for
printingExample: String hello = "Hello"; String there = "there"; String greeting = hello + ' ' + there; Console.Out.WriteLine( greeting );
Output is: Hello there
CSE 1301
Variables• A variable is a name for a location in memory used to hold a data
value.
• A variable must be declared by specifying the variable's name and the type of information that it will hold
int total;
int count, temp, result;
Multiple variables can be created in one declaration
data type variable name
CSE 1301
Conventions
• Names of variables should be meaningful and reflect the data they will store– This makes the logic of the program clearer
• Don't skimp on characters, but avoid extremely long names
• Avoid names similar to C# keywords
CSE 1301
Assignment• An assignment statement changes the value of a
variable• The assignment operator is the = sign
total = 55;
• The value that was in total is overwritten
• You can only assign a value to a variable that is consistent with the variable's declared type
• The expression on the right is evaluated and the result is stored in the variable on the left
CSE 1301
Assignment Operator Syntax: target = expression;expression: operators and operands that
evaluate to a single value --value is then assigned to target
--target must be a variable (or constant) --value must be compatible with target's data
type
CSE 1301
Examples:int numPlayers = 10; // numPlayers holds 10numPlayers = 8; // numPlayers now holds 8
int legalAge = 18;int voterAge = legalAge;
The next statement is illegal
int height = weight * 2; // weight is not definedint weight = 20;
CSE 1301
• Declare a variable only once• Once a variable is declared, its data type
cannot be changed. These statements: double twoCents; double twoCents = .02;
generate a compiler error
CSE 1301
• Once a variable is declared, its data type cannot be changed.
These statements: double cashInHand; int cashInHand;
generate a compiler error
CSE 1301
Constants• Value cannot change during program execution• Syntax:const dataType constantIdentifier =assignedValue;
Note: assigning a value when the constant is declared is optional. But a value must be assigned before the constant is used.
CSE 1301
Constants
• Constants are useful for three important reasons• First, they give meaning to otherwise unclear literal
values– For example, MAX_LOAD means more than the literal 250
• Second, they facilitate program maintenance– If a constant is used in multiple places, its value need only
be updated in one place• Third, they formally establish that a value should not
change, avoiding inadvertent errors by other programmers
CSE 1301
Conventions
• Use all capital letters for constants and separate words with an underscore:
Example: const double TAX_RATE = .05;
• Declare constants at the top of the program so their values can easily be seen
• Declare as a constant any data that should not change during program execution
CSE 1301
Data Types
• For all data, assign a name (identifier) and a data type
• Data type tells compiler:– How much memory to allocate– Format in which to store data– Types of operations you will perform on data
• Compiler monitors use of data– C# is a "strongly typed" language
CSE 1301
Primitive Data Types
• 13 simple data types:– 8 subsets of integers– 2 subsets of floating point numbers– Character– Boolean– Decimal data type
• Everything else is an object
CSE 1301
Why so many types?
• Difference is in amount of memory reserved for each (and hence the size of the value stored
• float only has 7 significant digits• Signed numbers have both positive and
negative values• Unsigned numbers are >= 0
CSE 1301
Literals• All numeric values without a decimal point are considered int
• All numeric values with decimal point are considered double int testGrade = 100;
long cityPopulation = 425612340L; byte ageInYears = 19;
float salesTax = .05F; double interestRate = 0.725; double avogadroNumber = +6.022E23;
CSE 1301
Decimal Data Type
• 128 bit storage• greater precision and smaller range than other
numeric types• suitable for financial and monetary
calculations
CSE 1301
char Data Type
• One Unicode character (16 bits - 2 bytes)Type Size Minimum Value Maximum Value in Byteschar 2 character character encoded as 0 encoded as FFFF
Example declarations: char finalGrade = ‘A’; char newline, tab, doubleQuotes;