先放上代码,再给大家详细解析:
class Squares
{
public static void WriteSquares()
{
int i = 0;
int j;
while (i < 10)
{
j = i * i;
Console.WriteLine($"{i} x {i} = {j}");
i++;
}
}
}
这段C#代码定义了一个名为Squares的类,并在其内部包含一个静态方法WriteSquares。这个方法的主要功能是计算并打印出从0到9(包括0和9)的所有整数的平方。
当调用Squares.WriteSquares()时,会发生以下过程:
- 初始化一个整数变量 i 为 0。
- 进入一个 while 循环,条件是 i < 10。
- 在循环体内:计算 i 的平方并将结果赋值给整数变量 j,即 j = i * i;使用C#的内插字符串语法($"{ }")来格式化输出,打印出形如 "i x i = j" 的字符串,其中 i 和 j 是当前循环迭代中的数值。然后将 i 的值加1,即 i++;,以便在下一次循环迭代中处理下一个整数。
- 当 i 达到10时,循环结束,因为条件 i < 10 不再满足。
执行此方法后,控制台将会依次打印出:
0 x 0 = 0
1 x 1 = 1
2 x 2 = 4
3 x 3 = 9
4 x 4 = 16
5 x 5 = 25
6 x 6 = 36
7 x 7 = 49
8 x 8 = 64
9 x 9 = 81
实际测试改成这样调用:
namespace ConsoleAppC
{
internal class Program
{
static void Main(string[] args)
{
Squares.WriteSquares();
}
}
static class Squares
{
public static void WriteSquares()
{
int i = 0;
int j;
while (i < 10)
{
j = i * i;
Console.WriteLine($"{i} x {i} = {j}");
i++;
}
}
}
}
方法主体可以声明特定于方法调用的变量。 此类变量称为局部变量。 局部变量声明指定了类型名称、变量名称以及可能的初始值。 上面的示例声明了初始值为零的局部变量 i 和无初始值的局部变量 j。C# 要求必须先明确赋值局部变量,然后才能获取其值。 例如,如果上述 i 的声明未包含初始值,那么编译器会在后续使用 i 时报告错误,因为在后续使用时 i 不会在程序中得到明确赋值。