C#基础总结(三)——变量与操作符
一、注释
注释主要是起到给代码作解释说明的作用,被注释的内容是不会执行的。
注释方式有三种:单行注释(//)、多行注释(/* */)、文本注释(///)。如下图所示:
二、什么是变量?
变量:在计算机中就是用来存储数据的。例如:int a = 10; 这句中的 a 就是变量,这段代码完整意思是:将10这个数字存储在int类型(整数类型)的变量a中。 这里的“=”并不是 等于 的意思,而是 赋值 的意思,就是将右边的数据存储在左边的变量里。
声明变量的语法: 变量类型 变量名; 例如: int a; 这里的int就是变量类型,a就是变量名。
声明完了变量后再给变量赋值: 变量名 = 值; 例如: a = 10; 这里的a就是刚刚声明的变量a,这是将右边的10赋值给左边的变量a。
上面的步骤总结为 :先声明一个变量,再给变量赋值。其实可以结合在一起书写更为方便,例如: int a = 10; 这样将声明和赋值都放在一行里了
也就是说, int a;a = 10;(一个分号就是一句代码,因此这里有两句) 本来两句的代码可以变为一句,即 int a = 10;
变量的使用: 要想使用一个变量的话,必须先声明变量,然后赋值变量,最后才能使用。
变量的类型(官方一点叫做 “数据类型”) :
1)、整数类型:int 只能存储整数,不能存储小数。
2)、小数类型:double 既能存储整数,也能存储小数,小数点后面的位数 15~16位。
3)、金钱类型:decimal 用来村粗金钱,值后面需要加上一个m.
4)、字符串类型:string 用来存储多个文本,也可以存储空,字符串类型的值需要被 双引号引来,这个双引号必须是英文半角状态下的双引号。
5)、字符类型:char 用来存储单个字符,最多、最少只能有一个字符,不能存储空。字符类型的值需要用 单引号因起来。英文半角状态下的单引号。
三、变量的命名规则
首先给变量命名最好是要起有意义的英文名,例如我想用一个变量来存钱,那我就用money作为变量名;我想存人的名字,用 name,年龄就用 age。
变量命名:以 字母或者 _ 开头,后面的可以是字母或数字或 _
给变量命名的规范:如果是一个单词的话,首位为 小写开头,其余位为小写,例如:name,age,money等。 如果是多个单词的话,首个单词遵循 上面的规则,后面的每个单词的首位都要大写,例如: highSchool、greenHat。这种规范叫做Camel命名规范。
给类或者方法命名的规范:要求每个单词的首位都要大写,其余字母小写。例如:Person、Animal、 GetMoney、 EatFood。这种规范叫做Pascal命名规范。
四、操作符
1、算数运算符: + - * / % 也就是所谓的 加 减 乘 除 取余 。重点讲一下 + 这个运算符。
+ 的左右两边如果是数字的话,那么就是起到加法的作用;如果两边是字符串的话,那么+就起到了连接两个字符串的作用了,例如:
int a = 10; int b = 5; Console.WriteLine(a+b); Console.ReadKey();
最后得到的结果是 : 15,因为两边都是数字,所以起到了加法作用。而如果是连接一个或两个字符串,例如:
string a = "我爱"; string b = "中国"; Console.WriteLine(a+b); Console.ReadKey();
最后得到的结果是: 我爱中国 。这时候+就不是加法了,而是拼接两个字符串成为一个新的字符串了。
%是用来取余数的,举个例子:
int a = 10; int b = 3; Console.WriteLine(a % b); Console.ReadKey();
结果是: 1 。因为 10除以3 商是3,余数是1 ,所以 10%3 得 1。
2、占位符
占位符顾名思义就是起到了占位的作用了,可以很方便的将变量带入到字符串中。先看看没有占位符的例子:
string name = "鑫鑫"; int age = 23; string address = "深圳"; Console.WriteLine("我叫"+name+",今年"+age+",如今在"+address); Console.ReadKey();
最后结果是: 我叫鑫鑫,今年23,如今在深圳 。 看图中代码,每次将字符串和变量拼在一起就要加 +然后又要再加双引号,很麻烦,下面再看看用了占位符:
class Program { static void Main(string[] args) { string name = "鑫鑫"; int age = 23; string address = "深圳"; Console.WriteLine("我叫{0},今年{1},如今在{2}",name,age,address); Console.ReadKey(); } }
结果同上:我叫鑫鑫,今年23,如今在深圳。 可以看到并没有添加额外的双引号和加号,只是将字符串中要替换成变量的位置先用占位符占着,然后再在双引号后面用逗号2隔开,将变量按顺序填入,每个变量用逗号隔开。(这里的逗号和双引号还有分号等等必须是英文状态下的符号)
3、转义符
转义符指的就是一个'\'+一个特殊的字符,组成了一个具有特殊意义的字符。
\n:表示换行
\":表示一个英文半角的双引号
\t:表示一个tab键的空格
\b:表示一个退格键,放到字符串的两边没有效果。
\r\n:windows操作系统不认识\n,只认识\r\n
\\:表示一个\
4、@符号
1、取消\在字符串中的转义作用,使其单纯的表示为一个'\'
2、将字符串按照编辑的原格式输出
五、类型转换
类型转换分为:自动类型转换和强制类型转换。
数据类型大小排序:byte(8位)<short=char(16位)<int=float(32位)<double=long(64位)<decimal(128位)
自动类型转换:将小的数据类型转换成大的数据类型时,会发生自动类型转换。例如,byte类型转换成int类型就会自动转换。因为,byte是8位,int是32位,小的转大的会自动转换,所以可以成功。如图:
byte a = 5; int b = a;
强制类型转换:将大的数据类型转换成小的数据类型时,要强制类型转换。例如,将double类型转换成int类型就要强制类型转换,因为double是64位,int是32位,大的转小的要强制类型转换。
强制类型转换书写方式:
double a = 5.0; int b = (int)a;
教你理解为什么小转大会自动转换,而大转小却要强制转换:
假如你现在有个杯子,杯子里面快装满了水。你现在不想用杯子装水了,想放到更大的容器里面存这个杯子里的水,于是你就把杯子里的水往桶子里一倒,水存到了桶子里了。在将水从杯子里倒入桶子里的时候,你根本不要顾及什么,因为桶子比杯子大很多,桶子完全能装得下杯子里的那点水。 此时杯子就是小的数据类型,而桶子就是大的数据类型,你直接倒进桶子就行,不用顾忌什么。
假如,你现在有个桶子,里面装了些水,你现在不想用桶子装了,想改用杯子装水了。于是你就将桶子的水往杯子里倒。但是此时你在倒水的过程中,你会顾忌桶子里的水是不是比杯子的容量大啊,杯子是不是不够装啊等等,你就会强制让自己慢点倒,怕水溢出来等等。在这个过程中,你就没有上面那么轻松容易了,因为桶子的水可能比杯子容量还大,就会溢出来等等。而此时,桶子就是大的数据类型,杯子就是小的数据类型,转换起来就不能那么随意了。