Visual Basic Variables Dr Md Abu Kausar Variables
Visual Basic Variables Dr. Md. Abu Kausar
Variables 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
How to Think About Variables 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
Usage of Variables 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
Choosing Data Type 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
Visual Basic Data Types Data type Prefix Size Values Byte Short Integer Long byt shr int lng 1 byte 2 byte 4 byte 8 byte positive integer value from 0 to 255 integer from – 32, 768 to +32, 767 integer from +/- 2, 147, 483, 647 integer from +/- 9, 223, 372, 036, 854, 775, 807 Single Double Decimal sng dbl dec 4 byte single-precision, floating-point number 8 byte double-precision, floating-point number 16 byte number with up to 28 significant digits Char Boolean chr bln 2 byte Any single character 2 byte True or False String Date Object str dtm obj (4 byte) Text - Any number/combination of characters 8 byte 8 character date: #dd/mm/yyyy# (4 byte) An address that refers to an object
Variable Names 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 - 1 st 3 letters in lowercase to indicate the data type After that, capitalize the first letter of each word Example: int. Test. Score
Declaring a Variable A variable declaration is a statement that creates a variable in memory Syntax: Dim Variable. Name As Data. Type Dim (short for Dimension) - keyword Variable. Name - name used to refer to variable As - keyword Data. Type - one of many possible keywords to indicate the type of value the variable will contain Example: Dim int. Length as Integer
Declaring and Initializing a Variable 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 Variable. Name As Data. Type = Value Just append " = value” to the Dim statement = 5 assigning a beginning value to the variable Example: Dim int. Length as Integer = 5
Variable Declaration Rules 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)
Default Values for Data Types Data type Default (Initial) value All numeric types Boolean Char String or Object Date Zero (0) False Binary 0 Empty 12: 00 a. m. on January 1, 0001
Literal 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
Named Constants Programs often need to use given values For example: dec. Total *= 1. 06 Adds 6% sales tax to an order total Two problems with using literals for these types of values The reason for multiplying dec. Total by 1. 06 isn’t always obvious If sales tax rate changes, must find and change every occurrence of. 06 or 1. 06
Named Constants (cont. ) 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 Data. Type = 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
Named Constants (cont. ) The objective of our code is now clearer Const sng. SALES_TAX_RATE As Single = 1. 06 dec. Total *= sng. SALES_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 sng. SALES_TAX_RATE As Single = 1. 07
Scope of Variables 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 Variables that share the same scope cannot have the same name (same name ok if different scope)
Lifetime of Variables 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
Assignment Statement 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: int. Number 1 = 4 int. Number 2 = 3 * (2 + 2) int. Number 3 = int. Number 1 Int. Number 1 = int. Number 1 + 6
Implicit Type Conversions 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 sng. Number as Single = 5 A narrowing conversion may lose data Converting a decimal to an integer Dim int. Count = 12. 2 ‘int. Count becomes 12
Explicit Type Conversions 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 to Integer Long to Integer Boolean, Date, Object, String, and numeric types represent different sorts of values and require conversion functions as well
The Val Function 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
The Val Function Val("34. 90“) Val("86 abc“) Val("$24. 95“) Val("3, 789“) Val("x 29“) Val("47%“) Val("Geraldine“) Value Returned 34. 9 86 0 3 0 0 47 0
The To. String Method Returns a string representation of the value in the variable calling the method Every VB data type has a To. String method Uses the form Variable. Name. To. String For example Dim number as Integer = 123 lbl. Number. text = number. To. String Assigns the string “ 123” to the text property of the lbl. Number control
Performing Calculations with Variables Arithmetic Operators ^ * / MOD + – & Exponential Multiplication Floating Point Division Integer Division Modulus (remainder from division) Addition Subtraction String Concatenation (putting them together)
Common Arithmetic Operators Examples of use: dec. Total = dec. Price + dec. Tax dec. Net. Price = dec. Price - dec. Discount dbl. Area = dbl. Length * dbl. Width sng. Average = sng. Total / int. Items dbl. Cube = dbl. Side ^ 3
Special Integer Division Operator The backslash () is used as an integer division operator The result is always an integer, created by discarding any remainder from the division Example int. Result = 7 2 ‘result shr. Hundreds = 157 100 ‘result shr. Tens = (157 - 157 100 * 100) ‘result is 3 is 1 10 is ?
Special Modulus Operator This operator can be used in place of the backslash operator to give the remainder of a division operation int. Remainder = 17 MOD 3 dbl. Remainder = 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 Divide. By. Zero. Exception runtime error
Concatenating Strings 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 str. FName = "Bob" str. LName = "Smith" str. Name = str. FName & " “ “Bob ” str. Name = str. Name & str. LName int. Y = 2 int. Result = int. X + int. Y str. Output = int. X & “ + “ & int. Y & “ = “ & int. Result “Bob Smith” int. X = 1 “ 1 + 2 = 3”
Combined Assignment Operators 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 Operator += -= *= /= = &= Usage Equivalent to Effect x += 2 x=x+2 Add to x -= 5 x=x– 5 Subtract from x *= 10 x = x * 10 Multiply by x /= y x=x/y Divide by x = y x=xy Int Divide by x &= “. ” x = x & “. ” Concatenate
Arithmetic Operator Precedence 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
All Operators Precedence Parenthesis Exponential Multiplication / Division Integer Division MOD Addition / Subtraction String Concatenation Relational Operators (< , >= , <>) Logical Operators (AND, OR, NOT)
Precedence Examples 6 7 5 * 2 ^ 3 + 4 / 2 = 50 *4/2– 6=8 * (4 + 3) – 15 Mod 2 = 34 int. X = 10 int. Y = 5 int. Result. A = int. X + int. Y * 5 i. Result. B = (int. X + int. Y) * 5 d. Result. A = int. X - int. Y * 5 d. Result. B = (int. X - int. Y) * 5 'i. Result. A is 35 'i. Result. B is 75 'd. Result. A is -15 'd. Result. B is 25
Programming Examples Redo the Calculate Gross Pay example Lecture 4 using variables. Redo the Calculator from HW 2 using variables. from
- Slides: 33