目录
前言
视频资料来源于bilibili 唐老狮。
1、输入输出语句
输出
Console.WriteLine("变量"); //控制台打印出内容,在控制台打印一行信息,打印结束后,自动空一行
Console.Write("变量"); //控制台打印出内容,打印结束后不会空一行
输入
Console.ReadLine(); //输入完毕后,按回车键才能执行后面的语句
Console.ReadKey(); //检测是否按键,按任意键就会认为结束
1.1练习题
using System;
namespace lesson1_输入输出
{
class Program
{
static void Main(string[] args)
{
#region 习题1
//请简单描述Console.Write("");和Console.WriteLine("");的区别
//简单描述Console.ReadKey();和Console.ReadLine();的区别
//区别
//Console.WriteLine("变量"); //控制台打印出内容,在控制台打印一行信息,打印结束后,自动空一行
//Console.Write("变量"); //控制台打印出内容,打印结束后不会空一行
//区别
//Console.ReadLine(); //输入完毕后,按回车键才能执行后面的语句
//Console.ReadKey(); //检测是否按键,按任意键就会认为结束
#endregion
#region 习题2
//请用户输入用户名,年龄,班级
Console.Write("用户名:");
Console.ReadLine();
Console.Write("年龄:");
Console.ReadLine();
Console.Write("班级:");
Console.ReadLine();
#endregion
#region 习题3
//问用户喜欢什么运动,不管用户输入什么,你都回答:“哈哈,好巧,我也喜欢这个运动”
Console.WriteLine("你喜欢什么运动");
Console.ReadLine();
Console.WriteLine("哈哈,好巧,我也喜欢这个运动");
#endregion
#region 习题4
//在控制台上输出以下10*10的空心星型方阵
//**********
//* *
//* *
//* *
//* *
//* *
//* *
//* *
//* *
//**********
Console.WriteLine("**********");
Console.WriteLine("* *");
Console.WriteLine("* *");
Console.WriteLine("* *");
Console.WriteLine("* *");
Console.WriteLine("* *");
Console.WriteLine("* *");
Console.WriteLine("* *");
Console.WriteLine("* *");
Console.WriteLine("**********");
#endregion
}
}
}
2、变量
2.1 知识点
using System;
namespace lesson2_变量
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("变量");
#region 知识点一 折叠代码
//主要作用 让我们编程时,逻辑更加清晰
//它是有 #region #endregion 配对出现的
//它的具体作用 是可以将中间包裹的代码折叠起来,避免代码太凌乱
//本质是 编辑器提供给我们的 预处理指令
//它只会在编辑时有用 发布了代码 或执行代码 它会被自动删除
#endregion
#region 知识点二 如何声明变量
//变量 可以变化的容器
//变量 就是用来存储各种不同类型数值的一个容器
//不同的变量类型 可以存储不同类型的值
//变量申明固定写法
//变量类型 变量名 = 初始值;
//int i=1;
//变量类型 有14种变化 变量名 自定义 要按照一定的规则
//变量类型
//1.有符号的整形变量 是能存储一定范围 正负数包括0的变量类型
// sbyte -128~127 sbyte sb = 1;
// int -21亿~21亿多 int i = 2;
// short -32768~32767之间的数 short s = 3;
// long -9百万兆~9百万兆之间的数 long l = 4;
//2.无符号的整形变量 是能存储一定范围 0和正数的变量类型
// byte 0~255 byte sb = 1;
// uint 0~42亿多 uint i = 2;
// ushort 0~65535之间的数 ushort s = 3;
// ulong 0~18百万兆之间的数 ulong l = 4;
//3.浮点数(小数)
// float 存储7/ 8位有效数字 根据编译器不同 有效数字也有可能不一样
//有效数字 是从左到右从非0数开始算有效数字的
// float f = 0.2555266f; Console.WriteLine(f);
// 之所以要在后面加f 是因为C#中 申明的小数 默认为double类型 加f 是告诉系统 它是float类型
// double 存储15~17位有效数字 抛弃的数字 会四舍五入
// double d = 0.22664168633325;
// decimal 存储27~28位有效数字 不建议使用
//4.特殊类型
// bool true false 表示真假的数据类型 真假类型
// bool bo = true;
// bool bo1 = false;
// char 是用来存储单个字符的变量类型 字符类型
// char c =’唐‘;
// string 是用来存储多个字符的,没有上限 字符类型
// string str =“vhxibwdhiuw”
#endregion
#region 知识点三 为什么有那么多不同的变量类型
//不同的变量 存储的范围和类型不一样 本质是占用的内存空间不同
//选择不同的数据(变量)类型装在不同的数据
//数字用int 小数用float 字符串用string 真假用bool
#endregion
#region 知识点四 多个相同类型变量 同时申明
//多个同类型变量申明
//固定写法
//变量类型 变量名 = 初始值,变量名 = 初始值,变量名 = 初始值…….;
int a1 = 1, a2 = 2, a3 = 3;
#endregion
#region 知识点五 变量初始化相关
//变量声明是可以不设置初始值 但是不建议这样写 不安全
#endregion
}
}
}
2.2 练习题
using System;
namespace lesson2_变量练习题
{
class Program
{
static void Main(string[] args)
{
#region 习题1
//下面代码的输出结果是 36.6
double num = 36.6;
Console.WriteLine(num);
#endregion
#region 习题2
//申明float类型变量时,为何要在数字后面加f?
//之所以要在后面加f 是因为C#中 申明的小数 默认为double类型 加f 是告诉系统 它是float类型
#endregion
#region 习题3
//请定义一系列变量来存储你的名字,年龄,性别,身高,体重,家庭住址等,并打印出来
string name = "小明";
int age = 10;
string sex = "女";
double higth = 158.2;
double weigth = 58;
string address = "中国";
Console.WriteLine("我的名字是{0},年龄{1},性别{2},身高{3},体重{4},家庭住址{5}", name, age, sex, higth, weigth, address);
#endregion
#region 习题4
//小明的数学成绩是80,语文成绩是78,英语成绩是98,请用变量描述并打印
int ma = 80, ch = 78, en = 98;
Console.WriteLine("小明的数学成绩是{0},语文成绩是{1},英语成绩是{2}", ma, ch, en);
#endregion
}
}
}
3.变量本质
using System;
namespace lesson3_变量的本质
{
class Program
{
static void Main(string[] args)
{
#region 知识点一 变量的存储空间
//1byte = 8 bit
//1MB = 1024 byte
//1GB = 1024 MB
//1TB = 1024 GB
//通过sizeof方法 可以获取变量类型所占的内存空间(单位:字节)
//有符号 int sbyteSize = sizeof(sbyte);
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("sbyte 所占字节数位:" + longSize);
//无符号 int byteSize = sizeof(sbyte);
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);
//浮点数 int floatSize = sizeof(float);
int floatSize = sizeof(float);
Console.WriteLine("float 所占字节数位:" + floatSize);
int doubleSize = sizeof(double);
Console.WriteLine("double 所占字节数位:" + doubleSize);
int decimalSize = sizeof(decimal);
Console.WriteLine("decimal 所占字节数位:" + decimalSize);
//特殊类型 int boolSize = sizeof(bool);
int boolSize = sizeof(bool);
Console.WriteLine("bool 所占字节数位:" + boolSize);
int charSize = sizeof(char);
Console.WriteLine("char 所占字节数位:" + charSize);
// sizeof 是不能够得到 string 类型所占的内存大小的
// 因为字符串长度是可变的 不定
#endregion
#region 知识点二 变量的本质
//变量的本质是2进制——> 计算机中所以数据的本质都是二进制 是一堆0和1
//为什么是2进制呢?
//数据传递只能通过电信号,只有开和关两种状态,所以就用0和1来表示这两种状态
//计算机中的存储单位最小为bit(位),他只能表示0和1两个数字
//1bit就是1个数 要不是0 要不是1
//为了方便数据表示 出现一个叫byte(字节)的单位,它是由8个bit组成的存储单位,所以我们一般说一个字节为8位
//1byte = 0000 0000
//2进制和10进制的对比
//2进制和10进制之间的相互转换
#endregion
}
}
}
4.变量命名规范
using System;
namespace lesson3_变量本质
{
class Program
{
static void Main(string[] args)
{
#region 知识点一 必须遵守的规则
//1.不能重名
//2.不能以数字开头
//3.不能使用程序关键字命名
//4.不能有特殊符号(下滑线除外)
//建议的命名规则:变量名要有含义——> 用英文(拼音)表示变量的作用
//非常不建议的命名规则:用汉字命名
#endregion
#region 知识点二 常用命名规则
//驼峰命名法——首字母小写,之后单词首字母大写(变量)
string myName = "名字";
//帕斯卡命名法——所有单词首字母都大写(函数、类)
string MyName = "名字";
//潜在知识点——C#中对大小写是敏感的 是区分的
#endregion
}
}
}