c#——运算符和表达式。
(一)算术运算符
-
+、-、*(乘)、/(除)、%(求余)
-
+可以用作字符串连接,其他不可以。
-
++(自增)、- -(自减)
-
运算符的优先级:括号是王道。
-
变量可以和字面量混全运算。
例1
namespace 运算符
{
class Program
{
static void Main(string[] args)
{
int i = 9;
i++; //++自加
Console.WriteLine(i);
int s = (2 + 6) / 3 - 6 * 9; //运算符的优先级,括号是王道
Console.WriteLine(s);
int x = 10;
int t = x * 2; //变量可以和自变量混合运算。
Console.WriteLine(t);
Console.ReadKey();
}
}
}
(二)赋值运算符
例2.1
namespace 运算符
{
class Program
{
static void Main(string[] args)
{
int i = 10;
i = i + 1; //=不是数学中的相等判断,而是赋值运算。
Console.WriteLine(i);
i = i + i;
Console.WriteLine(i); //输出:22
i += 2; //等同于i=i+2
Console.WriteLine(i); //输出:24
Console.ReadKey();
}
}
}
例2.2
namespace 运算符
{
class Program
{
static void Main(string[] args)
{
#region 解一元二次方程y的值(已知x=10,x+y=80,求y=?)
int x = 10;
int y ;
//x + y = 80; //=左边的必须是变量!!!不能是常量,不能是表达式。
y = 80 - x;
Console.WriteLine(y);
Console.ReadKey();
#endregion
#region 交换两个变量的值
int i1 = 10;
int i2 = 20;
Console.WriteLine("i1={0},i2={1}",i1,i2);
int i3;
i3 = i1;
i1 = i2;
i2 = i3;
Console.WriteLine("i1={0},i2={1}", i1, i2);
Console.ReadLine();
#endregion
}
}
}
(三)布尔运算
例3.1:
namespace 运算符
{
class Program
{
static void Main(string[] args)
{
int i = 30;
bool b = (i == 1);
Console.WriteLine("{0}", i == 1);
Console.WriteLine("{0}",i=1); //c#中赋值表达式也有值,它的值表示为赋值后变量的值
Console.WriteLine("{0}",i!=30);
Console.ReadLine();
}
}
}
例3.2:
namespace 运算符
{
class Program
{
static void Main(string[] args)
{
int i1 = 20;
int i2 = 30;
Console.WriteLine("{0}",i1>10&&i2<100);
/*
&&并且,只有两边都是true的时候,&&的值才是true,否则就是false。
true&&true就是true,true&&false就是false,false&&false就是false。
*/
Console.WriteLine("{0}",i1>200&&i2<100);
Console.WriteLine("{0}",i1>200||i2<100);
/*
||或者,两边只要有一个为true,那么就是true。
true&&true就是true,true&&false就是true,false&&false就是false。
*/
//&&和||的区别在于两边有一边为false,一边为true的时侯不同
Console.ReadLine();
}
}
}