c#——运算符和表达式。
(一)算术运算符
-
+、-、*(乘)、/(除)、%(求余)
-
+可以用作字符串连接,其他不可以。
-
++(自增)、- -(自减)
-
运算符的优先级:括号是王道。
-
变量可以和字面量混全运算。
例1
[csharp] view plaincopyprint?
<span style="font-family:KaiTi_GB2312;font-size:16px;">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();
}
}
}
</span>
(二)赋值运算符
例2.1
[csharp] view plaincopyprint? <span style="font-family:KaiTi_GB2312;font-size:16px;">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(); } } }</span>
例2.2
[csharp] view plaincopyprint? 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:
[csharp] view plaincopyprint?
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:
[csharp] view plaincopyprint?
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();
}
}
}