string input;input = Console.ReadLine();接受用户输入的内容,必须定义一个字符串来进行接受.
当我们需要在字符串中输入一些特殊字符时,比如半角引号"",换行,退格.就需要使用转义字符.转义字符时一个字符,他由一个\加一个字母来组成具有特殊意义的一个字符.常用字符:\n 换行\b backspace 退格\t tab键(可以理解为多个空格组成的字符,具有行与行之间对其功能)@意义1. @加在字符串前面表示取消转义功能例如:Console.WrittLine(@"D:\program Files");2. 使字符串可以换行(不用\n 直接在代码上回车)如果字符串前面加@ 字符串内双引号用2个表示1个.例如Console.WrittLine(@"ab""cd");输出ab"cd
参与运算的操作数和结果类型必须一致,当不一致时满足下面条件时,系统自动完成类型转换.1. 两种类型兼容例如:int和double兼容2. 目标类型大于源类型例如:double>int
Convert.ToInt()括号内为待转换字符串或字符串变量.例:string a = "123"int b = Convert.ToInt32(a)也可直接转换用户输入字符串int a = Convert.TiInt32(Console.WrittLine());
{
try
{
//编程实现用户输入天数 求该天数是几周余几天
Console.WriteLine("请输入天数:");
int days = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("您输入的天数是{0}\n共有{1}周 余{2}天", days, (int)days / 7, days % 7);
Console.ReadKey();
}
catch
{
Console.WriteLine("您刚刚输入的数据有问题,请重新输入.");
Console.ReadKey();
}
运算符是表达式很重要的一部分,它指示对表达式中的操作数进行什么样的运算,如+、-、*、/、%等。根据运算符所需操作数的个数,可以把运算符分为以下3类。
一元运算符:只带有一个操作数并使用前缀表示法(如--x)或后缀表示法(如x++),如++、-
-等运算符。
二元运算符:带有两个操作数并且全都使用中缀表示法(如x+y),如+、-、*、/等运算符。
三元运算符:带有3个操作数并使用中缀表示法,如?:
运算符。
注意:C#语言只包含一个三元运算符:?:。
运算符优先级
算术表达式是最为常见的一种表达式。它由操作数和运算符组成,而且这些运算符之间是存在一定优先级的,如*运算符的优先级就大于+运算符的优先级。C#语言中的运算符一样,也存在优先级。在计算表达式的值时,也必须遵循运算符的优先级的规则。
特别地,当表达式包括多个运算符时,运算符的优先级控制各个运算符的计算顺序。对于x+y*z表达式而言,该表达式首先计算y*z表达式的值,然后再计算
y*z表达式的结果与x的和。即该表达式等价于x+(y*z)表达式,那是因为*运算符的优先级大于+运算符的优先级。根据运算符的优先级可以把C#中的运算符分为以下14类,如表5.2所示。
C#中的运算符表
注:表是按照从最高到最低的优先级顺序列举了C#语言的所有运算符。
当操作数出现在具有相同优先级的两个运算符之间时,运算符的顺序与运算符本身特性相关,具体说明如下所示。
除了赋值运算符外,所有的二元运算符都是从左向右执行运算。如"x+y+z"表达式按照"(x+y)+z"表达式进行计算。
赋值运算符和?:条件运算符是从右向左执行运算。如x=y=z表达式按照x=(y=z)表达式进行计算。
逻辑表达式的短路运算说明
int a = 10;
int b = 5;
bool result = ++a > 50 && ++b > 4
Console.WrittLine("a={0}, b={1}" a, b);
输出结果是11,5
因为&&运算当左边为false(假)时将不再对&&右边的值进行运算
同理||运算当左边为true(真)时将不再对||右边进行运算.