上一章我介绍C#语言的变量与常量及类型转换,对C#语言的基础有了更进一步的认识。现在继续对C#基础的其他知识进行介绍。 本文介绍C#语言基础知识之运算符与表达式,是C#语言基础的第三篇。
日常生活中,我们会涉及到一些用加、减、乘、除等运算符组成表达式来计算,而在用C#来开发应用程序时也同样用到,本文就介绍C#的运算符与表达式的具体表述。
运算符是用于指示应用程序执行特定的数学或逻辑操作的各种不同运算的特殊符号。C#提供了丰富的运算符,其中大多都受到内置类型的支持,可对这些类型的值执行基本操作。
C#提供的运算符常见的类型包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符,下面将逐一介绍这些类型。
算术运算符
下表为C#内置支持的算术运算符:
参考示例
using System;
namespace Fountain.Net.Base.Sample
{
class Program
{
static void Main(string[] args)
{
// 定义一个整型变量 x
int x = 5;
// 定义一个整型变量 y
int y = 4;
// 定义一个整型变量 result,未赋值
int result;
// 两个变量进行加运算
result = x + y;
// 两个变量进行减运算
result= x - y;
// 两个变量进行乘运算
result = x * y;
// 两个变量进行除运算
result = x / y;
// 两个变量进行相除取余数运算
result = x % y;
// 变量x进行自增1运算
result = x++;
// 变量x进行自减1运算
result = x--;
Console.ReadLine();
}
}
}
关系运算符
下表为C#内置支持的关系运算符:
参考示例
逻辑运算符
下表为C#内置支持的逻辑运算符:
参考示例
using System;
namespace Fountain.Net.Base.Sample
{
class Program
{
static void Main(string[] args)
{
// 20的二进制为 0001 0100
int x = 20;
// 12的二进制为 0000 1100
int y = 12;
// 定义结果变量
int result = 0;
// 整型类型二进制与运算符
result = x & y;
// 结果=4
Console.WriteLine("20与12与运算结果{0}", result);
// 整型类型二进制或运算符
result = x | y;
// 结果=28
Console.WriteLine("20与12或运算结果{0}", result);
// 整型类型二进制异或运算符
result = x ^ y;
// 结果=2424
Console.WriteLine("20与12异或运算结果{0}{0}", result);
// 整型类型二进制按位求补运算
result = ~x;
//结果=-21
Console.WriteLine("20按位求补运算结果{0}", result);
// 整型类型二进制按位求补运算
result= x << 2;
// 结果=80
Console.WriteLine("20左移运算结果{0}", result);
// 整型类型二进制按位求补运算
result = x >> 2;
// 结果=5
Console.WriteLine("20右移运算结果{0}", result);
// 等待控制台输入
Console.ReadLine();
}
}
}
位运算符
下表为C#内置支持的位运算符:
参考示例
using System;
namespace Fountain.Net.Base.Sample
{
class Program
{
static void Main(string[] args)
{
// 20的二进制为 0001 0100
int x = 20;
// 12的二进制为 0000 1100
int y = 12;
// 定义结果变量
int result = 0;
// 整型类型二进制与运算符
result = x & y;
// 结果=4
Console.WriteLine("20与12与运算结果{0}", result);
// 整型类型二进制或运算符
result = x | y;
// 结果=28
Console.WriteLine("20与12或运算结果{0}", result);
// 整型类型二进制异或运算符
result = x ^ y;
// 结果=2424
Console.WriteLine("20与12异或运算结果{0}{0}", result);
// 整型类型二进制按位求补运算
result = ~x;
//结果=-21
Console.WriteLine("20按位求补运算结果{0}", result);
// 整型类型二进制按位求补运算
result= x << 2;
// 结果=80
Console.WriteLine("20左移运算结果{0}", result);
// 整型类型二进制按位求补运算
result = x >> 2;
// 结果=5
Console.WriteLine("20右移运算结果{0}", result);
// 等待控制台输入
Console.ReadLine();
}
}
}
赋值运算符
下表为C#内置支持的赋值运算符:
参考示例
// 定义一个对象
StringBuilder stringBuilder = new StringBuilder();
// 定义变量并赋值
int x=100;
// 接收控制台的输入
string name = Console.ReadLine();
// 获取 System.Type 对象
Type type = typeof(Int32);
C# 提供大量运算符,这些运算符是指定在表达式中执行哪些操作的符号,这些运算符号有一定的优先级,这些优先级会影响到一个表达式计算,表达式用到的常量与变量称为操作数。下表列出了按优先级顺序分组的 C# 运算符:
表达式是由一到多个操作数和零到多个运算符组合而成的操作系列。从表达式可以得到一个简单的值、方法或object引用。它的组成可以是常量、变量、方法调用、运算符、操作数等。
参考示例
// 定义一个对象
StringBuilder stringBuilder = new StringBuilder();
// 定义变量并赋值
int x=100;
// 接收控制台的输入
string name = Console.ReadLine();
// 获取 System.Type 对象
Type type = typeof(Int32);
C#中的运算符与表达式在开发过程使用到的频率很高,对它们要进行深入了解,熟悉其应用。通过本文介绍希望对大家有所帮助,可以尝试自己动手代码,如有问题可以留言提问。下一章将介绍程序的流程控制。