C#语言基础学习笔记

 

一、运算符与表达式——语言中的标点符号

1、运算符

  • 算术运算符:+、—、*、/、%、++、——

Notice:%表示求余,没有乘方运算;

           尽量不要在复杂的程序里面写,C#目的是使程序简单易懂。

  • 关系运算符:>、<、>=、<=、==、!=

Notice:等于及不等于的写法,与VB不同

  • 逻辑运算符:!(逻辑非)、&(逻辑与)、|(逻辑或)、^(逻辑异或)、&&(短路与)、||(短路或)

Notice:条件逻辑运算符,也叫短路(short—circuit)逻辑运算符

&&:第一个操作数为假,则不判断第二个操作数

||:第一个操作数为真,则不判断第二个操作数

E.g: MyDate=d;

    If((d!=null)&&(d.day>31))

{

//do  sth with d

}

  • 位运算符:&、|、^、~、>>、<<
  • 赋值运算符:=、(扩展赋值运算符:+=、—=、*=、/=)

Notice:当”=”两侧的数据类型不一致时,可以适用默认类型转换或强制类型转换(casting)原则进行处理。E.g: long l = 100; int i = (int)l;

       特例:可以将整形常量直接赋值给byte、short、char等类型变量,且不需要进行强制类型转换,只要不超出其表数范围。E.g: byte b = 12;  //合法  byte b =4096; //非法

  • 字符串连接运算符:+

E.g: int i=300 + 5;

    String s = “hello,” + “world!”;

Notice:“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。

E.g: string s = “hello” + 300 + 5 + “号”;  //输出hello,3005号

2、表达式:符合一定语法规则的运算符和操作数的序列

表达式的值:对表达式中的操作数进行运算得到的结果

表达式的类型:表达式的值的数据类型

类型转换:

(1)赋值时:当”=”两侧的数据类型不一致时,可以适用默认类型转换或强制类型转换原则进行处理。特例,可以将整型常量直接赋值给byte、short、char等类型变量,不需要进行强制类型转换,只要不超出其表数范围。E.g: byte b = 12;  //合法  byte b =4096; //非法

(2)表达式中的类型转换

当有不同种类的混合运算时:int   long   float   double

Notice:整型提升,所有的byte、short、char等转为int

编程提示:字符串转成数值:double.Parse(s)、int.Parse(s)

          数字转成字符串:10.ToString()、”” + 10

          Convert类:Convert.ToInt32(textbox1.Text)、Convert.ToDateTime(“2009-10-01 14:00”)

3、运算符优先级与结合性

单目>算术>关系>逻辑>三目>赋值

大部分从左至右结合

二、流程控制语句——语言中的语句

结构化程序设计中的三种基本流程:顺序、分支、循环

1、简单语句:方法调用语句及赋值语句,没有表达式语句这一说

E.g:Console.Write(“Hello Word”);   b = a>0?a:-a;  d=int.Parse(s);

2 + 3;  //错误

2、分支语句——if

if(条件表达式)

语句块

else

语句块

E.g: LeapYear.cs

if((year%4 == 0 && year%100 == 0)|| year%400 == 0)

Console.WriteLine(year+“是闰年。”);

else

Console.WriteLine(year+“不是闰年。”);

小技巧:注意书写格式,特别是缩进

将后面的花括号去掉,再重新输一下,就会自动排版;也可以按Ctrl+E+D(格式文档)或Ctrl+E+F(格式化选中部分)

3、多分支语句——switch语句

Switch(expression){

Case const1:

statement1;

break;

Case const2:

statement2;

break;

……

Case constN:

statementN;

break;

default:

Statement_default;

break;}

Notice:与C++不同的地方:a、变量除了整型、枚举型,还可以用字符串;不能随便贯穿,必须有break;(除非几个case连起来,中间没有别的语句)

4、循环语句

(1)循环语句功能:语句在循环条件满足的情况下,反复执行特定代码。

(2)循环五要素

A、初始化部分  B、循环条件  C、循环体部分  D、迭代部分(循环改变)  E、结束后处理

E.g: int s = 0;

   For(int i = 0;i <=100; i++)

{

S+=i;

}

Console.WriteLine(s);

(3)循环语句分类

A、for循环

Int result =0;

For(初始化部分int i = 0;循环条件 i<=100;迭代部分i++)

{

循环体;result +=i;

}

B、While循环

初始化部分;   int result = 0; int i = 0;

While(循环条件i< = 100){

循环体; result += i;

迭代部分; i++;

}

C、do-while 循环(至少执行一次)

Int result =0;  int i=0;

do{

循环体;  result+=i;

迭代部分; i++;

}while(循环条件i<=100);

5、跳转语句

(1)break语句:结束循环(相当于VB中的exit do,exit for)

(2)Continue语句:进入下一次循环

(3)Goto语句:跳转到某个语句标号。但是会使程序变得混乱,C#中的goto语句可以从内层跳到外层;标号的写法:标识符加个冒号(:)

(4)Try{}catch{}语句:异常捕获

原文地址:https://www.cnblogs.com/zyf2014/p/5427702.html