现在开始我的C#学习之路吧,这也许不适合0编程基础的人看,因为我会C语言了,笔记做的可能有思维上的跳跃,如果0基础可能会觉得有些地方转折得莫名奇妙,但我的学习笔记实操还是比较多的,基本都是真实运行程序结果:
目录
1、基本文件结构:
2、C#基本语法:
2.1关键字:
2.2 C#注释方式:
2.3 变量:
2.4 常量:
2.5 基本运算:
2.6 运算符优先级:
1、基本文件结构:
程序的第一行using System;-using关键字用于在程序中包含System命名空间。
一个程序一般有多个using语句。
· 下一行是namespace声明。一个namespace是一系列的类。MyfirstConsolApp命名空间包含了类Programe
· 下一行是class声明。类Program包含了程序使用的数据和方法声明。类般包含多个方法。方法定义了类的 行为。在这里,Program类只有一个Main方法。
· 下一行定义了Main方法,是所有C#程序的入口点。Main方法说明当执行时类将做什么 动作。
· Main方法通过方法体中的语句指定它的行为。
2、C#基本语法:
以下几点值得注意:
· 一个cs文件的结构大约是由以上几个部分组成,但是根据不同的需求和作用,会有不同的内容;
· C#是大小写敏感的。(区分大小写)
. 所有的语句和表达式必须以分号 ( ; ) 结尾。
. 程序的执行从Main方法开始。
· 与Jva不同的,文件名可以不同于类的名称。
2.1关键字:
关键字,是对编泽器有特殊意义的预定义保留标示符,它们不能在程序中用作标示符
如图所示,大体而言,关键字都是蓝颜色的:
这里就不过多赘述关键字具体用法,就贴张盗来的图和查到的文章吧:
C#中的常用关键字及用法_c#关键字-CSDN博客
2.2 C#注释方式:
注释的作用:
解释: 说明代码作用
注销: 将暂时不需要的代码注销
被注释的区域是绿色的
块注释:
/*此处演示块注释适用于C#的多行注释*/
单行注释:
//此处演示单行注释
文档注释:
可以在声明的方法和类上进行文档注释:只需打三条斜杠就会给你自动标注出俩行的<symmary>
/// <summary>/// 声明的类/// </summary>
2.3 变量:
变量是一个供程序存储数据盒子。在C#中,每个变量都有一个特定的类型。
不同类型的变量其内存大小也不尽相同
不同类型的变量赋值范围也不同,下面简单列举一些变量的范围 ,简单的初始化赋值方式:
变量必须先定义,后引用,语法格式:
数据类型 变量名列表;
//byte的范围 0~255byte b=255;//short的范围 -32768~32767short s=32767;//int的范围 -2147483648~2147483647int i=123;//1ong的范围 -9*10^18 ~ 9*10^18long L=432;
编写在控制台输出其值的程序:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;/*此处演示块注释适用于C#的多行注释*/namespace MyfirstConsolApp //此处演示单行注释
{/// <summary>/// 声明的类/// </summary>internal class Program ///此处演示文档注释{static void Main(string[] args)//程序的入口方法:首先被执行的{//byte的范围 0~255byte b=255;//short的范围 -32768~32767short s=32767;//int的范围 -2147483648~2147483647int i=123;//1ong的范围 -9*10^18 ~ 9*10^18long L=432;Console.WriteLine("现在正式开始学习C#开发");Console.WriteLine(b);Console.WriteLine(s);Console.WriteLine(i);Console.WriteLine(L);Console.ReadLine();}}
}
运行效果:
字符串类型的赋值需要有 双引号框出 " " :
string st;st = "Hello world";Console.WriteLine(st);
字符类型赋值时则需要单引号框出,而且只能一个字符:
char C;C = 'H';Console.WriteLine(C);
null本身即代表一个值“空”(空类型), 他不需要被定义,也不能被定义:
这段代码先给字符串st赋值了Hello world,但之后又紧接着给它赋值了null
因此最终输出结果就是null ,即空类型;
此处需要注意,数字类型 与 bool类型 不能 赋值为null
string st;st = "Hello world";st = null;Console.WriteLine(st);
浮点数后的f不能省略:
(C和C++语言里可以省略,但C#这里不行)
float F = 123.456f;Console.WriteLine(F);
2.4 常量:
我们可以在编程时定义一些常量,其值不能被改变
除了定义外,有些特殊的转义字符也是常量,比如回车、换行等的转义符
定义常量极其注意点:
const 数据类型 符号常量名(或常量表达数据)
1、常量只有在初始化同时才能赋值
2、常量表达式赋值不能出现变量
以下为合法实例:
const double R = 10; //定义的常量const double G = 3.1415; //定义的常量const double H = R * G; //定义的常量等于原先定义的俩个常量的运算Console.WriteLine(H); //打印H测试
以下为非法的操作,编译会不通过:
1、像这种明明定义的H是常量,且初始化就赋值了,在给其赋值的操作非法:
(常量就是初始化后不变了,不能再给其赋值,否则请定义为变量)
2、用算数表达式初始化定义常量时,混入了变量:
(这里我们看到R被定义为变量了,因此H=R*G便不符合常量表达了)
2.5 基本运算:
算数运算:
自加自减运算:
关系运算:
逻辑运算:
条件运算:
条件运算是一种三元运算:
布尔类型表达式?表达式1:表达式2
int a = 10, b = 20, c=0;Console.WriteLine(c); //c的值为0c = a > b ? a + b : a - b; //因为a<b,所以c=a-b,c = -10Console.WriteLine(c);c = a < b ? a + b : a - b; //因为a<b,所以c=a+b,c = 30Console.WriteLine(c);
运行结果:
简单赋值运算:
变量=表达式
1、计算表达式的值,并将该值赋给左边变量
2、将表达式的值作为整个赋值表达式的值
int a,b;a = b =10;Console.WriteLine(a);Console.WriteLine(b);
复合赋值运算:
int a, b;a = b = 10;a += 20; Console.WriteLine(a); //此处相当于a=a+20,所以输出30b += a += 20; //此处先让之前已经变为30的 a 再加20,a=50Console.WriteLine(a); //此处a输出为50Console.WriteLine(b); //然后b在加上a=50的值,所以b输出为60
运行结果: