Presentation is loading. Please wait.

Presentation is loading. Please wait.

CIS 115 Lecture 5.  A storage location in memory (RAM)  Holds data/information while the program is running  These storage locations can be referred.

Similar presentations


Presentation on theme: "CIS 115 Lecture 5.  A storage location in memory (RAM)  Holds data/information while the program is running  These storage locations can be referred."— Presentation transcript:

1 CIS 115 Lecture 5

2  A storage location in memory (RAM)  Holds data/information while the program is running  These storage locations can be referred to by their names  Every variable has three properties:  Name - reference to the location - cannot be changed  Value - the information that is stored - can be changed during program execution, hence the name “variable”  Data Type - the type of information that can be stored - cannot be changed

3  You the programmer make up a name for the variable  Visual Basic associates that name with a location in the computer's RAM  The value currently associated with the variable is stored in that memory location  You simply use the name you chose when you need to access the value

4  Copy and store values entered by the user  Perform arithmetic manipulation on values  Test values to see if they meet a criteria  Temporarily hold and manipulate the value of a control property  Hold data/information so that it can be recalled for use at a later point in the code

5 Data type - Specifies type of data variable can store  Integer variables: Long, Integer, Short, Byte  Floating-point variables: Single, Double  Fixed decimal point variable: Decimal  Boolean variables: True, False  Character variable: Char  Text variable: String  The Object variable  Default data type assigned by Visual Basic  Can store many different types of data  Less efficient than other data types

6 Data typePrefixSizeValues Bytebyt1 bytepositive integer value from 0 to 255 Shortshr2 byteinteger from –32,768 to +32,767 Integerint4 byteinteger from +/- 2,147,483,647 Longlng8 byteinteger from +/- 9,223,372,036,854,775,807 Singlesng4 byte single-precision, floating-point number Doubledbl8 byte double-precision, floating-point number Decimaldec16 bytenumber with up to 28 significant digits Charchr2 byte Any single character Booleanbln2 byte True or False Stringstr(4 byte)Text - Any number/combination of characters Datedtm8 byte 8 character date: #dd/mm/yyyy# Objectobj(4 byte)An address that refers to an object

7  First character must be a letter or underscore  Must contain only letters, numbers, and underscores (no spaces, periods, etc.)  Can have up to 255 characters  Cannot be a VB language keyword  Naming Conventions  Should be meaningful  Follow 3 char prefix style - 1st 3 letters in lowercase to indicate the data type  After that, capitalize the first letter of each word  Example: intTestScore

8  A variable declaration is a statement that creates a variable in memory  Syntax: Dim VariableName As DataType  Dim (short for Dimension) - keyword  VariableName - name used to refer to variable  As - keyword  DataType - one of many possible keywords to indicate the type of value the variable will contain  Example: Dim intLength as Integer

9  A starting or initialization value may be specified with the Dim statement  Good practice to set an initial value unless assigning a value prior to using the variable  Syntax: Dim VariableName As DataType = Value  Just append " = value” to the Dim statement  = 5  assigning a beginning value to the variable  Example: Dim intLength as Integer = 5

10  Variable MUST be declared prior to the code where they are used  Variable should be declared first in the procedure (style convention)  Declaring an initial value of the variable in the declaration statement is optional  Refer to default values (next slide)

11 Data typeDefault (Initial) value All numeric typesZero (0) BooleanFalse CharBinary 0 String or ObjectEmpty Date12:00 a.m. on January 1, 0001

12  Actual value/data/information  Similar to a variable, but can NOT change during the execution of a program.  Examples of Literals:  Numeric: 5 ; 157 ; 195.38256  String: “Paul” ; “Hello!!!” ; “Jackson, AL 36545”  Char: ‘a’ ; ‘1’ ; ‘?’ ; ‘@’  Boolean: True ; False

13  Programs often need to use given values  For example: decTotal *= 1.06  Adds 6% sales tax to an order total  Two problems with using literals for these types of values  The reason for multiplying decTotal by 1.06 isn’t always obvious  If sales tax rate changes, must find and change every occurrence of.06 or 1.06

14  Use of named constants resolves both these issues  Can declare a variable whose value is set at declaration and cannot be changed later:  Syntax: Const CONST_NAME As DataType = Value Looks like a normal declaration except:  Const used instead of Dim  An initialization value is required  By convention, entire name capitalized with underscore characters to separate words

15  The objective of our code is now clearer  Const sngSALES_TAX_RATE As Single = 1.06  decTotal *= sngSALES_TAX_RATE  Can change all occurrences in the code simply by changing the initial value set in the declaration  If tax rate changes from 6% to 7%  Const sngSALES_TAX_RATE As Single = 1.07

16  What – Indicates the part of the program where the variable can be used  When – From the variable declaration until the end of the code block (procedure, method, etc.) where it is declared  Variable cannot be used before it is declared  Variable declared within a code block is only visible to statements within that code block ▪ Called Local Variable  Can be declared at the beginning of the class code window (General Declarations section) and be available to all blocks ▪ Called Form Level Variable  Variables that share the same scope cannot have the same name (same name ok if different scope)

17  What – Indicates the part of the program where the variable exists in memory  When – From the beginning of the code block (procedure, method, etc.) where it is declared until the end of that code block  When the code block begins the space is created to hold the local variables ▪ Memory is allocated from the operating system  When the code block ends the local variables are destroyed ▪ Memory is given back to the operating system

18  Syntax: variablename = expression  Assigns the value of the expression to the variable. (The variable must be on the left and the expression on the right.)  Example:  intNumber1 = 4  intNumber2 = 3 * (2 + 2)  intNumber3 = intNumber1  IntNumber1 = intNumber1 + 6

19  A value of one data type can be assigned to a variable of a different type  An implicit type conversion is an attempt to automatically convert to the receiving variable’s data type  A widening conversion suffers no loss of data  Converting an integer to a single  Dim sngNumber as Single = 5  A narrowing conversion may lose data  Converting a decimal to an integer  Dim intCount = 12.2‘intCount becomes 12

20  VB provides a set of functions that perform data type conversions  These functions will accept a literal, variable name, or arithmetic expression  The following narrowing conversions require an explicit type conversion  Double to Single  Single to Integer  Long to Integer  Boolean, Date, Object, String, and numeric types represent different sorts of values and require conversion functions as well

21  The Val function is a more forgiving means of performing string to numeric conversions  Uses the form Val(string)  If the initial characters form a numeric value, the Val function will return that  Otherwise, it will return a value of zero

22 Val FunctionValue Returned  Val("34.90“) 34.9  Val("86abc“)86  Val("$24.95“)0  Val("3,789“)3  Val("“)0  Val("x29“)0  Val("47%“)47  Val("Geraldine“) 0

23  Returns a string representation of the value in the variable calling the method  Every VB data type has a ToString method  Uses the form VariableName.ToString  For example Dim number as Integer = 123 lblNumber.text = number.ToString  Assigns the string “123” to the text property of the lblNumber control

24  Arithmetic Operators ^ Exponential * Multiplication / Floating Point Division \ Integer Division MODModulus (remainder from division) +Addition – Subtraction &String Concatenation (putting them together)

25  Examples of use:  decTotal = decPrice + decTax  decNetPrice = decPrice - decDiscount  dblArea = dblLength * dblWidth  sngAverage = sngTotal / intItems  dblCube = dblSide ^ 3

26  The backslash (\) is used as an integer division operator  The result is always an integer, created by discarding any remainder from the division  Example  intResult = 7 \ 2‘result is 3  shrHundreds = 157 \ 100‘result is 1  shrTens = (157 - 157 \ 100 * 100) \ 10 ‘result is ?

27  This operator can be used in place of the backslash operator to give the remainder of a division operation intRemainder = 17 MOD 3 ‘result is 2 dblRemainder = 17.5 MOD 3 ‘result is 2.5  Any attempt to use of the \ or MOD operator to perform integer division by zero causes a DivideByZeroException runtime error

28  Concatenate: connect strings together  Concatenation operator: the ampersand (&)  Include a space before and after the & operator  Numbers after & operator are converted to strings  How to concatenate character strings  strFName = "Bob"  strLName = "Smith"  strName = strFName & " “  “Bob ”  strName = strName & strLName  “Bob Smith”  intX = 1 intY = 2  intResult = intX + intY  strOutput = intX & “ + “ & intY & “ = “ & intResult  “ 1 + 2 = 3 ”

29  Often need to change the value in a variable and assign the result back to that variable  For example: var = var – 5  Subtracts 5 from the value stored in var OperatorUsageEquivalent toEffect +=x += 2x = x + 2Add to -= x -= 5x = x – 5Subtract from *= x *= 10x = x * 10Multiply by /= x /= yx = x / yDivide by \= x \= yx = x \ yInt Divide by &= x &= “.”x = x & “.”Concatenate

30  Operator precedence tells us the order in which operations are performed  From highest to lowest precedence:  Exponentiation (^)  Multiplicative (* and /)  Integer Division (\)  Modulus (MOD)  Additive (+ and -)  Parentheses override the order of precedence  Where precedence is the same, operations occur from left to right

31  Parenthesis  Exponential  Multiplication / Division  Integer Division  MOD  Addition / Subtraction  String Concatenation  Relational Operators (, >=, )  Logical Operators (AND, OR, NOT)

32  6 * 2 ^ 3 + 4 / 2 = 50  7 * 4 / 2 – 6 = 8  5 * (4 + 3) – 15 Mod 2 = 34  intX = 10  intY = 5  intResultA = intX + intY * 5'iResultA is 35  iResultB = (intX + intY) * 5'iResultB is 75  dResultA = intX - intY * 5 'dResultA is -15  dResultB = (intX - intY) * 5'dResultB is 25

33  Redo the Calculate Gross Pay example from Lecture 4 using variables.  Redo the Calculator from HW2 using variables.

34  Homework 3  Visual Basic - Variables  See handout for details and due date  Questions?


Download ppt "CIS 115 Lecture 5.  A storage location in memory (RAM)  Holds data/information while the program is running  These storage locations can be referred."

Similar presentations


Ads by Google