科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件针对 Java 开发人员的 C# 编程语言(9)

针对 Java 开发人员的 C# 编程语言(9)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

针对 Java 开发人员的 C# 编程语言流程控制

来源:MSDN 2007年11月7日

关键字: 编程语言 C# java Linux

  • 评论
  • 分享微博
  • 分享邮件

流程控制

在这两种语言中,流程控制语句是非常相似的,但是这一部分也会讨论它们的一些细微差别。

分支语句

分支语句根据特定的条件改变运行时程序执行的流程。

if、else 和 else if

这些在两种语言中是一样的。

switch 语句

在两种语言中,switch 语句都提供条件多分支操作。但是有点不同的是,Java 允许您“越过”一个 case 并执行下一个 case,除非您在 case 的末尾使用了 break 语句。然而,C# 需要在每个 case 的末尾都使用 break 或 goto 语句,如果两者都不存在,则编译器会产生下列错误:

Control cannot fall through from one case label to another.

不过请注意,在没有指定要执行的代码的地方,当 case 匹配时,控制会越过随后的 case。当在 switch 语句中使用 goto 时,我们只能跳至同一 switch 中的另一个 case 块。如果我们想要跳至 default case,我们可以使用“goto default;”,否则,我们需要使用“goto case cond;”,其中 cond 是我们希望跳至的 case 的匹配条件。Java 的 switch 语句的另一个不同之处在于,在 Java 中,我们只能对整数类型使用 switch 语句,而 C# 允许我们对字符串变量使用 switch 语句。

例如,下面的程序在 C# 中是合法的,但在 Java 中却是不合法的:

switch (args[0])
{
  case "copy":
    ...
    break;
  case "move":
    ...
    goto case "delete";
    break;
  case "del":
  case "remove":
  case "delete":
    ...
    break;
  default:
    ...
    break;
}

goto 的返回

在 Java 中,goto 是一个没有实现的保留关键字。然而,我们可以使用带有 break 或 continue 标签的语句来达到与 goto 相似的目的。

C# 允许 goto 语句跳至带有标签的语句。不过请注意,为了跳至一个特定的标签,goto 语句必须在该标签的范围内。换句话说,goto 不可用来跳进一个语句块(不过,它可以跳出一个语句块)、跳出一个类,或退出 try...catch 语句中的 finally 块。不过请注意,在大多数情况下,我们都不鼓励您使用 goto,因为它违反了面向对象编程的良好实践。

循环语句

循环语句重复指定的代码块,直到满足给定的条件为止。

for 循环

在两种语言中,for 循环的语法和操作均相同:

for (initialization; condition; expression)
  statement;
foreach 循环

C# 引入了一种新的循环类型,称为 foreach 循环(类似于 Visual Basic 的 For Each)。foreach 循环允许遍历支持 IEnumerable 接口的容器类中的每一项(例如:数组)。下面的代码说明了如何使用 foreach 语句来输出一个数组的内容:

public static void Main()
{
  int[] arr1= new int[] {1,2,3,4,5,6};
  foreach ( int i in arr1)
  {
    Console.WriteLine("Value is {0}", i);
  }
}

C# 中的数组部分,我们将更详细地介绍 C# 中的数组。

while 和 do...while 循环

在两种语言中,while 和 do...while 语句的语法和操作均相同:

while (condition)
{
  //statements
}

As usual, don't forget the trailing ; in do...while loops:

do
{
  //statements
}
while(condition);
查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章