variables, constants, and calculations. data — variables and constants (1 of 2) variable memory...

42
Variables, Constants, and Calculations

Post on 19-Dec-2015

233 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Variables, Constants, and Calculations

Page 2: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Data — Variables and Constants (1 of 2)

VariableMemory locations that hold data that can

be changed during project executionExample: customer’s name

Named ConstantMemory locations that hold data that

cannot be changed during project execution

Example: sales tax rate

Page 3: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Data — Variables and Constants (2 of 2)

In Visual Basic, when you declare a Variable or Named Constant An area of memory is reservedA name is assigned called an IdentifierFollow rules and naming conventions

Use Declaration Statements to establish Variables and Constants,Assign name and data type,Not executable unless initialized on same

line

Page 4: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Data Types Data Type Use For Storage Size in bytes

Boolean True or False value 2

Byte 0 to 255, binary data 1

Clear Single Unicode character 2

Date 1/1/0001 through 12/31/9999 8

Decimal Decimal fractions, such as dollars/cents 16

Single Single precision floating-point numbers with six digits of accuracy

4

Double Double precision floating-point numbers with 14 digits of accuracy

8

Short Small integer in the range -32,768 to 32,767 2

Integer Whole numbers in the range -2,147,483,648 to +2,147,483,647

4

Long Larger whole numbers 8

String Alphanumeric data: letters, digits, and other characters Varies

Object Any type of data 4

Page 5: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Naming Variables and Constants

Must follow Visual Basic Naming RulesShould follow Naming Conventions

Meaningful names consisting of letters, digits, and underscores; must begin with a letter and no spaces or periods. Include class (data type) of variable (QUOTA_Integer)

Use mixed case for variables and uppercase for constants (quantityInteger).

Cannot use reserved words or keywords to which Basic has assigned a meaning, such as print, name, and value

Page 6: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Constants

Named User assigned name, data type, and value Use CONST keyword to declare.

Intrinsic System defined within Visual Studio

Const COMPANY_ADDRESS_String As String = "101 S. Main Street"Const SALES_TAX_RATE_Decimal As Decimal = .08D

Page 7: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Assigning Values to Constants

Decimal D Decimal – 850.50D

Double R Double – 52875.8R

Integer I Integer – 12345678I

Long L Long – 134257987L

Short S

Single F Single – 101.25F

Declare the data type of numeric constants by appending a type-declaration character.

Page 8: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Declaring Variables

Declared inside a procedure using a Dim statement

Declared outside a procedure using Public, Private, or Dim statements

Always declare the variable’s data type.May declare several variables with one

statement.Use IntelliSense to assist in writing

statements.

Page 9: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Declaration Statement Examples

Dim customerNameString As String

Private totalSoldInteger As Integer

Dim temperatureSingle As Single

Dim priceDecimal As Decimal

Private priceDecimal As Decimal

Page 10: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Scope and Lifetime of Variables (1 of 2)

Visibility of a variable is its scope.Scope may be

Namespace Module level Local Block level

Lifetime of a variable is the period of time the variable exists.

Page 11: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Module Level Variable Declaration Example

Code module-level declarations in the Declaration section at the top of the code.

Page 12: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Calculations

Calculations can be performed with variables, constants, properties of certain objects, and numeric literals.

Do not use strings in calculations.Values from Text property of Text Boxes

Are strings, even if they contain numeric data

Must be converted to a numeric data type before performing a calculation

Page 13: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Converting Strings to aNumeric Data Type

Use Parse methods to convert the Text property to its numeric form before it’s used in a calculation.

Each numeric data type class has a Parse method.

Parse method returns a value that can be used in calculations.

Parse method fails if user enters nonnumeric data or leaves data blank.

Page 14: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Converting to String

Values assigned to string variables or Text properties must be string.

Convert any numeric data type to string using .ToString method.

Examples:ResultTextBox.Text = ResultDecimal.ToString()CountTextBox.Text = CountInteger.ToString()IDString = IDInteger.ToString()

Page 15: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Conversion Methods

MethodConvert ToInteger.Parse IntegerDecimal.Parse Decimal.ToString String

Page 16: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Conversion Examples

QuantityInteger =Integer.Parse(quantityTextBox.Text)PriceDecimal =Decimal.Parse(priceTextBox.Text)WholeNumberInteger =Integer.Parse(digitString)ResultTextBox.Text =ResultDecimal.ToString( )CountTextBox.Text =CountInteger.ToString( )IDString =IDInteger.ToString( )

Page 17: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Arithmetic Operations

Operator Operation+ Addition– Subtraction* Multiplication/ Division\ Integer Division

Mod Modulus – Remainder of division

^ Exponentiation

Page 18: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Order of Operations

Hierarchy of operations, or order of precedence, in arithmetic expressions from highest to lowest

1. Any operation inside parentheses2. Exponentiation3. Multiplication and division4. Integer division5. Modulus6. Addition and subtraction

Page 19: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Evaluation of Expression

1. All operations within parentheses. Multiple operations within the parentheses are performed according to the rules of precedence.

2. All exponentiation. Multiple exponentiation operations are performed from left to right.

3. All multiplication and division. Multiple operations are performed from left to right.

4. All integer division. Multiple operations are performed from left to right.

5. Mod operations. Multiple operations are performed from left to right.

6. All addition and subtraction are performed from left to right.

Page 20: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Mathematical Examples

Note the use of parentheses to control order of precedence.

3+4*2 = 11 Multiply then add(3+4)*2 = 14 Parentheses control: add then multiply8/4*2 = 4 Same level, left to right: divide then multiply

Page 21: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Using Calculations in Code

Perform calculations in assignment statements.

What appears on right side of assignment operator is assigned to item on left side.

Assignment operators — allows shorter versions of code =, +=, -=, *=, /=, \=, &=

‘Accumulate a total.

TotalSalesDecimal += salesDecimal

Page 22: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Option Explicit and Option Strict

Option Explicit forces variables to be declared before using.

Option Strict Makes VB a strongly typed language like C++,

Java and C# Does not allow implicit conversions from a wider

data type to a narrower one or between String and numeric data types

Best practice to always turn on either in code or in Project Properties dialog box

Page 23: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Converting Between Numeric Data Types

Implicit (automatic) conversionConverts value from narrower data type to

wider type where no danger of losing precision exists

Explicit conversion (casting)Uses methods of Convert class to convert

between data typesConvert Class has methods that begin with

“To” for each of the data types.

Page 24: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Performing Calculations with Unlike Data Types

VB performs the calculations using the wider data type.

Use a cast if converting the result to a different data type.

Example:Convert.ToInt32(CountInteger / NumberDecimal) or

Convert.ToSingle(CountInteger / NumberDecimal).

VB does not convert to a different data type until it is necessary.

Page 25: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Rounding Numbers

Round decimal fractions Decimal.Round method returns a decimal result rounded to a

specified number of decimal positions. Decimal.Round and Convert methods use technique called

“rounding toward even.”

Decimal Value to Round

Number of Decimal Positions Results

1,455 2 1.46

1,455 2 1.44

1.5 0 2

2.5 0 2

Page 26: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Formatting Data for Display

To display numeric data in a label or text box, first convert value to string.

Use ToString method

Format the data using formatting codes. Specifies use of dollar sign, percent sign, and

commas Specifies number of digits that appear to right

of decimal point

DisplayTextBox.Text = NumberInteger.ToString()

Page 27: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Using Format Specifier Codes

"C" code Currency — String formatted with dollar sign,

commas separating each group of 3 digits and 2 digits to the right of decimal point

"N" code Number — String formatted with commas

separating each group of 3 digits and 2 digits to the right of decimal point

Can specify number of decimal positions Example: "C0" zero digits

Page 28: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Format Specifier Codes

Format Specifier Codes Name

C or c Currency

F or f Fixed-point

N or n Number

D or d Digits

P or p Percent

Page 29: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Format Specifier Code Examples

Variable Value Code Output

totalDecimal 1125.6744 "C" $1,125.67

totalDecimal 1125.6744 "N0" 1,126

pinInteger 123 "D6" 000123

rateDecimal 0.075 "P" 7.50%

rateDecimal 0.075 "P3" 7.500%

rateDecimal 0.075 "P0" 8%

valueInteger -10 "C" ($10.00)

Page 30: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Date Specifier Code

Format DateTime values using format codes and ToString method.

Date codes are case sensitive.

Page 31: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Handling Exceptions

Use structured exception handling to easily catch errors before run-time error occurs.

Catching exceptions is referred to as error trapping.

Coding to handle exception is called error handling.

Error handling in Visual Studio.NET is standardized for all languages using the Common Language Runtime, CLR, which improves on previous versions of VB.

Page 32: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Try/Catch Blocks

Enclose statements that might cause an error within Try/Catch block.

If an exception occurs while statements in the Try block are executing, program control is transferred to the Catch Block.

If a Finally statement is included, the code in that section executes last, whether or not an exception occurred.

Page 33: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Try Block — General Form

Try‘statements that may cause an error

Catch [VariableName As ExceptionType]‘statements for action when an exception occurs

[Finally‘statements that always execute before exit of the Try

block]End Try

Page 34: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Try Block — ExampleCatches Any Exception

TryQuantityInteger = Integer.Parse(QuantityTextBox.Text)QuantityTextBox.Text = QuantityInteger.ToString( )

CatchMessageLabel.Text = "Error in input data."

End Try

Page 35: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Try Block — ExampleCatches Specific Exception

This Catch statement catches bad input data that cannot be converted to numeric.

Catch theException As FormatExceptionMessageLabel.Text="Error in input data."

End Try

Page 36: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Common Exception Classes

Each exception is an instance of the Exception class. The properties of this class allow you to determine the code location of the error, the type of error, and cause.

Page 37: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Try Block — ExampleHandling Multiple Exceptions

Catch TheException As FormatException' Statements for nonnumeric data.

Catch TheException As ArithmeticException' Statements for calculation problem.

Catch TheException As Exception' Statements for any other exception.

Page 38: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

MessageBox Object (1 of 2)

The MessageBox is an overloaded method. Signatures correspond to the argument list. There are multiple signatures to choose from. Do not reverse, transpose, or leave out any of the arguments. IntelliSense displays argument list (also called signatures).

MessageBox.Show (TextMessage, TitlebarText, _ MessageBoxButtons, MesssageBoxIcon)

Page 39: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

MessageBox Object (2 of 2)

TextMessage string String literal or variable that displays message

Title Bar text String that appears in title bar of message box

MessageBox Buttons OK, OKCancel, RetryCancel, YesNo, YesNoCancel,

AbortRetryIgnoreMessageBox Icons

Asterisk, Error, Exclamation, Hand, Information, None, Question, Stop, Warning

Page 40: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Using Overloaded Methods

This OOP feature allows the Show method to act differently for different arguments.

Each argument list is called a signature so the Show method has several signatures.

Supplied arguments must exactly match one of the signatures provided by the method.

IntelliSense in Visual Studio editor helps when entering arguments so that they don’t need to be memorized.

Page 41: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Testing Multiple Fields

Each input field presents an opportunity for an exception.

To indicate specific fields that caused the exception, use nested Try/Catch blocks.

Pinpoints specific errors, and after error, sets focus back to field in error

Use SelectAll method of text box to make text appear selected to aid user.

Page 42: Variables, Constants, and Calculations. Data — Variables and Constants (1 of 2) Variable  Memory locations that hold data that can be changed during

Counting and Accumulating Sums

Declare module-level variables, since local level variables reset to 0 each time the procedure is called.

Summing Numbers

Counting

Calculating an Average

DiscountedPriceSumDecimal += DiscountedPriceDecimal

Private saleCountInteger As IntegersaleCountInteger += 1

AverageDiscountedSaleDecimal = DiscountedPriceSumDecimal / SaleCountInteger