变量
声明变量使用类型名+变量名即可。
int i;
声明完成之后便可以对其赋值。
i=5;
声明喝赋值可以放在一条语句里。
int i=5;
也可以在一行里同时声明多个变量并赋值。
int a=5,b=6,c=7;
但是这只能在变量类型相同的情况下,如果类型不同,就不能放在一条语句里。
int a=5,double b=6; //这是不对滴
变量的初始化
在方法局部声明的变量称为局部变量。局部变量在使用前必须初始化,否则就会产生错误。
public static void func()
{
int d;
Console.WriteLine(d); //这里会发生错误,因为d没有初始化
}
在类或者结构中作为字段存在的变量,不需要显式初始化,编译器会自动将其初始化为默认值,对于值类型来说是0,对于引用类型来说是null
。
class Program
{
static bool b;
static object o;
static void Main(string[] args)
{
Console.WriteLine(b); //b的值是False
Console.WriteLine(o == null); //o是null
}
}
变量的作用域
一个字段如果和一个局部变量名字相同,那么在该局部变量的作用域内,局部变量会隐藏该同名字段,对名字的访问全部是对该局部变量的访问。如果想要访问字段,可以使用this.字段名
来显式的指定要访问的是哪个变量。如果要访问的是静态的字段,则使用类名.字段名
来访问。
如果一个较大范围的局部变量和一个嵌套的较小范围的局部变量重名,那么就会发生错误。
常量
顾名思义,常量就是在使用过程中值不会发生变化的变量。因此,常量必须在声明的时候初始化,否则就无法初始化了。常量使用const
关键字定义。常量习惯上全部大写。
const int MAXLENGTH=1024;
常量在使用的时候有几个注意事项:
1. 常量必须在声明的时候初始化。
2. 常量的值需要在编译期就能确定,不要使用一个在运行时才能知道值的变量来初始化常量。
3. 常量隐含静态,并且不能给常量声明static
关键字。