c#基础知识合集05 Math goto语句 可空类型 双层for循环
·
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.Sin、Math.Cos和Math.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# 中,可空类型允许值类型(如
int、bool、double等)表示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 循环基础
- 概念:一个
for循环内部包含另一个for循环,外层循环每执行一次,内层循环就会完整执行一轮。常用于处理二维数据,像打印图形、遍历二维数组等。 - 语法结构:
for (初始化表达式1; 条件表达式1; 迭代表达式1)
{
for (初始化表达式2; 条件表达式2; 迭代表达式2)
{
// 内层循环体,这里写要重复执行的代码
}
// 外层循环体剩余部分,一般很少写代码
}
- 示例 - 打印乘法表:
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();换行,进入下一行的输出。
- 外层
更多推荐
所有评论(0)