变量输入
让用户从键盘上输入内容并赋值给前面的变量,按回车继续执行下一步.\
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());
C#中异常捕获如何完成?
try
{
有可能出现错误的代码.
}
catch
{
出错后的处理.
}
如果try中的代码没有出错则程序正常运行try中的内容后,
不会执行catch中的内容.如果try中代码出现错误,程序跳转执行catch中语句.
注意:如果Try中某条语句出错,那么后面的语句将不再执行,直接跳入catch中.
例:
try
{
int i = Convert.ToInt(Console.WrittLine());
}
catch
{
Console.ReadLine("您输入的数据有问题,请重新输入");
}
小练习
static void Main(string[] args)
{
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();
}
bool类型
关系表达式的运算结果为bool类型,
bool类型有两个值, true,false.
如果运算成立(为真)则为true.
如果运算不成立(为假)则为false.
c#中运算符的优先级
运算符是表达式很重要的一部分,它指示对表达式中的操作数进行什么样的运算,如+、-、*、/、%等。根据运算符所需操作数的个数,可以把运算符分为以下3类。
一元运算符:只带有一个操作数并使用前缀表示法(如--x)或后缀表示法(如x++),如++、- -等运算符。
二元运算符:带有两个操作数并且全都使用中缀表示法(如x+y),如+、-、*、/等运算符。
三元运算符:带有3个操作数并使用中缀表示法,如?: 运算符。
注意:C#语言只包含一个三元运算符:?:。
运算符优先级
算术表达式是最为常见的一种表达式。它由操作数和运算符组成,而且这些运算符之间是存在一定优先级的,如*运算符的优先级就大于+运算符的优先级。C#语言中的运算符一样,也存在优先级。在计算表达式的值时,也必须遵循运算符的优先级的规则。
特别地,当表达式包括多个运算符时,运算符的优先级控制各个运算符的计算顺序。对于x+y*z表达式而言,该表达式首先计算y*z表达式的值,然后再计算 y*z表达式的结果与x的和。即该表达式等价于x+(y*z)表达式,那是因为*运算符的优先级大于+运算符的优先级。根据运算符的优先级可以把C#中的运算符分为以下14类,如表5.2所示。
C#中的运算符表
[img]http://www.wiz.cn/unzip/e30aabca-9758-11e1-a525-00237def97cc/f2850843-baab-498e-9d5d-74b82f219e54.1941/index_files/3066388396303167670[1].jpg[/img]
注:表是按照从最高到最低的优先级顺序列举了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(真)时将不再对||右边进行运算.
|