黑马程序员——.NET自学课程第三天笔记

时间:2021-02-21 00:30:07

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------

异常捕获

 try{可能出错的语句} 

catch{如果出错则运行这里的代码}

static void Main(string[] args)
{
    try
    {
        Console.WriteLine("请输入数字:");
        int a = Convert.ToInt32(Console.ReadLine());//输入字符无法转换为数字
        Console.WriteLine("你输入的数字是" + a);
    }
    catch
    {
        Console.WriteLine("你输入的不是数字,请重新运行程序。");
    }

    Console.ReadKey();
}

自增自减

age++ ; // age = age + 1 ; //两个语句效果相同,前者运行效率高于后者
age--   ; // age = age -  1 ;

前加与后加(前减与后减)

int age = 18 ;
int sum = age++ - 10 ; //后加,age++在整个表达式中取age原值,sum=8,计算完后age再自增1,age=19

相当于:

int age = 18 ;
int sum = age -10 ;
age = age + 1 ;

int age = 18 ;
int sum = ++age - 10 ; //前加,++age先自增1,再参与整个表达式的计算,sum=9,age=19
相当于:
int age = 18 ;
age = age + 1 ;
int sum = age -10 ;

一般情况下一元运算符优先级大于二元运算符

int v, a = 3, b = 6;
v = a++ * --b;
Console.WriteLine("v={0},a={1},b={2}",v,a,b);
//a = 3;
//b = 6;
v = ++a * b--;
Console.WriteLine("v={0},a={1},b={2}", v, a, b);
Console.ReadKey();

能改变变量值的运行符有: = 、++ 、-- 、 (+=、-=、*=、/=、%=)

关系运算符(比较运算):> 、 < 、 == 、 != 、 >= 、 <=

关系表达式的运算结界为布尔bool类型,值只有两个,表达式成立,值为true,不成立,值为false

逻辑运算符: &&(逻辑与)全真才真,一假即假  ||(逻辑或)一真即真,全假才假!(逻辑非) 取反

Console.WriteLine("请输入年份:");
int year = Convert.ToInt32(Console.ReadLine());
bool result = (year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0));
//bool result = year % 400 == 0 || year % 4 == 0 && year % 100 != 0;
//'与'优先级大于‘或’
Console.WriteLine("{0}年是闰年{1}",year,result);
Console.ReadKey();
与或的短路问题

//‘与’‘或’的短路
int a = 5, b = 10;
//bool r = ++a > 50 && ++b > 100;
//'与'前项为假,整式即为假,不再计算后项,a=6,b=10
//bool r = ++a > 5 && ++b > 100;
//'与'前项为真,再计算后项,a=6,b=11
//bool r = ++a > 50 || ++b > 100;
//'或'前项为假,再计算后项,a=6,b=11
bool r = ++a > 5 || ++b > 100;
//'与'前项为真,整式即为真,不再计算后项,a=6,b=10

Console.WriteLine("r={0},a={1},b={2}",r,a,b);
Console.ReadKey();



---------------------- ASP.Net+Android+IOS开发.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net