C#基础知识02

变量输入
      让用户从键盘上输入内容并赋值给前面的变量,按回车继续执行下一步.\
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#中的运算符表

c中运算符的优先级 - zz - 网站建设,WEB程序定制开发,SEO
 

 注:表是按照从最高到最低的优先级顺序列举了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(真)时将不再对||右边进行运算.

原文地址:https://www.cnblogs.com/zxx193/p/2966942.html