一、注释
//单行注释(快捷键:Ctrl+K+C注释,Ctrl+K+U取消注释)
/*多行注释*/
///三杠注释
二、程序文件的基础结构
//引用命名空间 using System; //命名空间--工具包 namespace Systeam01 { //类--工具 class Program { //函数--工具做的事情 static void Main(String[] args) { //函数代码块 Console.WriteLine("Hello,World!); }三、控制台输入输出语句
//输出后换行 Console.WriteLine(" "); //输出后不换行 Console.Write(" "); //输入到点击回车为止 Console.ReadLine(" "); //接收到输入就结束 Console.ReadKey(" ");四、折叠代码
//只在编辑代码时有用,在发布和执行代码时会自动删除 #region ``` #endregion五、变量
变量类型
1、有符号整型变量:
sbyte -128~127
int -21亿~21亿多
short -32768~32767
long -9百万兆~9百万兆
2、无符号整形变量
byte 0~255
uint 0~42亿多
ushort 0~65535
ulong 0~18百万兆
3、浮点数(小数)
float 存储7~8位有效数字,编译器不同,有效数字也可能不一样(值后面加f,因为C#中申明的小数默认是double的类型,加f是告诉系统它是float类型)(有效数字:从左到右第一个非零数开始计算)
double 存储15~17位有效数字
decimal 存储27~28位有效数字,不建议使用
4、特殊类型
bool true/false 表示真假的数据类型
char 用来存储单个字符的变量类型
string 字符串类型 用来存储多个字符 没有上限
变量的使用和修改不能无中生有 必须先声明才能使用
变量声明
多个变量同时声明:
变量类型 变量名 = 初始值,变量名 = 初始值...;
变量声明时可以不设置初始值,但是不能直接使用
变量的存储
1byte = 8bit
1KB = 1024byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
通过sizeof方法 可以获取变量所占的内存空间(单位:字节)
变量的本质是二进制,计算机中所有数据都是二进制 是一堆0和1
变量的命名规范
1、不能重名
2、不能以数字开头
3、不能以程序关键字命名
4、不能有特殊符号(下划线除外)
建议的命名规则:变量名要有含义——用英文(拼音)表示变量的作用
非常不建议用汉字命名
常用命名规则:
驼峰命名法——首字母小写 之后单词首字母大写(变量)
帕斯卡命名法——所有单词首字母都大写(函数、类)
潜在知识点——C#中对大小写是敏感的 是区分的
六、常量
常量的声明:const 变量类型 变量名 = 初始值;
常量的特点:
1、必须初始化
2、不能被修改
七、转义字符
用来表示一些特殊含义字符
固定写法:\字符
常用转义字符:
单引号 \'
双引号 \"
换行 \n
斜杠 \\
制表符(空一格tab键) \t
光标退格 \b
空字符 \0
警报音 \a
八、隐式转换
类型转换 就是不同变量之间的相互转换
隐式转换基本规则——不同类型之间的自动转换(大范围装小范围)
1、相同大类之间的转换
有符号 long->int->short->sbyte
无符号 ulong->uint->ushort->byte
浮点数 decimal double->float(decimal没办法用隐式转换去存储double和float)(float可以隐式转换成double)
特殊类型 boor char string 之间不存在隐式转换
2、不同大类之间的转换
(1)无符号和有符号之间
有符号的变量 不能隐式转换成 无符号的变量(无符号不能装有符号)
无符号的变量 可以隐式转换成 范围更大的有符号的变量(有符号可以装无符号,前提自己范围要包含无符号的范围)
(2) 浮点数和整数(有符号、无符号)之间
任意类型的整数都可以隐式转换成浮点数(浮点数(包括decimal)可以装载 任何类型的整数)
浮点数 不能隐式转换成 整数(因为整数不能存小数)
(3)特殊类型和其它类型之间
bool 和 string 没有办法和其它类型 相互隐式转换
char 没办法隐式存储 其它类型的变量;char 可以隐式转换成整型和浮点型(char存储的字母、数字字符、标点、空白符、转义字符 都是一个个ASCII码,在计算机里都是一个个数字)
九、显示转换
手动处理——强制转换
1、括号强转
作用 一般情况下 将高精度的类型强制转换成低精度
语法 变量类型 变量名 = (变量类型)变量名;
float f = 0.12345678f; int i = (int)f; Console.WriteLine(i); //输出结果:0
注意 精度问题 范围问题
2、Parse法
作用 把字符串类型转换成对应的类型
语法 变量类型 变量名 = 变量类型.Parse(变量名)
string str = "123"; int i = int.Parse(str); Console.WriteLine(i); //输出结果:123
注意 字符串必须能够转换成对应类型 否则报错
3、Convert法
作用 更准确的将各个类型之间进行相互转换
语法 Convert.To目标类型(变量或常量)
精度比括号强转更准确
int i = Convert.ToInt32("123"); Console.WriteLine(i ); //输出结果:123 int j = Convert.ToInt32(1.54321f); Console.WriteLine(j ); //输出结果:2 (四舍五入) int k = Convert.ToInt32("A"); Console.WriteLine(k); //输出结果:65注意 填写的变量或常量必须正确 否则出错
每一个类型都存在对应的Convert中的方法
sbyte——ToSByte
short——ToInt16
int——ToInt32
long——ToInt64
byte——ToByte
ushort——ToUInt16
uint——ToUInt32
ulong——ToUInt64
float——ToSingle
double——ToDouble
decimal——ToDecimal
bool——ToBoolean
char——ToChar
string——ToString
4、其它类型转string
作用 拼接打印
语法 变量.toString();
string str1 = 1.ToString(); string str2 = true.ToString(); string str3 = 'A'.ToString(); string str4 = 1.2f.ToString(); //拼接打印 Console.WriteLine("123123" + 1 + true);