注释的存在大大方便了我们对程序的解读!充分利用注释可以让我们更容易理解作者的思路!
在编写程序时,为了使代码易于阅读,通常会在实现功能的同时为代码加一些注释。注释是对程序中某个功能或者某行代码的解释、说明,在编译程序时编译器不会编译这些注释信息。
C#中的注释有3种类型,具体如下。
1.单行注释
单行注释通常用于对程序中的某一行代码进行解释,用符号“//”表示,“//”后面为被注释的内容,具体示例如下。
int c = 10; //定义一个整型变量
2.多行注释
多行注释就是注释中的内容可以为多行,它以符号“/*”开头,以符号“*/”结尾,具体示例如下。
/* int c = 10;
int x = 5; */
3.文档注释
文档注释用于对类或方法进行说明和描述。在类或方法前面连续输入 3 个“/”,就会自动生成相应的文档注释,用户需要手动填写类或方法的描述信息,来完成文档注释的内容。
脚下留心
在C#中,有的注释可以嵌套使用,有的则不可以,下面列出两种具体的情况。
(1)多行注释“/*…*/”中可以嵌套单行注释“//”,举例如下。
/* int c = 10; //定义一个整型的c
int x = 5; */
(2)多行注释“/*…*/”中不可以嵌套多行注释“/*…*/”,举例如下。
/*
/*int c = 10;*/
int x=5;
*/
上面的代码无法通过编译,原因在于第一个“/*”会和第一个“*/”进行配对,而第二个“*/”则找不到匹配对象
PS:
刚刚接触时不要发憷,一般在我们出错时编辑器都会对我们做出一定的提醒,所以不要怕!
语言的运用就是对数据的处理.
数据类型:
数值型:
复合型:
1. 枚举类型;
2. 结构类型;
简单型:
1. int;整数类型
2. double; float;浮点类型
3. bool;布尔类型
4. char;字符类型
引用型:
自定义类型:
1. 接口;
2. 数组(int[] arr = new int[数组长度]);
3. 类(class);
预定义类型:
1. object;对象
2. string;字符串
数据的类型决定使用条件和限制.
C#中的关键字列举(常用、常见):
abstract 抽象 | as 像 | base 基础 | boo l布尔 | break 中断 | byte 字节 | case 案例 | catch 捕捉 |
char 字符 | checked 检查 | class 类 | const 常数 | continue 继续 | decimal 表示金额浮点类型 | default 默认 | delegate 委托 |
do 做 | double 双精度数 | else 否则 | enum 枚举 | event 事件 | extern 额外;扩展 | false 错的 | finally 最后的 |
float 单精度浮点数 | for 循环 | foreach 循环每一个 | goto 跳转 | if 如果 | in 在..里 | int 整数 | interface 借口 |
internal 内部 | is 是 | lock 锁 | long 长整型 | namespace 命名空间 | new 新的;隐藏 | null 空 | object 对象 |
operator 操作符 | out 出来 | override 重启 | params 参数 | private 私有的 | protected 受保护的 | public 公开的 | readonly 只读的 |
ref 引用 | return 返回 | sbyte 字节 | sealed 密封 | short 短整形 | static 静态的 | string 字符串 | struct 结构 |
switch 开关 | this 这个;本身 | throw 抛出 | true 正确的 | try 尝试 | typeof 类型 | uint 整形 | ulong 整形 |
ushort 短整形 | using 使用 | Virtual l虚拟的 | void 空 | while 当 |
|
|
|
C#中的标识符
标识符可以由任意顺序的大小写字母、数字、下画线(_)组成,但标识符不能以数字开头,且不能是C#中的关键字。
1.类名、方法名和属性名中的每个单词的首字母要大写 :例如 ArrayList
2.字段名、变量名的首字母要小写,之后的每个单词的首字母均为大写 :例如 userameNumbuer
3.常量名中的所有字母都大写,单词之间用下画线连接 :例如 DAY_OF_MONTH
4.在程序中,应该尽量使用有意义的英文单词来定义标识符,使得程序便于阅读 :例如username表示用户名
常量:细致的划分有利于对数据的零活运用,同时也增加了重重的限制!
1.整型常量(byte short int long都可以表示整数但是范围不一样)
整型常量是整数类型的数据,有二进制、八进制、十进制和十六进制4种表示形式,具体如下。
● 二进制:由数字0 和1 组成的数字序列,如01000000、10000001。
● 八进制:以0开头并且其后由0~7(包括0和7)的整数组成的数字序列,如0342。
● 十进制:由数字0~9(包括0和9)的整数组成的数字序列,如198。
● 十六进制:以0x或者0X开头并且其后由0~9、A~F(包括0和9、A和F)组成的数字序列,如0x25AF。
2. 浮点数常量(浮点数就是通常意义的小数)
浮点数常量就是在数学中用到的小数,分为float单精度浮点数和double双精度浮点数两种类型。例:2e3f 3.6d 0f 3.84d 5.022e+23f
float 类型后面加f单精度数精确到小数后面5-6位; double双精度数浮点数精确单14-16位; decimal一般用来表示金额精确单小数点后128位数字后面加m;
3. 字符常量
字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号('')引起来,它可以是英文字母、数字、标点符号以及由转义序列来表示的特殊字符。例:'a' '1' '&' '\r' '\u0000'。
4. 字符串常量
字符串常量用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号("")引起来,具体示例如下。
"HelloWorld" "123" "Welcome \n XXX" "" 字符串制空的方法:string str =string.Empty; string str =“”; string str =null;
5. 布尔常量
布尔常量即布尔型的true和false两个值,该常量用于区分一个事物的真与假。
6. null 变量
null常量只有一个值null,表示对象的引用为空。
特殊字符——反斜杠(\):
● \r 表示回车,将光标定位到当前行的开头,不会跳到下一行。
● \n 表示换行,换到下一行的开头。
● \t 表示制表符,将光标移到下一个制表符的位置,就像在文档中用Tab键一样。
● \b 表示退格符号,就像键盘上的Backspace键。
● \' 表示单引号字符,C#代码中单引号表示字符的开始和结束,如果直接写单引号字符('),程序会认为前两个是一对,会报错,因此需要使用转义(\')。
● \"表示双引号字符,C#代码中双引号表示字符串的开始和结束,包含在字符串中的双引号需要转义,比如"hesays,\"thankyou\"."。
● \\ 表示反斜杠字符,由于在 C#代码中的\是转义字符,因此需要表示字面意义上的\,就需要使用\\。
变量
变量:在程序运行期间,随时可能产生一些临时数据,应用程序会将这些数据保存在一些内存单元中,每个内存单元都用一个标识符来标识。这些内存单元我们称之为变量,定义的标识符就是变量名,内存单元中存储的数据就是变量的值。
变量的声明:1.变量名一定要简明 意义清楚 ;
//变量和数据类型
//声明变量
int temp;
//初始化
temp= 15;
//声明并初始化
int temp= 12;
2.每个变量名在其作用域中不能重复;
//这是一个整数
Console.WriteLine(100);
//小数浮点数
Console.WriteLine(12.5);
//字符串长度>=0 ""括起来
Console.WriteLine("源氏");
//字符常量长度=1 ''括起来
Console.WriteLine('男');
//字符常量和字符串常量的区别
Console.WriteLine("男");
//布尔值: true false
Console.WriteLine(true);
// \n字符串换行符
Console.Write("123456\n");等同于Console.WriteLine("123456")
//Console.WriteLine 打印并换行
//Console.Write 只打印不换行
Ps:
总结:声明变量的格式的时候:类型变量名 = 常量或者变量名
在程序里“=”不是真正的等号是赋值号
变量名遵循小驼峰() 并且不能重复的
方法只是为了区分,这样的区分可以很明确和准确的解析程序!
算术运算符
在数学运算中最常见的就是加、减、乘、除,被称作四则运算。C#中的算术运算符就是用来处理四则运算的符号,这是最简单、最常用的运算符号。
进制转换:
//将10进制转化成2 8 16进制运算后的结果是字符串
//Convert.ToString(要转化的数(int),要转化的进制(2,8,16));10转2,8,16
//string ret =Convert.ToString(569,2);由int类型转换为2进制string类型
//将2进制转化为10进制 运算后的结果是整形
//Convert.ToInt32("要转化的数","要转化的数"的进制);2,8,16转10
//int retNum =Convert.ToInt32("1100000", 2);由string(2,8,16进制)类型转换为int类型10进制
//如果是非十进制转化要结合两个方法使用
先转10 再转目标进制
运算符
+ 将两侧数值相加
- 将两侧数值做差
* 将两侧数值相乘
/ 整数除整数 如果除不尽 那么得到的是两个数的商值 没有余数 也不是小数 整数除小数才有小数
++ 自增* -- 自减*
int num1 = 10;
num1++;//用完以后再加1
Console.WriteLine(num1);
int num2 = 10;
++num2;//加1完以后再用
Console.WriteLine(num2);
//对于他“本身”的值得变化是加1,但是在将“num1”的值给别人的时候就有了先后顺序
//num1++ 的顺序是先把自己的值给了别人 在对自己做加法
//++mun1 的顺序是先对自己做加法 然后再把自己的值给别人
实例:
int a = 1; int b = 0;
b = a++;//先执行b=a 然后在执行 a=a+1 所以 b=1 a=2
b = ++a;//先执行a=a+1然后在执行 b=a 所以 b=2 a=2
运算符优先级:只记住两个 “()”(最高)“=”(最低);碰上拿不准的 想先算哪个就加括号
类型转换
//隐式类型转化是小范围转化成大范围
int num_int1 = 100;
long num_long1 = num_int1;
//强制类型转化
//大范围转化成小范围(因为可能会造成数据的丢失)
long num_long2 =2147483649;
//强制类型 一定要小心
int num_int2 = (int)num_long2;