使用关键字const创建常量,在创建常量时必须设置它的初始值,一旦设置就不允许修改。
使用关键字const创建常量,在创建常量时必须设置它的初始值,一旦设置就不允许修改。
必须使用new关键字来创建引用类型变量。
获取当前日期代表星期几的返回值:
int k=(int)DateTime.Now.DayOfWeek;
常量
1使用关键字const来创建常量
2在创建常量时必须设置它的初始值
namespace Test09
{
class Program
{
static void Main(string[] args)
{
int MyInt = 999; //声明一个整型变量
const int MyWInt = 112; //声明一个整形常量
MyInt = 666; //重新将变量赋值 告诉我们变量是可以重新赋值的,而常量不可以
}
}
}
声明一个变量用分号结尾,也可以初始化变量。
声明常量需要赋初值
byte 0-255之间。
浮点类型包含小数
bool初始值是false
变量具有必须有类型,名称和值
常量的值在编译的时候就确定了
常量被声明之后必须被赋值
常量在定义的时候必须设置他的初始值
变量可以重新赋值,常量只能够被赋值一次
sbyte,byte,short,ushort,int.uint,long,ulong,char,float,double,decimal,bool,string
int Myint = 112是变量
const int Myint = 112 就是常量了
const是用来标注是某变量常量的
多个变量以,分隔
等号右边的值赋值给左边的变量
强制转换的时候会产生精度的丢失
double类型转换成int类型需要加(int)强制转换 (显示转换)
int b=312; 隐示转换
double a=b;
装箱拆箱
值类型---引用类型:装箱
引用类型---值类型:拆箱
值类型(直接存储数据值):整数类型、浮点类型、布尔类型。
整数类型:
byte(8位无符号整数)对应的整数有效范围0~255。
short 对应的整数有效范围-32768~32767。
int(32位有符号整数)。
浮点类型:
float fl = 3.14F(后面+“f”可以将默认的3.14 double型转换为float型)
布尔类型:
例:bool tr 默认初始“tr”的值为false。
类型转换:
(1)隐式转换:不要声明就能进行转换。
(2)显示转换:强制转换,需要明确声明。
(3)拆箱和装箱:
拆箱:将值类型转换为引用类型;
装箱:将引用类型转换为值类型。
for循环内的局部变量,作用域只在循环体内
for(int i=0;i<=20;i++)
{
console.WriteLine(i.ToString());
}
变量:
1、值类型
1.整型 byte short int long
2.浮点型 float double;
3.布尔型 true false
2、引用类型
对一个变量的操作会影响另一个变量所引用的同一对象
值类型直接存储其值,引用类型存储对其值的引用。
枚举型 enum
enum 枚举名{
}
类型转换
1、隐式转换
2、显示转换(强制类型转换)
3、拆箱和装箱
装箱:把值类型隐式转换成引用类型
拆箱:把引用类型显示转换成值类型
变量具有名称 类型 和值
类型:值类型,引用类型
值类型:直接在堆栈中分配,效率高
整数类型:int byte short
浮点类型:float double
小数默认是double 类型转换!
布尔类型:bool tr =false
int v1=0;
int v2=v1;
v2=88;
结果:v1=0,v2=88
变量之间互不影响,v1将副本赋值给v2
引用类型:对象类型数据
C r1=new C()
C r2=r1; r1 r2同时指向new C();
如果指向同一个对象(同一个内存区域)变量之间会互相影响
值类型与引用类型的区别:
枚举类型:独特的值类型 ,声明相同性质的常量
enum Date
{
sun=0;
mon=1;
}
类型转换:
隐式转换
显式转换 double x=2.3333;
int y=(int)x;
精度大转换精度小:显示
精度小转换精度大:隐式
拆箱装箱:!!!!
引用转换值类型:拆(显式)
int i=112;
object o=i;
int j=(int)o;
值类型转换引用:装 int i=2008
object o=i;
变量类型
1.值类型(直接存储其数据值,值变量在堆栈中进行分配,效率高):
(1)整数类型
byte:8位无符号整数(0-255)
int:32位有符号整数
(2)浮点类型
float(单精度):7位(必须要加f)
dobule(双精度):15—16位(后加d(可省略))
(3)布尔类型
2.引用类型
在程序执行过程中,预先定义的对象类型以new创建对象实例,并且存储在堆栈中
1.必须使用new关键字来创建引用类型变量。
2.引用类型被赋值前的值都是null。
3.多个引用类型变量可以引用同一对象,这种情况下,对一个变量的操作会影响另一个变量所引用的同一对象。
例:
class C
{
public int Value;
}
static void Main(){
C r1=new C();
C r2=r1;
r1.Value=112;//此时也改变了r2.Value
int v1=0,v2=v1;
v2=927;//此时v1还是0,v2改变不影响v1
}
两者区别
(1)对于值类型的实例,如果作为方法中的局部变量,则被创建在线程栈上
(2)引用类型的实例创建在托管堆上
3.枚举类型
用于声明一组具有相同性质的常量(如:星期,月份)
class Program
{
enum MyDate
{
Sun=0;
Mon=1;
}
static void Main(){
int k=(int)DateTime.Now.DayOfWeek;
switch(k){
case (int)MyDate.Sun:
Console.WriteLine("今天周日");
break;
}
}
4.类型转换
(1)隐式转换
double x=1.111
int y=x;//会出错
(2)显式转换
int y=(int)x;
(3)拆箱和装箱
装箱:值类型->引用类型(可隐式转换)
int i=2008;
object obj=i;//执行装箱操作,值类型赋给引用类型(object 是所有类型的基类)
i=927;//obj=2008,i=927
拆箱:引用类型->值类型(显式转换)
int i=112;
object obj=i;
int j=(int)obj
vs注释快捷键:
添加注释:ctrl+k 然后ctrl+c
去除注释:ctrl+k 然后ctrl+u
Console.WriteLine("value:{0},{1}",v1,v2);
//语句中双引号内为 { } 需注意。
onsole.ReadLine(); //需注意留住控制台窗口
object类型是所有数据类型的基类