这一篇打算写一些常见的运算符
注释符:
//:单行注释
/*...*/:多行注释
///:文档注释,多用于解释类和方法
转义符:一个'\'+一个特殊的字符,组成了一个具有特殊意义的字符
常见的有:
\n:换行
\":一个英文半角双引号
\t:一个tab的空格
\b:退格键
\\:表示一个\
下图是一些示例
图中出现了一个@符号,这个符号有两个作用,第一个是取消转义作用,第二个是将字符串按原格式输出,本图中,@符号的作用是将字符串按原格式输出。
赋值运算符:=
算数运算符/算数表达式:
+
有两个作用
1.连接作用——两边有一边为字符串
2.相加作用——两边都没有字符串
此外"占位符"也具有连接作用,以下是占位符的相关用法
Console.WriteLine("我叫{0},我今年{1}岁了,我是{2}生,我的电话是{3}",
name, age, gender, TelephoneNumber);
这里需要注意的是,占位符是从0开始的,挖一个坑,填一个坑,并且前后都要对应的上。
-
*
/
%
以上五个被称为二元运算符,既需要至少两个才能完成运算。
++
--
这两个是一元运算符,既只需要一个操作就能完成运算,一元运算符优先级要高于二元运算符。
这意味着,如果在一个表达式中,既有一元运算符,又有二元运算符,我们首先运算一元运算符。
int number = 10;
int result = 10 + ++number;
其中这两个运算符分为,前++/前--和后++/后--
++number;
number--;
下面两个代码就是这两种的区别
先+1,再参与运算
int result =10 + ++number;
相
等
number++;
int result =10 +number;
先参与运算,再-1
int result =10 + number--;
相
等
int result =10 +number;
number--;
下面来思考一个问题:
int a = 5;
int b = a++ + ++a * 2 + --a + a++;
Console.WriteLine(a);
Console.WriteLine(b);
Console.ReadKey();
最后输入的a和b分别是多少?
首先,根据规则,一元运算符优先级高于二元运算符,所以表达式从左到右,依次运算。a的值是5,因为是a++所以先运算,后+1,之后又++a,所以此时a的值是7,然后*2,再然后--a,先-1此时a的值是6,最后a++,依然是先运算,最后+1,所以b=5+7*2+6+6=31,a=7
还有复合赋值运算符,常见有以下几个:
+=
-=
/=
*=
%=
用法如下
int number =10;
number+=20;
int number = 10;
number =number + 20;