-
前面我们学习了那么多运算符,如果编程中同时使用了多个运算符,到底哪一个会先运算呢?这就是优先级的问题。C#运算符的优先级请参考下面的顺序:
①括号。学数学的时候我们就知道,要先计算括号里面的内容。C#语言也是一样,如果有多层括号,要从里向外计算。括号优先级最高。
②一元运算符。有些运算符两边有2个操作数,比如2+3、6%5等等,这些叫做二元运算符。只有一个操作数的叫做一元运算符,它们的优先级高于二元运算符。一元运算符包括:++(自加) 、 --(自减) 、 !(逻辑非)。
③*(乘)、/(除)、%(取余)。
④+(加)、-(减)。
⑤>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。
⑥==(等于)、!=(不等于)。
⑦&&(逻辑与)。
⑧||(逻辑或)。
⑨赋值运算符。包括:=、+=、-=、*=、/=、%=。
另外,还需要注意一点:优先级相同的运算符从左向右计算(赋值运算符相反)。
请看下面这段代码:
bool b = 20 - (15 - 8) * 2 > 10 && (2 % 2 * 2 + 2) > 2; Console.WriteLine(b);
分析:首先计算优先级最高的括号,(15-8)得到7,(2%2*2+2)则需要先计算%和*,后算+,结果是2,表达式就变成了:
bool b=20-7*2>10&&2>2;
接下来优先级最高的是7*2,然后是减法,变成:
bool b=6>10&&2>2;
继续计算两个大于号,得到:
bool b=false&&false;
最后的结果当然是false:
任务
这个程序想要输出 True ,请你完成第 13 行的赋值。
?不会了怎么办
程序输出a==b,如果想得到true,就需要知道a的值是true还是false。
第12行的表达式应当首先计算一元运算符++x,x会变成2,接下来计算x*x即2*2,得到4,4>3为true,所以a的值是true。
最后,只要b也是true,a==b就是true了。
查看全部 -
关键字 class ,这个关键字的用途是声明类。比如上面例子中,类名叫做Program。
关键字 namespace ,这个关键字的用途是声明“命名空间”。比如上面例子中,命名空间叫做MyApp1。
关键字 using ,这个关键字的用途是导入命名空间。比如这句:
using System.Text;
作用是导入System.Text命名空间中的类。关键字 static (静态的)、 void (无返回值)、 string (字符串类型)。常常在Main()方法的声明中看到:
static void Main(string[] args)
Main() 方法是 C# 中的特殊方法,是程序的入口,就是说,如果没有 Main ()方法,程序就无法启动。
注意:你会发现,所有关键字都是由小写字母组成的,C#语言中,大小写是严格区分的。
查看全部 -
查看全部
-
msdn
查看全部 -
///是文档注释,只能写在类、方法、属性的前面。不能用来注释单个变量。
查看全部 -
关键字都是小写的
查看全部 -
调试程序
设置断点:F9
调试:F5
单步执行:F10
查看全部 -
//接收用户输入
string name;
Console.Write("请输入你的姓名:");
name=Console.ReadLine();
Console.WriteLine("你好,{0}",name);
查看全部 -
获取最大值对应的索引,定义一个index变量为0
查看全部 -
获取数组中的最大值:for循环
查看全部 -
获取数组中的最大值
查看全部 -
C#的二维数组的声明和访问
二维数组,就是以数组作为元素的数组。
查看全部 -
遍历,筛选,判断,输出
//查找其中有没有7的整倍数
bool has7 = false;//记录有没有7的整倍数,假设没有
foreach (int x in num)//遍历每一个数字
{
if (x % 7 == 0)//设置筛选条件,查找7的整倍数
{
has7 = true;//找到后,记录为true,即“有7的整倍数”
break;//跳出foreach,结束查找
}
}
//判断结果并输出
if (has7)
Console.WriteLine("有7的整倍数");
else
Console.WriteLine("没有7的整倍数");查看全部 -
C#中还存在一些类似于数组的数据组织方式,它们中有一些是没有元素索引的,对于这些元素,只能通过 foreach 遍历。
查看全部 -
查看全部
举报