一、第一个应用程序
using System;
namespace 测试项目
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
1.VS窗口介绍
侧方窗口:显示解决方案文件夹结构,可以打开各个代码文件。
2.理解写代码这件事
写代码其实在进行调用
3.注释
注释是对代码的解释和说明,目的是让人能够更轻松地了解代码。注释内容不会被程序识别,只起说明作用。
//第一种注释 两杠注释,注释单行
//控制台打印:你好,世界!
//第二种注释 星号注释,注释多行
/*大家撒亏发你就撒娇发安慰剂撒都叫我
打死u房价飞机到*/
//第三种注释 三杠注释
/// <summary>
/// 类
// </summary>
注释快捷键:ctrl+K ctrl+C,取消注释快捷键:ctrl+K ctrl+U
4.程序文件的基础结构
//引用命名空间(工具包)
using System;
namespace Lesson1_第一个应用程序
{
//命名空间代码块
//命名空间——工具包
//面向对象相关知识点内容,会在这写代码
// 类——工具
class Program
{
//类代码块
//面向对象相关知识点内容,会在这写代码
/// <summary>
/// 函数——工具能做的事情
/// 主函数Main,一个程序的主入口
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
//函数代码块 目前学习基础知识
//所有代码都写在该代码块中
Console.WriteLine("你好,世界!");
}
}
}
5.控制台输入输出语句
//输入 向控制台输入内容
//检测玩家输入的代码
//等待玩家输入完毕后回车,才继续执行后面的代码
//玩家可以输入 很多信息 按回车结束
Console.ReadLine();
//检测玩家是否按键,只有按了任意键就会认为输入结束
Console.ReadKey();
//输出 在控制台打印信息
//双引号之间的内容对于符号没有特别要求
Console.WriteLine("123456"); 打印并换行
Console.Write("123455"); 只打印没有换行
二、变量
1.变量知识点
1.1折叠代码
//知识点一 折叠代码
//主要作用 让编程时逻辑更清晰
//由#region #endregion配对出现的
//具体作用是可以将中间包裹的代码折叠起来 避免代码太凌乱
//本质是编辑器提供给我们的 预处理指令
//它只会在编辑时有用 发布代码或执行代码会被自动删除
1.2如何声明变量
//变量 可以变化的容器
//不同的 变量类型 可以存储不同类型的值
// 变量声明固定写法
// 变量类型 变量名 = 初始值;
// 变量类型 有14种
// 变量名 我们自定义 按照一定规则
// 初始值 一定要和变量类型统一
// = 和 ; 是固定的 不变的
//变量类型
//死记硬背 各种变量类型的关键字
//记忆 各种不同变量的类型 所能存储的范围
//记住 各种不同变量的类型 所能存储的类型
//1.有符号的整型变量 能存储 一定范围 正负数包括0的变量类型
//sbyte -128~127
sbyte sb = 1;
//通过+进行拼接打印
Console.WriteLine("sbyte变量sb存储的值是"+sb);
//int -21亿~21亿多
int i = 2;
//short -32768~32767之间的数
short s = 3;
//long -9百万兆多~9百万兆多之间的数
long l = 4;
//2.无符号的整型变量 能存储 一定范围 0和正数的变量类型
//byte 0~255
byte b = 1;
//uint 0~42亿多的一个范围
uint ui = 2;
//ushort 0~65535之间的一个数
ushort us = 3;
//ulong 0~18百万兆之间的数
ulong ul = 4;
//3.浮点型(小数)
//float 存储7或8位有效数字 根据编译器不同 有效数字也可能不同
//有效数字 是从左到右非0数开始算有效数字的
//之所以在后面加f 是因为c#中 声明的小数默认是double类型 加f 是告诉系统是float类型
float f = 0.1234567890f;
Console.WriteLine(f);
//double 存储15~17位有效数字
double d = 0.12345678123456789434267536354;
Console.WriteLine(d);
//decimal 存储27~28位有效数字 不建议使用
decimal de = 0.12345678932456576432343242m;
Console.WriteLine(d);
//4.特殊类型
//bool true/false 表示真假的数据类型 真假类型
bool bo = true;
bool bo2 = false;
Console.WriteLine(bo + "_" + bo2);
//char 存储单个字符的变量类型 字符类型
char c = 'a';
//string 存储多个字符的 没有上限 字符串类型
string str = "abcdefg";
//变量的使用和修改
int x = 1000;
Console.WriteLine(x);
//必须先声明才能用,不能无中生有
x = 900;
Console.WriteLine(x);
1.3不同的变量类型
//不同的变量 存储的范围和类型不一样 本质是占用的内存空间不同
//选择不同的数据(变量)类型装载不同的数据
//姓名
//char string
string name = "Cheese";
//年龄
byte age = 18;
//身高
float height = 173.5f;
//体重
float weight = 60.0f;
//性别 true男 false女
bool sex = true;
//数字用int 小数用float 字符串用string 真假用bool
1.4多个相同类型变量同时声明
//多个同类型变量声明
//固定写法
//变量类型 变量名=初始值, 变量名=初始值, 变量名=初始值...;
int a1 = 1, b1 = 2, c1 = 3;
string s1 = "123", s2 = "234", s3 = "467";
1.5变量初始化相关
//变量声明时可以不设置初始值,不建议这样写 不安全
int a2;
a2 = 1;
Console.WriteLine(a2);
2.变量的本质
2.1变量类型回顾
//有符号
//sbyte -128~127
//int -21亿~21亿多
//short -32768~32767
//long -9百万兆多~9百万兆多
//无符号
//byte 0~255
//uint 0~42亿多
//ushort 0~65535
//ulong 0~18百万兆多
//浮点数
//float 7~8位有效数字
//double 15~17位有效数字
//decimal 27~28位有效数字
//特殊
//bool true/false
//char 单个字符
//string 多个字符
2.2变量的存储空间(在内存中)
//1byte = 8bit
//1KB = 1024byte
//1MB = 1024KB
//1GB = 1024MB
//1TB = 1024GB
//通过sizeof方法 获取变量类型所占的内存空间(单位:字节)
//有符号
int sbyteSize = sizeof(sbyte);
Console.WriteLine("sbyte所占的字节数为:" + sbyteSize);
int intSize = sizeof(int);
Console.WriteLine("int所占的字节数为:" + intSize);
int shortSize = sizeof(short);
Console.WriteLine("short所占的字节数为:" + shortSize);
int longSize = sizeof(long);
Console.WriteLine("long所占的字节数为:" + longSize);
Console.WriteLine("================================");
//无符号
int byteSize = sizeof(byte);
Console.WriteLine("byte所占的字节数为:" + byteSize);
int uintSize = sizeof(uint);
Console.WriteLine("uint所占的字节数为:" + uintSize);
int ushortSize = sizeof(ushort);
Console.WriteLine("ushort所占的字节数为:" + ushortSize);
int ulongSize = sizeof(ulong);
Console.WriteLine("ulong所占的字节数为:" + ulongSize);
Console.WriteLine("================================");
//浮点数
int floatSize = sizeof(float);
Console.WriteLine("float所占的字节数为:" + floatSize);
int doubleSize = sizeof(double);
Console.WriteLine("double所占的字节数为:" + doubleSize);
int decimalSize = sizeof(decimal);
Console.WriteLine("decimal所占的字节数为:" + decimalSize);
Console.WriteLine("================================");
//特殊类型
int boolSize = sizeof(bool);
Console.WriteLine("bool所占的字节数为:" + boolSize);
int charSize = sizeof(char);
Console.WriteLine("char所占的字节数为:" + charSize);
//sizeof不能得到string类型所占的内存大小的
//字符串长度是可变的 不确定
//int stringSize = sizeof(string);
2.3 变量的本质知识点
//变量的本质是2进制——>计算机中所有数据的本质都是二进制 是一堆0和1
//为什么是2进制?
//数据传递只能通过电信号,只有开和关两种状态。所以就用0和1来表示这两种状态
//计算机中的存储单位最小为bit(位),他只能表示0和1两个数字
// 1bit 就是1个数 要么0要么1
// 为了方便数据表示
// 出现一个叫byte(字节)的单位,它是由8个bit组成的存储单位。
// 所以我们一般说一个字节为8位
// 1byte = 0000 0000
// 2进制和10进制的对比
// 2进制和10进制之间的相互转换
3.变量的命名规范
遵守的规则:
- 不能重名
- 不能以数字开头
- 不能使用程序关键字命名
- 不能有特殊符号(下划线除外)
- 建议的命名规则:变量名要有含义——>用英文(拼音)表示变量的作用
非常不建议的命名规则:用汉字命名
常用的命名规则:
驼峰命名法——首字母小写,之后单词首字母大写(变量)
string myName = "老狮";
string yourName = "你的名字";
string yourMotherName = "";
帕斯卡命名法——所有单词首字母都大写(函数、类)
public void PlayGame(){
}
潜在知识点——C#中对大小写是敏感的 是区分的
三、常量
1.常量的声明
//关键字 const
//固定写法: const 变量类型 变量名 = 赋值;
//变量的声明
int i = 10;
//常量的声明
const int i2 = 20;
2.常量的特点
//1.必须初始化
//2.不能被修改
//变量声明可以不初始化
string name;
//之后再来修改
name = "123";
const string myName = "cheese";
//作用:声明一些常用不变的变量,避免被修改或者被误改
//PI 3.1415926
const float PI = 3.1415926f;
//常量有什么特点?
//1.常量必须初始化
//2.常量不能被修改
//3.常量的声明,在声明的变量时在前面加一个const关键字
//const int i = 10;
//4.讲解静态关键字static后 会回来讲解常量的特点
//简述在游戏开发中常量会用来干什么?
//常量是用来声明一些游戏中不会变化的变量
//PI 角度转弧度 弧度转角度 重力加速度
//一些数学定理或者公里性质的变量 用来参与计算的变量
//如果游戏比较特殊,玩家的最大血量是不变的也能使用
四、转义字符
什么是转义字符?
它是字符串的一部分 用来表示一些特殊含义的字符
比如:在字符串中表现 单引号 引号 空行等等
string str = “abcd"ef”;
1.转义字符的使用(固定写法)
// \字符
//不同的 \和字符的组合 表示不同的含义
//常用转义字符
//单引号 \'
string str = "\'hahahaha\'";
Console.WriteLine(str);
//双引号 \"
str = "\"abcdef\"";
Console.WriteLine(str);
//换行 \n
str = "123123123\n123123";
Console.WriteLine(str);
//斜杠 \\ 计算机文件路径 需要用到\符号
str = "ha\\hahaha";
Console.WriteLine(str);
//不常用转义字符(了解)
//制表符 (空一个tab键) \t
str = "ha\thahaha";
Console.