VB.NET 运算符与控制结构详解 - roadmap-retos-programacion 项目解析

VB.NET 运算符与控制结构详解 - roadmap-retos-programacion 项目解析

roadmap-retos-programacion Ruta de estudio basada en ejercicios de código semanales en 2024 de la comunidad MoureDev para aprender y practicar lógica usando cualquier lenguaje de programación. roadmap-retos-programacion 项目地址: https://gitcode.com/gh_mirrors/ro/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 编程的重要一步,它们构成了程序逻辑的基本构建块。建议读者可以尝试修改这些示例代码,或者创建自己的练习来巩固这些概念。

roadmap-retos-programacion Ruta de estudio basada en ejercicios de código semanales en 2024 de la comunidad MoureDev para aprender y practicar lógica usando cualquier lenguaje de programación. roadmap-retos-programacion 项目地址: https://gitcode.com/gh_mirrors/ro/roadmap-retos-programacion

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韶丰业

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值