C#运算符
运算符
C#运算符分类:
- 算数运算符
- 关系运算符
- 逻辑运算符
- 复合赋值运算符
- 位运算符
- 其他运算符
运算符优先级(由高到低)
类别 | 运算符 | 结合性 |
---|---|---|
后缀 | () [] -> . ++ - - | 从左到右 |
一元 | + - ! ~ ++ - - (type)* & sizeof | 从右到左 |
乘除 | * / % | 从左到右 |
加减 | + - | 从左到右 |
移位 | << >> | 从左到右 |
关系 | < <= > >= | 从左到右 |
相等 | == != | 从左到右 |
位与 AND | & | 从左到右 |
位异或 XOR | ^ | 从左到右 |
位或 OR | | | 从左到右 |
逻辑与 AND | && | 从左到右 |
算数运算符
算数运算符分为一元运算符和二元运算符
一元:++、–
二元:*、/、%、+、-,=
=赋值运算符
+加运算符
-运算符
*乘运算符
/除法运算符
%求余运算符
++自增运算符
–自减运算符
关系运算符
运算符 | 描述 | 实例 |
---|---|---|
== | 检查两个操作数的值是否相等,如果相等则条件为真。 | (A == B) 不为真。 |
!= | 检查两个操作数的值是否相等,如果不相等则条件为真。 | (A != B) 为真。 |
> | 检查左操作数的值是否大于右操作数的值,如果是则条件为真。 | (A > B) 不为真。 |
< | 检查左操作数的值是否小于右操作数的值,如果是则条件为真。 | (A < B) 为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 | (A >= B) 不为真。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为 | (A <= B) 为真。 |
逻辑运算符
A为布尔值true,B为布尔值false
运算符 | 描述 | 实例 |
---|---|---|
&& | 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 | (A && B) 为假。 |
|| | 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 | (A || B) 为真。 |
! | 称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑为否 | !(A && B) 为真 |
示例:
using System;
namespace OperatorsApp1
{
class Program
{
static void Main(string[] args)
{
bool a = true;
bool b = true;
if (a && b)
{
Console.WriteLine("Line 1 - 条件为真");
}
if (a || b)
{
Console.WriteLine("Line 2 - 条件为真");
}
/* 改变 a 和 b 的值 */
a = false;
b = true;
if (a && b)
{
Console.WriteLine("Line 3 - 条件为真");
}
else
{
Console.WriteLine("Line 3 - 条件不为真");
}
if (!(a && b))
{
Console.WriteLine("Line 4 - 条件为真");
}
Console.ReadLine();
}
}
}
结果:
Line 1 - 条件为真
Line 2 - 条件为真
Line 3 - 条件不为真
Line 4 - 条件为真
十进制与二进制相互转换
除二取余法
十进制数除2得商取余法:对十进制进行除法运算,十进制除以2可以得到一个商和余数;再用得到的商除以2又得到一个商和余数,以此内推,直达最后一次除以2,商为0或1停止
二进制转十进制
方法:要从右到左用二进制的每个数去乘以2的相应次方(次方从0开始),再将其每个数进行相加。
位运算符
A的值为60,B的值为13
运算符 | 描述 | 实例 |
---|---|---|
& | (位与)有0即为0 | (A & B) 将得到 12,即为 0000 1100 |
| | (位或)有1即为1 | (A | B)将得到61,即为0011 1101 |
^ | (位异或)全0 或 全1 才为0 | (A ^ B) 将得到 49,即为 0011 0001 |
~ | (位取反)按位取反运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0,包括符号位。 | (~A ) 将得到 -61,即为 11000011,一个有符号二进制数的补码形式。 |
<< | 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 | A << 2 将得到 240,即为 11110000 |
>> | 二进制右移运算符。左操作数的值向右移动右操 | A >> 2 将得到 15,即为 0000 1111 |
Console类控制台
表示控制台应用程序的标准输入流、输出流和错误流。此类不能被继承。
常用属性
Title标题
示例:
Console.Title = "星期二";
Console.WriteLine("Hello World!");

设置控制台字体颜色
示例:
Console.BackgroundColor=ConsoleColor.DarkCyan;
Console.ForegroundColor=ConsoleColor.DarkGreen;
Console.Write("你好!");

设置控制台的背景颜色
示例:
static void Main(string[] args)
{
Console.BackgroundColor = ConsoleColor.DarkCyan;
Console.Title = "星期二";
Console.WriteLine("Hello World!");
Console.ForegroundColor = ConsoleColor.DarkGreen;
Console.Write("你好!");
Console.Write("ok!\n");
Console.WriteLine("\a今天是星期二你应该去上班");
int year = Console.Read();
if (year % 400 == 0 || year % 4 == 0 && year % 100 != 0)
{
Console.WriteLine("今年是闰年");
}
else
{
Console.WriteLine("今年不是闰年");
}
}
}

方法 | 描述 |
---|---|
Write | 向控制台输出内容后不换行 |
WriteLine | 向控制台输出内容后换行 |
Read | 从控制台上读取一个字符 |
ReadLine | 从控制台上读取一行字符 |
转义字符
作用
消除紧随其后的字符的原有含义,不同于字符原有的意义,用一些普通字符的组合来代替一些特殊字符,由于其组合改变了原来字符表示的含义,故称“转义”字符。
- \n换行
- \r回车
- \t制表符
- \f换页符
- \b退格
- \a响铃