变量、字段和属性的区别;
变量 :它代表着一块存储空间,我们可以通过变量名称向内存读|取数据,有了变量了,我们就不需要记忆复杂的内存地址,可以直接通过变量名来访问值。一个变量可以重复赋值和声明,但是不可以重复定义。
字段: 包括已经声明的变量和常量在内,当数据的某些部分不允许外界访问时,即将其设置为private类型。
属性:就是将相应的私有字段通过封装成公共属性,以便于外界访问和修改,说白了就是:通过一个public变量来保护private变量的合法性。在这个属性中,我们还有get/set方法。也就是说,属性分为三种:读写属性(具有get|set方法),只读属性(只有get方法,这个属性只能读取不能被赋值,比如:常用的姓名),只写属性(只 有set方法,这个属性只能赋值,不能读取)
数据类型
C# 类型 | .Net 框架类型 | 有无符号 | 占据位数 | 取值范围 |
sbyte | System.Sbyte | 是 | 1 | -128 到 127 |
short | System.Int16 | 是 | 2 | -32768 到32767 |
int | System.Int32 | 是 | 4 | -2147483648 到 2147483647 |
long | System.Int64 | 是 | 8 | -9223372036854775808 到 9223372036854775807 |
byte | System.Byte | 否 | 1 | 0 到 255 |
ushort | System.Uint16 | 否 | 2 | 0 到 65535 |
uint | System.UInt32 | 否 | 4 | 0 到 4294967295 |
ulong | System.Uint64 | 否 | 8 | 0 到18446744073709551615 |
float | System.Single | 是 | 4 | 可能值从 ±1.5 x 10-45 到 ±3.4 x 1038,小数点后7位有效数字 |
double | System.Double | 是 | 8 | 可能值从 ±5.0 x 10-324 to ±1.7 x 10308小数点后15到16位有效数字 |
decimal | System.Decimal | 是 | 12 | 可能值从 ±1.0 x 10-28 到±7.9 x 1028小数点后28到29位有效数字 |
1.数值型:整形(int a=5;)和非整形(double pi=3.14; decimal d=5.55m)
2.非数值型:字符型(char='a';string name="张三";)
注意:在C#开发环境中,直接写一个有小数点的类型,这个类型是double类型,在小数点后面加一个m/M就是告诉编译器这个数字是decimal类型.
变量声明的三种方法:
1.int a; a=3;
2.int a=3;
3.int a=3,b=4,c=5
注:多重变量声明中的变量必须类型相同,变量名必须用逗号分隔,可以在变量名后包含初始化语句。
此时分别执行Console.WriteLine(a);向屏幕输出a的值都是3
类型自动转换规则
参与运算(算术运算和赋值运算)的操作数和结果类型必须一致。当不一致时,满足下面条件,系统自动完成类型转换
⒈两种类型兼容 例如: int和double兼容
⒉目标类型大于源类型 例如:double>int
对于表达式:如果一个操作数为double类型,则整个表达式可提升double型。
语法:(数据类型)待转换的值;
例如:
1 {
2 int b = (int)3.14;
3 }
变量的命名规则:
1.必须以"字母(包括中文)"或@符号开头
2.后面可以跟人意"字母"、数字、下划线。但是不允许特殊符号。
C#变量命名编码规划遵循的是Camel命名法,即首个单词的首字母小写,其余单词的首字母大写。
"+"在C#中有两种含义
1.是数学中的加法运算(条件是:两边参与运算的数据都为数值类型)
2.是连接的意思(条件是:两边参与运算的数据中有一个是非数值类型)
比如:
string a = "1";
string b = "2";
Console.WriteLine(a + b);
Console.ReadKey();
此时向屏幕输出的是12 而不是3.
占位符
在Console.WriteLine("")中,第一个变量字符串中可以使用占位符,占位符由{数字}组成,数字由0开始编号,占位符可以重复使用,也可以省略。
比如:第一个占位符{0},它取的是第一个变量
值得注意的是:
Console.WriteLine()中有有多个参数的时候,输出的都是第一个参数的内容,从第二个参数开始都是用来替换第一个参数中的占位符的值,所以从第二个参数开始,要不要输出,就要看第一个参数中有没有相关的占位符。
入门的第三句话
Console.ReadLine();当程序运行到Console.ReadLine的时候,程序暂停,等待用户从键盘里输入一句话,输入之后按回车,将继续执行程序。
用户输入的内容为字符串类型,若是想要得到输入的内容则需要定义一个string类型的变量来接收,即string input=Console.ReadLine();
转义字符
当我们需要在字符串中输入一些特殊的字符的时候,比如:半角引号,换行,退格,这时候就需要使用转义字符,转义字符由:\+一个字母来组成具有特殊意义的一个字符
常用的转义字符有:
\n:表示换行
\b:表示退格(删除前一个内容)
\t:由多个空格组成的字符,具有行与行之间的对齐功能(可以理解为一个tab键)
还有一个较特殊的,就是@号,只要语句前加@号,即表示@号后面的包括有转义符的都按不进行转义运算。:
在字符串前面加一个@有如下意义:
1.若字符串中如果有有\,则不在理解为转义符
Console.WriteLine(@"C:\Users\Administrator\Desktop");
此时向控制台输出C:\Users\Administrator\Desktop
2.使字符串可以换行
Console.WriteLine(@"C:\Users\Administrator\Desktop\Program Files\Apple Software Update") 当在C#环境中,输出的语句超过一行的时候,如果不适用@系统则会报错,若是使用了@则可以换行。