VB.NET 运算符与控制结构详解 - roadmap-retos-programacion 项目解析
前言
本文将通过 roadmap-retos-programacion 项目中的 VB.NET 代码示例,全面解析 VB.NET 中的各类运算符和控制结构。作为一门经典的面向对象编程语言,VB.NET 在运算符和控制流程方面有着自己独特的特点和语法规则。
运算符详解
算术运算符
VB.NET 提供了完整的算术运算符集,包括:
' 基本算术运算
Console.WriteLine("10 + 5 = " & (10 + 5)) ' 加法
Console.WriteLine("10 - 5 = " & (10 - 5)) ' 减法
Console.WriteLine("10 * 5 = " & (10 * 5)) ' 乘法
' 特殊除法运算
Console.WriteLine("5.0 / 2.0 = " & (5.0 / 2.0)) ' 浮点除法
Console.WriteLine("17 \ 4 = " & (17 \ 4)) ' 整数除法
Console.WriteLine("20 Mod 7 = " & (20 Mod 7)) ' 取模运算
' 幂运算
Console.WriteLine("Math.Pow(2, 3) = " & Math.Pow(2, 3)) ' 幂运算
特别需要注意的是 VB.NET 中有两种除法运算符:
/
执行标准除法,结果可能是浮点数\
执行整数除法,结果会被截断为整数
比较运算符
VB.NET 的比较运算符与其他语言略有不同:
Console.WriteLine("5 = 5 -> " & (5 = 5)) ' 等于(注意是单个=)
Console.WriteLine("5 <> 5 -> " & (5 <> 5)) ' 不等于
Console.WriteLine("4 < 5 -> " & (4 < 5)) ' 小于
Console.WriteLine("4 > 5 -> " & (4 > 5)) ' 大于
Console.WriteLine("4 <= 5 -> " & (4 <= 5)) ' 小于等于
Console.WriteLine("4 >= 5 -> " & (4 >= 5)) ' 大于等于
逻辑运算符
VB.NET 的逻辑运算符有自己独特的语法:
' AndAlso 是短路与运算
Dim resultadoAnd As Boolean = (5 = 5 AndAlso 6 <> 5)
' OrElse 是短路或运算
Dim resultadoOr As Boolean = (5 = 5 OrElse 6 <> 5)
' Not 是非运算
Dim resultadoNot As Boolean = Not (5 = 6)
注意 VB.NET 中有两种与/或运算:
And
/Or
:总是计算两边的表达式AndAlso
/OrElse
:短路运算,只在必要时计算第二个表达式
位运算符
VB.NET 支持完整的位运算:
' 位与运算
Dim resultado_And As String = Convert.ToString(10 And 5, 2)
' 位或运算
Dim resultado_Or As String = Convert.ToString(10 Or 5, 2)
' 位异或运算
Dim resultadoXor As String = Convert.ToString(10 Xor 5, 2)
' 位非运算
Dim resultado_Not As String = Convert.ToString(Not 10, 2)
' 位移运算
Dim resultado_Izquierda As String = Convert.ToString(10 << 2, 2) ' 左移
Dim resultado_Derecha As String = Convert.ToString(10 >> 1, 2) ' 右移
控制结构详解
条件语句
VB.NET 的条件语句包括:
' If-ElseIf-Else 结构
If x = 5 Then
Console.WriteLine("Si 5 == 5")
ElseIf x = 2 Then
Console.WriteLine("Si 2 == 2")
Else
Console.WriteLine("Ninguna")
End If
' 三元运算符(IIf 函数)
Console.WriteLine(IIf(15 = 15, "si es igual", "no es igual"))
' Select Case 结构(类似 switch)
Select Case num
Case 1
Console.WriteLine("Es 1")
Case 2
Console.WriteLine("Es 2")
Case Else
Console.WriteLine("null")
End Select
循环结构
VB.NET 提供了多种循环结构:
' For 循环
For i As Integer = 0 To 2
Console.WriteLine($"Iteración {i + 1}")
Next
' While 循环
Dim j As Integer = 0
While j < 3
Console.WriteLine($"Iteración {j + 1}")
j += 1
End While
' Do-Loop While 循环(类似 do-while)
Dim k As Integer = 0
Do
Console.WriteLine($"Iteración {k + 1}")
k += 1
Loop While k < 3
' For Each 循环(遍历集合)
Dim z() As Integer = {1, 2, 3}
For Each num2 In z
Console.WriteLine($"Número: {num2}")
Next
循环控制
VB.NET 提供了循环控制语句:
' Exit For 退出循环(类似 break)
For i As Integer = 1 To 3
If i = 4 Then
Exit For
End If
Next
' Continue For 跳过当前迭代(类似 continue)
For i As Integer = 1 To 3
If i Mod 2 = 0 Then
Continue For
End If
Next
异常处理
VB.NET 使用 Try-Catch-Finally 结构处理异常:
Try
Dim nu As Integer = 10
Console.WriteLine($"Resultado: {nu / 0}")
Catch e As DivideByZeroException
Console.WriteLine($"Error división: {e.Message}")
Finally
Console.WriteLine("finally")
End Try
实战练习
项目中的最后一个练习展示了如何综合运用这些知识:
' 打印10-55之间的偶数,排除16和3的倍数
For numero As Integer = 10 To 55
If numero Mod 2 = 0 AndAlso numero <> 16 AndAlso numero Mod 3 <> 0 Then
Console.WriteLine(numero)
End If
Next
这个练习综合运用了:
- For 循环
- If 条件判断
- 算术运算符(Mod)
- 逻辑运算符(AndAlso)
总结
通过 roadmap-retos-programacion 项目中的 VB.NET 示例,我们全面了解了 VB.NET 中的各类运算符和控制结构。掌握这些基础知识是学习 VB.NET 编程的重要一步,它们构成了程序逻辑的基本构建块。建议读者可以尝试修改这些示例代码,或者创建自己的练习来巩固这些概念。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考