ZetCode

Visual Basic 词法结构

最后修改于 2023 年 10 月 18 日

计算机语言,就像人类语言一样,具有词法结构。 Visual Basic 程序的源代码由标记组成。 标记是原子代码元素。 在 Visual Basic 中,我们有注释、变量、字面量、运算符、分隔符和关键字。

Visual Basic 程序由 Unicode 字符集中的字符组成。

注释

注释 供人们用来阐明源代码。 Visual Basic 中的所有注释都以 ' 字符或 Rem 关键字开头。

Program.vb
Option Strict On

' This is comments.vb
' Author: Jan Bodnar
' ZetCode 2022

Module Example

    Rem program starts here
    Sub Main()

        Console.WriteLine("This is comments.vb")

    End Sub

End Module

Visual Basic 编译器会忽略注释。

空格

Visual Basic 中的空格用于分隔源文件中的标记。 它用于提高源代码的可读性。

Dim i As Integer

在某些地方需要空格。 例如,在 Dim 关键字和变量名之间。 在其他地方,这是被禁止的。 它不能出现在变量标识符或语言关键字中。

a=1
b = 2
c  =  3

Visual Basic 编译器不关心标记之间放置了多少空格。

变量

变量 是一个标识符,它保存一个值。 在编程中,我们说我们将一个值分配给一个变量。 从技术上讲,变量是对计算机内存的引用,值存储在其中。 变量名可以包含字母数字字符和下划线。 标识符可以以字符或下划线开头。 它不能以数字开头。 变量名不区分大小写。 这意味着 NamenameNAME 指的是同一个变量。 变量名也不能与语言关键字匹配。

Dim name23 As String
Dim col As Integer
Dim birthdate As Date

这些是有效的 Visual Basic 标识符。

Program.vb
Option Strict On

Module Example

    Sub Main()

        Dim name As String = "Robert"
        Dim Name As String = "Julia"

        Console.WriteLine(name)
        Console.WriteLine(Name)

    End Sub

End Module

此代码将无法编译,因为标识符不区分大小写。

字面量

字面量 是特定类型的特定值的文本表示。 字面量类型包括布尔型、整型、浮点型、字符串、字符型和日期型。 从技术上讲,字面量将在编译时被赋值,而变量将在运行时被赋值。

Dim age As Byte = 29
Dim nationality As String = "Hungarian"

在这里,我们将两个字面量分配给变量。 数字 29 和字符串“Hungarian”是字面量。

Program.vb
Option Strict On

Module Example

    Sub Main()

        Dim sng As Boolean = True
        Dim name As String = "James"
        Dim job As String = Nothing
        Dim age As Byte = 23
        Dim weight As Single = 68.5
        Dim born As DateTime = DateValue("November 12, 1987")

        Console.WriteLine("His name is {0}", name)

        If sng Then
            Console.WriteLine("He is single")
        Else
            Console.WriteLine("He is in a relationship")
        End If

        Console.WriteLine("His job is {0}", job)
        Console.WriteLine("He weighs {0} kilograms", weight)
        Console.WriteLine("He was born in {0}", Format(born, "yyyy"))

    End Sub

End Module

在上面的例子中,我们有其他的字面量。 布尔字面量可以取值 TrueFalseJames 是一个字符串字面量。 Nothing 代表任何数据类型的默认值。 23 是一个整型字面量。 68.5 是一个浮点型字面量。 最后,November 12, 1987 是一个日期字面量。

$ dotnet run
His name is James
He is single
His job is
He weighs 68.5 kilograms
He was born in 1987

运算符

运算符 是用于对某个值执行操作的符号。

+    -    *    /    \    ^     &
=    +=   -=   *=   /=   \=    ^=
<    >    &=  >>=   <<=   >=   <=
>>   <>   <<

这些是 Visual Basic 运算符。 我们将在本教程后面讨论运算符。

分隔符

分隔符是一个或多个字符的序列,用于指定纯文本或其他数据流中各个独立区域之间的边界。

(   )   {   }   !   #   ,   .   :   :=   ?

这些是 Visual Basic 分隔符。

Dim language As String = "Visual Basic"

双字符用于标记字符串的开头和结尾。

Console.WriteLine("Today is {0}", GetToday)

括号(方括号)用于标记方法签名。 签名由方法参数组成。 花括号用于表示计算值。

Dim array() As Integer = { 2, 4, 5, 6, 7, 3, 2 }

花括号也用于创建数组。

关键字

关键字是 Visual Basic 语言中的保留字。 关键字用于在计算机程序中执行特定任务。 例如,打印一个值,执行重复性任务或执行逻辑运算。 程序员不能将关键字用作普通变量。

Visual Basic 有很多关键字。 其中许多将在本教程中进行解释。 关键字包括 IfElseDimForDateDoubleOrExit 等等。

Program.vb
Option Strict On

Module Example

    Sub Main()

        Dim i As Integer

        For i = 0 To 35 Step 5
            Console.WriteLine(i)
        Next

    End Sub
End Module

在上面的例子中,我们使用以下关键字:OptionOnModuleSubDimAsIntegerForToStepNextEnd 都是 Visual Basic 关键字。

在本 Visual Basic 教程中,我们介绍了 Visual Basic 语言的基本词汇。