Vous êtes sur la page 1sur 29

CSCI 3327 Visual Basic

Chapter 4: Control Statements in


Visual Basic (Part 2)

UTPA – Fall 2011


Objectives
• In this chapter, you will:
– Learn more control structures
• Repetition statements
– For … Next, Do … Loop While, Do … Loop Until
• Selection
– Select … Case
– Know how to use Exit and Continue statements to
break or terminate the current iteration
– Learn how to use logical operators

2
In the Last Class: Repetition
Structure
• Visual Basic provides 7 repetition statements
– Do While … Loop
– While … End While
– Do Until … Loop
– Do … Loop While
– Do … Loop Until
– For … Next
– For Each … Next

3
Example of For … Next Repetition
Statement
• Output even numbers between 2 and 10
– For counter As Integer = 2 To 10 Step 2
– outputLabel.Text &= counter & " "
– Next

4
Discussions on For … Next
Repetition Statement
• For counter As Integer = 2 To 10 Step 2 …
Next
– Keywords: For, To, Step, Next
– "counter As Integer" declares a counter of integer
data type
• counter – control variable name
• Integer – control variable type
– Initial value of control variable – 2
– Final value of control variable – 10
5
Discussions on For … Next
Repetition Statement (cont'd)
• For counter As Integer = 2 To 10 Step 2 …
Next
– Increment of control variable – Step 2
– If "Step 2" is missing, the default value is 1
• Output all integers from 2 to 10
• For counter As Integer = 2 To 10
outputLabel.Text &= counter & " "
Next
• Result: 2, 3, 4, 5, 6, 7, 8, 9, 10

6
General Form of a For … Next
Statement
• For initialization To finalValue Step increment
statement
Next

7
Other Examples of For … Next (1)
• Declaring the control variable before a
For…Next Statement
– Dim counter As Integer
For counter = 2 To 10 Step 2
outputLabel.Text &=counter & " "
Next
• Using expressions in the For…Next statement
– For j As Integer = x To 4*x*y Step y \ x

8
Other Examples of For … Next (2)
• Default increment: 1
– For i = 1 To 100
– For i = 1 To 100 Step 1
• Decrement
– For i = 100 To 1 Step -1

9
Example 5.5: InterestCalculator.vb
• URL:
http://media.pearsoncmg.com/ph/esm/deitel/vb
_htp_2010/codeexamples.html

10
Example 5.5: InterestCalculator.vb
(cont'd)
• NumericUpDown control
– Minimum property
– Maximum property
– Increment property
– Value property

11
Example 5.5: InterestCalculator.vb
(cont'd)
• Val(…) function
– Convert strings to numbers
– Dim principal As Decimal =
Val(principalTextBox.Text)
– Ignores white space in the string
• E.g. "33 5" will be converted to 335
• vbTab
– Format by adding a tab

12
Example 5.5: InterestCalculator.vb
(cont'd)
• String.Format("{0:C}", amount)
– Output variable amount in currency format
– E.g., $1,050.00
• TextChanged event of controls TextBox and
NumericUpDown
– resultListBox.Items.Clear()

13
Nested Repetition Statements
• For i = 1 To 10 Step 1
For j = 1 To 20 Step 2

Next i
Next j

14
Example 5.8:
SquareOfCharacters.vb
• URL:
http://media.pearsoncmg.com/ph/esm/deitel/vb
_htp_2010/codeexamples.html

15
Example 5.8:
SquareOfCharacters.vb (cont'd)
• For row As Integer = 1 To sideLength
• For column As Integer = 1 To sideLength
• outputTextBox.AppendText(fillCharacter & " ")
• Next column
• outputTextBox.AppendText(vbCrLf)
• Next row

16
Do…Loop While and Do…Loop
Until Repetition Statements
• The loop body is always executed at least once
Dim product As Integer = 1
Do
product = product * 3
Loop While product <=100
-------------------------------------------------------------------------------
Dim product As Integer = 1
Do
product = product * 3
Loop Until product >100
17
Use Exit to Terminate Repetition
Statements
• Exit Do
– Terminate the repetition statements such as:
• Do While…Loop, Do Until…Loop, Do…Loop While,
Do…Loop Until
• Exit For
– Terminate For…Next
• Exit While
– Terminate While…End While
• Exit Select
– Terminate Select…Case
18
Use Continue in Repetition
Statements
• Continue statement only terminates the current
iteration
• Continue Do
– Terminate the repetition statements such as:
• Do While…Loop, Do Until…Loop, Do…Loop While,
Do…Loop Until
• Continue For
– Terminate For…Next
• Continue While
– Terminate While…End While
19
In the Last Class: Selection
Structure
• If … Then
• If … Then … Else
• Select … Case
[grade>=60] display
"passed"

[grade<60]

20
Multiple-Selection Statement:
Select … Case
Select Case grade
Case 100
perfectScoreCount += 1 ' increment perfectScoreCount
aCount += 1 ' increment aCount
Case 90 To 99 ' grade was between 90 and 99
aCount += 1 ' increment aCount
Case 80 To 89 ' grade was between 80 and 89
bCount += 1 ' increment bCount
Case 70 To 79 ' grade was between 70 and 79
cCount += 1 ' increment cCount
Case 60 To 69 ' grade was between 60 and 69
dCount += 1 ' increment dCount
Case Else ' grade was less than 60
fCount += 1 ' increment fCount
End Select 21
Multiple-Selection Statement:
Select … Case
• Case Else is optional
• If no case matches and there is no Case Else,
then program control continues with the first
statement after Select … Case
• End Select terminates the Select … Case
statement

22
Example 5.9: ClassAverage.vb
• URL:
http://media.pearsoncmg.com/ph/esm/deitel/vb
_htp_2010/codeexamples.html
• TextBox
– gradeTextBox.Focus()
gives the focus to the
gradeTextBox
– String.Empty

23
Logical Operators
• Logical And operator
– If gender = "F" And age >=65 Then
– seniorFemales += 1
– End If
Expression 1 Expression 2 Expression 1 And
Expression 2
False False False
False True False
True False False
True True True 24
Logical Operators (cont'd)
• Logical Or Operator
Expression 1 Expression 2 Expression 1 Or
Expression 2
False False False
False True True
True False True
True True True

25
Short-Circuit Evaluation
• AndAlso
– If gender = "F" AndAlso age >=65
– If gender is not "F", then "age >=65" will not be
evaluated
• OrElse
– If gender = "F" OrElse age >=65
– If gender is "F", then "age >=65" will not be
evalutated

26
Other Logical Operators
• Logical Xor operator
Expression 1 Expression 2 Expression 1 Xor
Expression 2
False False False
False True True
True False True
True True False
• Logical Not operator
– If Not (value = 0) Then …

27
Rules of Operator Precedence
priority
• ^
• +, - (sign operations) high
• *, /
• \
• Mod
• +, - (addition and subtraction)
• &
• =, <>, <, <=, >, >= (equality and relational)
• Not
• And, AndAlso
• Or, OrElse
• Xor
• =, +=, -=, *=, /=, \=, ^=, &=
low

28
29

Vous aimerez peut-être aussi