1.Cshap基础
using System; // using:引入外部命名空间
namespace _1.开始 //项目的命名空间 项目的名称
{
class Program //class 就是类 Program 就是类的名字
{
// static 静态方法 Main: 入口方法(函数) 形参(string[]字符串类型的数组 参数):就是形式的参数 并不是实际的
static void Main(string[] args)
{
// 输出语句 Console.WriteLine:换行输出 Console.Write:在同一行输出
Console.WriteLine("Hello,\n World!");
Console.WriteLine("你好!");
Console.WriteLine("同学\t\t们");
Console.Write("机器视觉");
Console.Write("hello");
// 转义字符 \n换行 \t制表符
// 快捷键 ctrl + s 保存 ctrl + z 撤销 ctrl + y 回退 ctrl + F5 运行(不调试) F5 运行(调试)ctrl + k + c 快速注释 ctrl + k + u 解开注释
// 单行注释
/*
多行注释
*/
// @替代了转义字符
2.字符类型
// 创建变量
// 创建了一个容器 容器的名字叫age 容器里面存放了123456 盒子的类型是 int 整数
// int 整数类型 sbyte byte short ushort int uint long ulong
int age = 2147483647;
Console.WriteLine(age);
//string 字符串类型 双引号
string str = "2班";
Console.WriteLine(str);
// double 小数类型
double a = 2.56;
Console.WriteLine(a);
// float 小数类型 赋值的时候要在末尾加上F或f 小数默认是double类型的 加上f 用来区分是double类型还是float类型
float b = 3.14152F;
Console.WriteLine(b);
// char 字符类型 单引号 只能有一个字符;
char c = 'a';
Console.WriteLine(c);
// 先声明
string d;
// 再赋值
d = "1班";
Console.WriteLine(d);
// bool 布尔类型 true 真 是 满足条件 false 假 否 不满足条件
bool bb = true;
Console.WriteLine(bb);
// 变量名 是由字母和下划线组成的 注意:不能以数字开头 要有意义 先声明 后赋值 不能有关键字 可以使用驼峰命名法
// = 赋值 初始化
//字符类型 a1
char a1 = 'a';
//整数类型 b
int b = a1;
Console.WriteLine(a1);
Console.WriteLine(b); // 输出时 会根据字符类型进行输出 参照Ascll表 虽然能够执行 但是语法是不规范的 每一个字符再储存的时候,底层都是以一个整数进行储存的 因为计算机只能识别0和1 所有的储存 再底层原理中 都是---0和1这样的二进制进行储存的
int s = 98;
char t = (char)s; // 强制类型转换
Console.WriteLine(t);
char r = '1'; // 注意:数字再储存的时候 也要注意类型
// 输入数据 Console.ReadLine() 等待用户输入 当用户输入完毕摁下回车时 程序才会继续向下执行
//Console.ReadLine();
// Convert.ToInt32 万能转换符
int aaa = Convert.ToInt32(Console.ReadLine());//转换 将输入的字符串类型转换为整数类型 赋值整数类型变量aaa
Console.WriteLine("这是接收到的: "+aaa);
3.类型转换
类型转换分为两种:强制类型转换 自动类型转换 什么时候发生(使用)类型转换? 再赋值的时候两边的类型不一致的时候进行类型转换
// 自动类型转换
int a = 97;
double b = a; // 两个类型不一样的时候,按理来说是不能赋值的,这里为什么可以?这就是因为存在了一个自动类型转换,自动把int类型转换为了double类型.相当于把97变成了97.0 区别就是97.0是小数,97是整数,为什么说是自动类型转换,因为我们没有做任何操作.
// 强制类型转换
int s = 98;
char t = (char)s;
4.变量研究
类型 | 举例 |
---|---|
整数类型 | sbyte、byte、short、ushort、int、uint、long、ulong 和 char |
浮点型 | float 和 double |
十进制类型 | decimal |
布尔类型 | true 或 false 值,指定的值 |
空类型 | 可为空值的数据类型 |
int a = 1;
int b = 2;
// {} 替换标记
Console.WriteLine("{0}+{1}={2}",10,20,30);
// 模版字符串 $"{}"
Console.WriteLine($"{a}+{b}={a+b}");
5.常量
// 变量 常量 注意: 常量定义后无法修改,并且声明和赋值必须在同一行完成
// 变量是可以先声明再赋值,也可以声明赋值同时完成
int i = 10;
i = 20;
// 常量 关键字是const 也需要指明类型
const int j = 30;
// 常量一旦完成声明赋值,就不能任何修改,也不能先声明再赋值
6.运算符
// 数学运算符 + - * / %
// %取余(取模)
// 字符串中使用+号时,是当拼接使用
// string str = "123" + "456";
// 两边都是整数的时候接收到的是会是整数,当两面只要有一个是小数的时候,最后的结果就是小数
//double a = 45 / 2.0;
//Console.WriteLine(a);
// 赋值运算符 = += -= *= /= %=
// = 赋值
int a = 10; // 把10赋值给了a
// 自增自减 运算符 ++ --
// a++ ++ 在后先赋值,再自增
// ++ 在前,先自增再赋值
// bool a = true; 真 是 满足条件
// bool n = false; 假 否 不满足条件
// 关系运算符 == > < >= <= !=
// 逻辑运算符 ! || &&
// ! 非,取反 ||或(一真则真) &&且(一假则假) 返回的都是布尔值
// 三目运算符
// ? 前面是判断语句或运算,如果满足条件就返回?后面的值,如果不满足就返回:后面的值