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

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

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

最简单的 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 的值,结果即为整个 ? 表达式的值。

 简化一下

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值