C# 的关键字和标识符
关键字
在Main方法中小写的字 string是关键 而大写String就不是关键字了
namespace _01基础项目 { class Program { static void Main(string[] args) { } }}
标识符是用来给类、方法、变量等命名用的。
如:int i9=33; int i_3=0; 红字即为标识符。关键字不能当做标识符。
C#语言中是去区分大小写的。如:person与Person是两个不一样的东西。
类名 :都是 大写开头。
变量(variable)
都是小写开头。(用来区分类名和变量),因为数据一般都是在内存中,操作内存是需要地址的。那么,变量就是一个在内存中占地盘插一个旗帜的。符合在这个旗帜下的规范的内容,就可以呆在这个旗帜下;
定义一个变量的格式:
变量类型 变量名 =初始值;
example: int i = 0;
string demo = "ltm";
变量的作用域:
int i=5;//声明变量并且给变量赋值;
i=9;给变量赋值。(局部变量?是什么意思。只声明不赋值是不可以拿来使用的,在使用之前要给变量一个值。)(以后再来填此坑)
数据类型
byte<short<int<long(数据类型是以byte给基本单位)
在实际开发的过程中一般以int和double来声明变量类型居多。
显隐式转换
short可以转换为int
example: short i=5; int t=i;(此为隐式转换)
但是int不能转换为byte
example: int i=5; byte t=i ; (报错,因为i的值虽然在byte范围内,但是i是属于int类型,编译器根据类型来判断int>byte类型所以转换失败)
这种时候就需要使用 显示类型转换。
exmaple: int i=5; byte 5=(byte)i; 这个是允许的。但是如果将int的值i=588;那么byte的输出值不会是588而是76。因为byte的最大值是255。(但是76是怎么来的呢?)
byte的最大值是255。588中包含两个255,C#中第一个数是从0开始计算的第一个数值的所以会显示为76。
浮点类型的中 。声明 double不用在末尾加d,但是声明float的时候必须在末尾加f。
常用数据类型
string为字符串类型 想在字符串中打印一个\,那么需要对自己进行转义,需要输入\\来打印一个\。要打印“”也是使用\"\"来打印出""来。
枚举
1、有一些数据是开放性范围的,比如int、float、String。
有些数据可选值是有限取值范围的,比如星座、月份名、方向,如果用1/2/3/4代表东南西北,那万一设置了8怎么办?
2、枚举是一种定义确定取值范围的特殊类型语法:
enum Dir { East,West,North,South; } 使用 Dir d = Dir.East;
基本运算符
3+5+"hello"+5+3 结果是 8hello53;why?
根据运算法则,先计算3+5=8,然后将8转换为字符串类型然后和hello53进行连接。得到的结果就是8hello53
值类型(valuetype)的赋值
int i=10; int j=20; int temp = i;//temp:10;i=10;j=20; i=j;//temp:10;i=20;j=20; j=temp;//temp:10;i=20;j=10; Console.WriteLine("i="+i+";j="+j);
int i=3;//将3赋值给i int j=5;//将5赋值给j i=i+j;//i=3+5得到i=8,这个时候j依旧是5 j=i-j;//j=8-5得到j=3 i=i-j;//i=8-3得到i=5 所以答案是:i=5;j=3;
赋值表达式。 int a=3; int b=4; bool b1 = (a=b);(无法进行编译,因为int类型 无法转换为bool类型。) i++和++i的不同 int i=10; Console.WriteLine(i++);//得到10 i是赋值后再自增。 Console.WriteLine(++i);//得到11 ;i是先自增加1然后得到11