Math:提供一些关于数学而方面的函数,

使用Math函数一般都是通过Math.函数名,原因是函数是static(静态)函数,静态函数使用时通过类名打点函数进行使用

1.Abs()  求绝对值

Console.WriteLine(Math.Abs(-10));  //结果为10

2.Floor() 向下求整

Console.WriteLine(Math.Floor(2.3));  //结果为2
Console.WriteLine(Math.Floor(2.7));  //结果为2

3.Ceiling() 向上求整

Console.WriteLine(Math.Celing(2.3));  //结果为3
Console.WriteLine(Math.Celing(2.7));  //结果为3

4.Round() 四取六入五取偶数

Console.WriteLine(Math.Round(3.5));  //结果为4
Console.WriteLine(Math.Round(2.5));  //结果为2  五是中间值,再进行舍入到时候,取离他最近的偶数
Console.WriteLine(Math.Round(1.235,2));  //结果为1.24 第二个参数意为保留两位小数

//参数1: 2.5指定舍入的数据
//参数2   舍入的规则,如果 MidpointRounding.AwayFromZero 正常的四舍五入
//如果 MidpointRounding.ToEven 取最近的偶数

Console.WriteLine(Math.Round(2.5,MidpointRounding.AwayFromZero)); //结果为3
Console.WriteLine(Math.Round(2.5, MidpointRounding.ToEven)); //结果为2

5.Math的属性

Math.PI 圆周率

 Console.WriteLine(Math.PI);

6.幂运算Math.Pow方法

  • 用于计算一个数的指定次幂。
double baseNum = 2;
double exponent = 3;
double result = Math.Pow(baseNum, exponent); // result 为 8

7.平方根Math.Sqrt方法

  • 用于计算一个数的平方根。
double number = 25;
double squareRoot = Math.Sqrt(number); // squareRoot 为 5

8.最大值和最小值

  • Math.Max Math.Min 方法分别用于获取两个数中的最大值和最小值。
int a = 5;
int b = 10;
int maxValue = Math.Max(a, b); // maxValue 为 10
int minValue = Math.Min(a, b); // minValue 为 5

9.三角函数

  • 正弦、余弦和正切Math.SinMath.CosMath.Tan 方法分别用于计算角度的正弦、余弦和正切值。这些方法接受以弧度为单位的角度。
double angleInRadians = Math.PI / 2; // 90度,以弧度表示
double sineValue = Math.Sin(angleInRadians); // sineValue 约为 1
double cosineValue = Math.Cos(angleInRadians); // cosineValue 约为 0
double tangentValue = Math.Tan(angleInRadians); // tangentValue 为无穷大(在实际计算中会得到一个很大的数)

总结

方法名 作用
Math.Abs 获取一个数的绝对值
Math.Sqrt 计算一个数的平方根
Math.Pow 计算一个数的指定次幂
Math.SinMath.CosMath.Tan 计算角度(以弧度为单位)的正弦、余弦和正切值
-Math属性 使用Math.PI进行角度和弧度转换
Math.Ceiling 将小数向上取整到最接近的整数
Math.Floor 将小数向下取整到最接近的整数
Math.Round 将小数四舍五入到指定小数位数或最接近的整数
Math.Max Math.Min 获取两个数中的最大值和最小值

goto语句

在 C# 中,goto语句是一种无条件转移语句,它允许程序控制跳转到同一方法内的指定标签位置。虽然goto语句提供了一种强大的控制转移能力,但过度使用会使程序的逻辑变得复杂和难以理解,破坏程序的结构化,因此一般建议谨慎使用

    //goto 语句:在需要重复执行的代码前添加一个标记,在后面需要重复执行了只需要使用goto加上标记即可
inputSex:
    Console.WriteLine("请输入性别");
    string str = Console.ReadLine();
    if (str=="男")
    {
        Console.WriteLine("这个人是男性");
    }else if (str=="女")
    {
        Console.WriteLine("这个人是女性");
    }
    else
    {
        Console.WriteLine("性别输入错误,请重新输入");
        goto inputSex;
    }

可空类型

  • 定义:C# 中,可空类型允许值类型(如 intbooldouble 等)表示 null 值。因为常规值类型不能为 null,可空类型解决了值类型在某些场景下可能无有效值的问题,像数据库中可为空的字段。
  • 声明可空类型变量:在普通数据类型后面加个 ? 就行。比如:
  • int? age = null; // 声明一个可空的整数变量age,一开始没有值
    double? height = 1.75; // 声明可空的小数变量height,并且赋值1.75
    
  • 判断有没有值:用 HasValue 来看这个可空类型变量有没有值。像这样:
  • int? num = null;
    if (num.HasValue)
    {
        Console.WriteLine("有值呢,值是:" + num.Value);
    }
    else
    {
        Console.WriteLine("没有值哦");
    }
    
  • 安全取值:要是不确定可空类型变量有没有值,又想取值,可以用 ?? 这个符号。比如:
  • int? a = null;
    int result = a?? 10; 
    // 如果a有值,result就是它的值;要是没值,result就是10
    Console.WriteLine("结果是:" + result); 
    

双层 for 循环基础

  1. 概念:一个 for 循环内部包含另一个 for 循环,外层循环每执行一次,内层循环就会完整执行一轮。常用于处理二维数据,像打印图形、遍历二维数组等。
  2. 语法结构
for (初始化表达式1; 条件表达式1; 迭代表达式1)
{
    for (初始化表达式2; 条件表达式2; 迭代表达式2)
    {
        // 内层循环体,这里写要重复执行的代码
    }
    // 外层循环体剩余部分,一般很少写代码
}
  1. 示例 - 打印乘法表
class Program
{
    static void Main()
    {
        for (int i = 1; i <= 9; i++)
        {
            for (int j = 1; j <= i; j++)
            {
                Console.Write($"{j}×{i}={i * j}\t");
            }
            Console.WriteLine();
        }
    }
}
  • 代码解析
    • 外层 for 循环 for (int i = 1; i <= 9; i++) 控制乘法表的行数,i 从 1 变化到 9 。
    • 内层 for 循环 for (int j = 1; j <= i; j++) 控制每行的列数,j 的最大值取决于外层循环的 i ,这样每行的算式数量随行数增加。
    • 在内层循环体中,Console.Write($"{j}×{i}={i * j}\t"); 输出乘法算式,\t 是制表符,让输出更整齐。
    • 外层循环每次结束时,Console.WriteLine(); 换行,进入下一行的输出。

更多推荐