欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > 005集——运算符和循环——C#学习笔记

005集——运算符和循环——C#学习笔记

2024/11/30 6:56:57 来源:https://blog.csdn.net/yongshiqq/article/details/141036605  浏览:    关键词:005集——运算符和循环——C#学习笔记

C# 提供了许多运算符。 其中许多都受到内置类型的支持,可用于对这些类型的值执行基本操作。 这些运算符包括以下组:

  • 算术运算符,将对数值操作数执行算术运算
  • 比较运算符,将比较数值操作数
  • 布尔逻辑运算符,将对 bool 操作数执行逻辑运算
  • 位运算符和移位运算符,将对整数类型的操作数执行位运算或移位运算
  • 相等运算符,将检查其操作数是否相等

通常可以重载这些运算符,也就是说,可以为用户定义类型的操作数指定运算符行为。

最简单的 C# 表达式是文本(例如整数和实数)和变量名称。 可以使用运算符将它们组合成复杂的表达式。 运算符优先级和结合性决定了表达式中操作的执行顺序。 可以使用括号更改由运算符优先级和结合性决定的计算顺序。

  • c = a++: 先将 a 赋值给 c,再对 a 进行自增运算。
  • c = ++a: 先将 a 进行自增运算,再将 a 赋值给 c 。
  • c = a--: 先将 a 赋值给 c,再对 a 进行自减运算。
  • c = --a: 先将 a 进行自减运算,再将 a 赋值给 c 。
  • 口诀:看变量a的左边是什么,左边是变量则先赋值变量,左边是+-号,则先+-
  • ,提供创建格式化字符串的便利语法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp1
{class Program{static void  Main()//C# 程序的入口点是 Main 而不是 main。Main 方法必须是静态的(static),并且它的首字母必须大写。{ var r = 2.3;var message = $"The area of a circle with radius {r} is {Math.PI * r * r:F3}.";//:F3 表示要将数值格式化为固定点数(fixed-point number),并保留小数点后三位。//同理F8保留8位小数Console.WriteLine(message);Console.ReadKey();}}
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp1
{class Program{static void Main()/*static 关键字用于声明 Main 方法是静态的,* 这意味着它属于类本身而不是类的任何特定实例。在 C# 程序中,* 程序的入口点(即程序开始执行的地方)必须是一个静态的 Main 方法。* 因此,你不能简单地将 static 关键字从 Main 方法的声明中去掉。*/{int[] numbers = { 2, 3, 4, 5 };//将数组里的每个数变为自身平方并且赋值给新变量,Enumerable.Select 方法var squaredNumbers = numbers.Select(n => n * n);// 遍历并打印结果  foreach (var num in numbers){Console.WriteLine($"平方前:\n{num}");}Console.WriteLine("平方后:");foreach (var num in squaredNumbers){Console.WriteLine(num);}Console.ReadKey();/**/}}
}

逻辑异或运算符 ^

^ 运算符计算操作数的逻辑异或(亦称为“逻辑 XOR”)。 如果 x 计算结果为 true 且 y 计算结果为 false,或者 x 计算结果为 false 且 y 计算结果为 true,那么 x ^ y 的结果为 true。 否则,结果为 false。 也就是说,对于 bool 操作数,^ 运算符的计算结果与不等运算符 != 相同。

即:ture 不等于 true ,结果假

true 不等于 假 ,结果真

Console.WriteLine(true ^ true);    // output: False
Console.WriteLine(true ^ false);   // output: True
Console.WriteLine(false ^ true);   // output: True
Console.WriteLine(false ^ false);  // output: False

对于整型数值类型的操作数,^ 运算符计算其操作数的位逻辑异或。

可以这么理解,^两边的人是死敌,当他们意见不同时才正常,返回真;他们意见相同时,见鬼了,肯定假的,返回假^_^

if 语句

if 语句可采用以下两种形式中的任一种:

  • 包含 else 部分的 if 语句根据布尔表达式的值选择两个语句中的一个来执行,如以下示例所示:

 switch语句

using System;namespace SwitchExample
{class Program{static void Main(string[] args){int 数字 = 3; // 假设这表示星期三  switch (数字){case  1:Console.WriteLine("Monday");Console.ReadKey();break;case 2:Console.WriteLine("Tuesday");Console.ReadKey();break;case 3:Console.WriteLine("星期三");Console.ReadKey();break;case 4:Console.WriteLine("Thursday");Console.ReadKey();break;case 5:Console.WriteLine("Friday");Console.ReadKey();break;case 6:Console.WriteLine("Saturday");Console.ReadKey();break;case 7:Console.WriteLine("Sunday");Console.ReadKey();break;default:Console.WriteLine("无效数字");Console.ReadKey();break;}}}
}

?:运算符
我们已经在前面的章节中讲解了 条件运算符 ? :,可以用来替代 if...else 语句。它的一般形式如下:

Exp1 ? Exp2 : Exp3;
 其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。

? 表达式的值是由 Exp1 决定的。如果 Exp1 为真,则计算 Exp2 的值,结果即为整个 ? 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,结果即为整个 ? 表达式的值。

 简化一下

是否是真?真执行这个:假执行这个

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com