语法知识
主流语言的应用领域:
C:嵌入式硬件开发
C++:游戏客户端、服务器、软件
C#:游戏客户端、服务器、软件、网站
Java:安卓、服务器、网站、软件
JavaScript:H5游戏、网站、服务器
PHP:网站、服务器
python:网站、服务器、辅助开发
SQL:数据库
GO:服务器
Objective-C:苹果相关(mac、ios)
Swift:苹果相关(mac、ios)
为什么学习C#:游戏市场决定
开发环境的搭建
官网安装 Visual Studio
创建工程
位置可以自己选择
注释
注释快捷键:CTRL+k+c
取消注释快捷键:CTRL+k+u
控制台输入输出
Console.WriteLine("Hello, World!"); //打印一行信息自动空行
Console.Write("Hello, World!"); //打印一行信息不自动空行
Console.ReadLine(); //输入信息 ,直到回车结束
Console.WriteKey(); //检测是否按键,只要有按键就输入结束
程序语句的固定写法:完成一句命令书写用英文符号结束,语句中的标点用英文符号。
变量
折叠代码:#region (代码块声明解释) #endregion
作用:将中间代码块折叠起来,避免代码凌乱,只在编辑时有用,发布代码或执行代码会被自动删除
变量申明固定写法: 变量类型 变量名 = 初始值; int i= 1;
变量类型:14种变化; 变量名:一定的命名规则; 初始值:与变量类型统一。
有符号整形变量(正负数包含0):sbyte -128~127 ;int :-21亿~21亿; short-32768~32767 ;long -9百万兆~9百万兆
无符号整形变量(正数和0):byte 0~255; uint 0~42亿 ;ushort 0~65535; ulong 0~18百万兆
浮点数(小数):float(7/8位有效数字,从右到左非0开算)float f = 1.2131233f(加f是因为C#小数默认double),double(15到17位有效数字),decimal(27~28位)
特殊类型:bool(true,false);char (存储单个字符);string(字符串类型);
不同的变量储存的范围和类型不一样,本质是占用的内存不同
变量的本质
sbyte:1字节;int :4字节; short: 2字节;long:8字节
byte:1字节;uint :4字节; ushort: 2字节;ulong:8字节
float: 4字节; double:8字节 ; decimal: 16 字节;
bool:1字节; char:2字节。
1byte = 8bit
变量的命名规范
必须遵守的规则:1.不能重名;2.不能以数字开头;3.不能以程序关键字命名;4.不能有特殊符号(下划线除外)
建议的命名规则:变量有含义(英语或拼音)
不建议:汉字命名
常用规则:驼峰命名法(首字母小写之后单词首字母大写)、帕斯卡命名法(所有单词首字母大写(函数 、类))
C#大小写敏感,区分大小写。
常量
关键字:const
固定写法: const 变量类型 变量名 = 初始值;
特点:必须初始化,不能被修改。
转义字符
单引号:\'
双引号: \"
换行:\n
斜杠:\\
制表符:\t
光标退格:\b
空字符:\0
警报音:\a
取消转义字符:字符串前加@符号
类型转换
隐式转换
就是不同变量类之间的转换,不同类型之间的转换:大范围装小范围,可以大装小,不可以小装大、
有符号:long----》int----》short-----》sbyte
无符号:ulong---》uint----》ushort-----》byte
小数:double----》float
decimal与double和float没有关系,不能隐式转换
特殊类型无隐式转换
有符号变量不能隐式转换为无符号,范围必须涵盖才能隐形转换
显示转换
1. 括号强转:一般情况是高精度强制转低精度
语法:变量类型 变量名 = (变量类型)变量;
注意:精度问题、范围问题(因为范围问题造成异常,可能变负数)
bool和string不能通过括号强转。
2. parse法:字符串类型转为对应类型。
语法:变量类型.Parse("字符串")
注意:字符串必须能转换为对应的类型,否则报错。范围也与变量类型对应,否则报错。
3. convert法:更准确的将各个类型之间进行相互转换。
语法:Convert.To目标类型(变量或常量)
注意:填写的变量和常量必须正确,否则出错。
4. 其他类型转String:用作拼接打印
语法:变量.toString();
异常捕获
作用:可以避免当代码报错时程序卡死
基本语法:
运算符
复制符号:= 把右侧的值赋值给左侧的变量。‘
算数运算符:+ - * / %
优先级:先乘除取余后加减,括号改变优先级,先算内层括号由内往外
符合运算符:+= -= *= /= %=
自增减:i++ i-- 先用再加减 ++i --i 先加减再用
字符串拼接
第一种:通过加号进行字符串拼接。
第二种:string.Format("待拼接内容",内容一,内容二,....... );
拼接内容中的固定规则,想要被拼接的内容用占位符替代{数字},数字:0~n,依次往后。
第三种:控制台打印拼接:与string.Format()类似。
条件运算符
逻辑运算符:
逻辑与:&& 有假则假
逻辑或:|| 有真则真,同假则假
逻辑非:! 真变假,假变真
混合使用优先级:
!(逻辑非)优先级最高
逻辑运算符优先级 低于 算数运算符 条件运算符 (逻辑非除外)
逻辑运算符短路原则:只要 逻辑与或者逻 左边满足了条件,右边的内容 对于我们来说 已经不重要
位运算符
主要用数值类型进行计算的将数值转换为2进制 再进行位运算
1、 位与 &:连接两个数值进行位计算 将数值转为2进制 对位运算 有0则0
2、位或 | : 连接两个数值进行位计算 将数值转为2进制对位运算 有1则1
3、异或 ^:连接两个数值进行位计算 将数值转为2进制 对位运算 相同为 不同为1
4、位取反 ~:写在数值前面 将数值转为2进制对位运算 0变1 1变0
5、左移<< 和 右移>>:一个数的2进制数进行左移和右移 左移几位 右侧加几个0
三目运算符
条件分支语句
if
switch
循环语句
while