前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >雷潮教育第一期班C#课程阶段总结(1)

雷潮教育第一期班C#课程阶段总结(1)

作者头像
孙寅
发布2020-06-02 15:54:46
5730
发布2020-06-02 15:54:46
举报
文章被收录于专栏:宜达数字宜达数字

1.基本数据类型

  • 数值类型
    • 整型 int
    • 单精度浮点型 float
    • 双精度浮点型 double
    • 更高精度数值(财务) decimal
  • 非数值类型
    • 字符 char
    • bool
    • 字符串 string

2.变量

1.变量的声明
  • 第一种声明方式
代码语言:javascript
复制
// 声明一个int类型的变量
int num;
// 赋值,将100给了声明的num变量
num = 100;
  • 第二种声明方式
代码语言:javascript
复制
// 声明变量的同时赋值
int num = 100;
  • 第三种声明方式
代码语言:javascript
复制
// 一次性声明多个变量
int num, num1,num2;
num = 100;
num1 = 100;
num2 = 100;
2.变量的命名
  • 三条规则:
代码语言:javascript
复制
1-标识符只能由英文字母、数字和下划线组成,不能包含空格和其他字符,除@以外
2-不能以数字开头
3.不能用关键字当变量名
  • 命名的注意点

1、给变量分配有意义的名称; 2、命名类和方法时使用Pascal(帕斯卡)样式,命名变量使用Camel(骆驼)样式。 3、不要通过大小写的不同来区分变量。 4、变量(标识符)名字不适宜太长,尽量精简。

3.变量的作用域
  • 定义: 变量的作用域是可以访问该变量的的代码区域。
  • 作用域规则
    • 只要字段所属的类在某个作用域内,其字段也在该作用域内;
    • 局部变量的作用域只在离它最近的大括号内部
    • 在循环或类似的语句中声明的局部变量存在于该循环体内。
4.修饰符

修饰符

5.屏幕输入
代码语言:javascript
复制
Console.ReadLine();
6.转换
  • 隐式转换 自动提升类型
代码语言:javascript
复制
float a = 1.99;
double  b = 2.99;
double c = a + b;
  • 显式转换 强制转换类型
代码语言:javascript
复制
int a = 10;
double b = 19.999;
int c = (int)(a + b);
  • 类型转换
代码语言:javascript
复制
Convert
Convert.ToInt();
Convert.ToString();
Convert.ToChar();
Convert.ToDouble();
Convert.ToInt(Console.ReadLine());
7.复合数据类型
  • 枚举
代码语言:javascript
复制
// 定义枚举,通过使用关键字enum+枚举名称{}
        enum Sex
        {
            男,
            女
        }
  • 结构体
代码语言:javascript
复制
 struct People
        {
            public int age;  // 每一个属性都称为结构体的成员
            public string name;
            public Sex sex;
            public float height;

             void  See()
            {
                Console.WriteLine("看我!!");
            }
        }
  • 接口
  • 委托
  • 数组
    • 定义
代码语言:javascript
复制
// 第一种方式
            // int[]定义了一个整型数组类型 
            // int[6],表示存储6个整型数据的数组
            // new 就是想系统要内存,创建数组并将数组元素初始化为它们的默认值,就是0
            int[] numbers = new int[6]; // {0,0,0,0,0,0}
            numbers[0] = 50; // {50,0,0,0,0,0}
            numbers[1] = 100; // {50,100,0,0,0,0}
            numbers[2] = 101;  //{50,100,101,0,0,0}
            numbers[3] = 103;  // {50,100,101,103,0,0}
            numbers[4] = 104;  // {50,100,101,103,104,0}
            numbers[5] = 105; // {50,100,101,103,104,105}
// 第二种方式
            int[] array1 = new int[] { 1, 3, 5, 7, 9 };
            int[] array2 = { 1, 3, 5, 7, 9 };
 // 第三种写法
            //声明一个数组变量但不将其初始化,但在将数组分配给此变量时必须使用 new 运算符。
            int[] array4;// array4 = new int[4];
            array4 = new int[] {100,20,10,20,20 };
方法:
             // 获取数组元素的方法
            Console.WriteLine(array4.GetValue(2));  // 0-1-2
            Console.WriteLine(array4[2]);

            // 修改数组中某个元素的值
            array4[2] = 100;
            array4.SetValue(100,2);
           Console.WriteLine(array4[2]);

            //遍历数组
            foreach (int number in array4)
            {
                Console.WriteLine(number);
            }

            foreach (var item in array3)
            {
                Console.WriteLine(item);
            }

            // for循环遍历数组
            for (int i = 0; i < array4.Length; i++)
            {
                Console.WriteLine(array4[i]);
            }
8.练习

作业一:输出一个图案,如图所示

作业二:声明一个电脑类,里面有电脑的价格,要求这个价格能够被外界访问。 书写10遍public,private,protected,internal的定义。用自己的语言写出来

9.运算符
代码语言:javascript
复制
// 计算100以内的和,与10以内的乘法,计算100除以3的值,如果有余数,如何显示出来,如何四舍五入?
            // + - * % /
            int sum = 0;
            for (int i = 0; i < 100; i++)
            {
                sum += i;
            }
            Console.WriteLine(sum);

            // 保存余数
            int a = 0;

            a = 100 % 3;
            Console.WriteLine(a);

            
            float result = (float)(100 / 3.0);
            string str2 = result.ToString("f2"); // 四舍五入
            string str3 = result.ToString("#0.00000"); // 四舍五入
            Console.WriteLine(str3); 
            Console.ReadKey();
  • ++ --
代码语言:javascript
复制
            int a = 10;
            int b = 10;
            Console.WriteLine(a++);// a = 10
            Console.WriteLine(a+b);// a = 11  result = 21

            Console.WriteLine(++a);// a = 12
            Console.WriteLine(a+b);// a = 12    result = 22 


            int c = 101;
            int d = 101;
            Console.WriteLine(c--); // c = 101  
            Console.WriteLine(c+d); // c = 100 201

            Console.WriteLine(--c); // 99
            Console.WriteLine(c+d); // 200
// 复杂案例
            int n = 3;
            int a1 = 0;
            while (++a1 < n)
            {
                Console.WriteLine(a1);
            }
            Console.WriteLine($"final {a1}");
            Console.WriteLine("=====");
            
            int n1 = 3;
            int a2 = 0;
            while (a2++ < n1) // 判断的时候,没有执行自加过程,因为是后加
            {
                // a2执行了自加的过程
                Console.WriteLine(a2);  // 1,2,3
            }
            Console.WriteLine($"final {a2}"); //4
            Console.WriteLine("=====");
  • 三目运算符
代码语言:javascript
复制
            int sum ;
            sum = 3 > 4 ? 3 : 4;

            Console.WriteLine(sum);

            sum = 4 > 3 ? 3 : 4;

            Console.WriteLine(sum);

            if (3 > 4)
            {
                sum = 3;
            }
            else
            {
                sum = 4;
            }

            sum = (3 > 4 ? 3 : 4);
  • 赋值运算符
代码语言:javascript
复制
//-= += *= /= %=
// 12898秒等于多少小时,多少分钟,多少秒?
  • 逻辑运算符
代码语言:javascript
复制
// && // && “与” 表示该符号两边的语句全部正确才能进行下面的逻辑
//  ||   // || "或" 表示该符号两边的语句只要有一方正确就可以继续进行下面的逻辑
//  !    //! "非" 表示与该语句相反的意思
  • checked与unchecked运算符
代码语言:javascript
复制
 #region checked和unchecked
            byte by1 = 255; 
            checked {

               // by1++; // 256
            }
            unchecked {
                by1++;
                Console.WriteLine(by1);
            }
#endregion
  • is 、 as、
代码语言:javascript
复制
            int a11 = 10;
            object obj = 10;
            bool boo = true;
            string name = "face";

            boo = obj is int;
            Console.WriteLine(boo);

            // as 表达式1和表达式2必须是引用类型的变量或者常量
            // 引用类型 :起了一个名字来表示某件事
            // 值类型:就是存贮在内存栈空间的数值 10,20,30,
             obj = a11 as object;   // 某个类型的值 as Object  大的可以代表小的
             // as 必须与引用类型和Null类型的值一起使用
             // a11 = obj as int  ; //  Object as 某个类型的值  小的不能代替大的
10.流程控制
  • if语句
代码语言:javascript
复制
// 第一种if语句
if(条件结果必须为bool类型)
{
}
// 第二种if语句
if()
{
}
else
{

}
// 第三种if语句
if()
{
}else if()
{
}
else
{
}
  • Swich语句
代码语言:javascript
复制
            Console.writeline("请输入考试分数");
            int number = Convert.toint32(Console.Readline());
            int result = number / 10;
            switch (result)
            {
                case 10:
                    Console.WriteLine("满分");
                    break;
                case 9:
                    Console.WriteLine("优秀");
                    break;
                case 8:
                    Console.WriteLine("良好");
                    break;
                case 7:
                    Console.WriteLine("及格");
                    break;
                default:
                    Console.WriteLine("不及格");
                    break;
            }
  • while循环
代码语言:javascript
复制
 while (true)
            {
                Console.WriteLine("请输入考试分数");
                int number = Convert.ToInt32(Console.ReadLine());
                int result = number / 10;
                switch (result)
                {
                    case 10:
                        Console.WriteLine("满分");
                        break;
                    case 9:
                        Console.WriteLine("优秀");
                        break;
                    case 8:
                        Console.WriteLine("良好");
                        break;
                    case 7:
                        Console.WriteLine("及格");
                        break;
                    default:
                        Console.WriteLine("不及格");
                        break;
                }
            }
  • do while循环
代码语言:javascript
复制
do{
// 循环体,不管条件成立不成立,先执行一次
}
while(条件)
  • 流程控制中的三个关键字: default,break,continue
代码语言:javascript
复制
default:默认其他结果
break:中断循环
continue :跳过当前循环
  • for循环与foreach循环
代码语言:javascript
复制
 //for (int i = 0; i < 1000; i++)
            //{
            //    if (i % 100 == 0)
            //    {
            //        break; // 中断循环
            //    }
            //    Console.WriteLine("当前循环第{0}次", i);
            //}

//foreach循环 第二天讲数组的时候,演示
            int[] array4;// array4 = new int[4];
            array4 = new int[] {100,20,10,20,20 };
            //遍历数组
            foreach (int number in array4)
            {
                Console.WriteLine(number);
            }
  • 流程控制练习题
代码语言:javascript
复制
1,编写一个程序,对输入的4个整数,求出其中的最大值和最小值,并显示出来。
2,让用户输入两个整数,然后再输入0-3之间的一个数,0代表加法,1代表减法,2代表乘法,3代表除法,计算这两个数字的结果
3,求出1~1000之间的所有能被7整除的数,并计算和输出每5个的和。
4,编写一个控制台程序,分别输出1~100之间的平方、平方根。 
5,编程输出1~100中能被3整除但不能被5整除的数,并统计有多少个这样的数。
6,编程输出九九乘法表。
7,一个控制台应用程序,输出1~5的平方值,要求:用for语句实现。用while语句实现。用do-while语句实现。
8,一个控制台应用程序,要求用户输入5个大写字母,如果用户输入的信息不满足要求,提示帮助信息并要求重新输入。
9,一个控制台应用程序,要求完成写列功能。
    1)接收一个整数n。
    2)如果接收的值n为正数,输出1~n间的全部整数。
    3)如果接收的值n为负值,用break或者return退出程序。
    4)如何n为0的话 转到1继续接收下一个整数。
11.复杂数据类型
  • 数组
    • 一维数组
    • 二维数组
    • 多维数组
    • 交错数组
代码语言:javascript
复制
数据类型[] 数组名  = new 数据类型[存储数据类型的个数];
数据类型[] 数组名 = {具体的值};
// 获取一维数组元素的个数
Console.WriteLine(数组名.length)
// 遍历
for(int i =0;i < 数组名.length; i++ )
{
Console.Write(数组名[i])
}
foreach(var item in 数组)
{
Console.Write(item)
}

// 二维数组
数据类型[,] 二维数组名 = new 数据类型[当前数据类型的元素,数据类型元素中的元素]
数据类型[,] 二维数组名 = {{具体的值},{具体的值(与前面的元素内部个数保持一致)}};
// 获取二维数组的维度
Console.WriteLine(数组名.Rank)
// 获取二维数组中所有元素的个数
Console.WriteLine(数组名.Length)
遍历二维数组
for(int i = 0; i < 数组名.Rank; i++)
{
  for(int j = 0; j <  数组名[i].Length; j++)
  {
      Console.Write(数组名[i,j]);
  }
}
foreach(var item in 数组名)
{
   Console.Write(item);
}

// 三维数组
数据类型[,,] 数组名 = new 数组类型[当前数组名中的元素,数组元素中的元素,数组元素中元素的个数];
数据类型[,,] 数据名 = {{{1,2,3},{3,4,5} },{{具体的值},{具体的值}},{{具体的值},{具体的值}}}
// 获取维度
Console.Write(数组名.Length)
Console.Write(数据名.Rank)
for(int i = 0; i < 数组名.Rank; i++)
{
  for(int j = 0; j <  数组元素个数; j++)
  {
      for(int g = 0; g< 数组元素中元素的个数;g++)
      Console.Write(数组名[i,j,g]);
  }
}
 int[,,] array3 = {
                                {
                                    {10,11},{11,11},{12,11},{13,11}
                                },

                                {  {20,12},{21,12},{22,12},{23,12}
                                },

                                {
                                    {30,13},{31,13},{32,13},{33,13}
                                }
                             };
            // 获取的是数组内所有元素个数的和
            //Console.WriteLine(array3.Length);
            // 获取当前数组的维度
            //Console.WriteLine(array3.Rank);
            
            for (int i = 0; i < array3.Rank; i++)
            {
                for (int j = 0; j < 4; j++)
                {
                    for (int g = 0; g < 2; g++)
                    {
                        Console.WriteLine(array3[i, j, g]);
                    }
                }
            }

            foreach (var item in array3)
            {
                Console.WriteLine(item);
            }

// 交错数组
数据类型[][] 数组名 = new 数据类型[具体的值][];
// 初始化
数组名[具体的值从0开始] = new int[具体的值];
数组名[具体的值从1开始] = new int[具体的值];
数组名[具体的值从2开始] = new int[具体的值];
// 赋值
数组名[具体的值从0开始][具体的值从0开始] = 数组类型匹配的具体值如: 10;
数组名[具体的值从0开始][具体的值从1开始] = 数组类型匹配的具体值如: 11;
数组名[具体的值从1开始][具体的值从0开始] = 数组类型匹配的具体值如: 20;
数组名[具体的值从1开始][具体的值从1开始] = 数组类型匹配的具体值如: 21;
// 简化
数据类型[][] 数组名 = {
                子元素的初始化并赋值,
                子元素的初始化并赋值,
              }
 int[][] number2 = {
                new int[]{11,22,33,55,66},
                new int[]{101,102,103 },
                new int[]{99}
            };
// 包含二维数组的交错数组
数据类型[][,] 数组名 = {
              二维数组的初始化并赋值,
              二维数组的初始化并赋值
            }
 int[][,] number3 = {
                new int[,]{ {1,9,99,109,209 },{10,102,190,170,0 },{10,11,22,33,44 } },
                new int[,]{ {999,888,777 },{333,222,111 } }
            };

           // 获取数组的长度
            Console.WriteLine(number3.Length);
            // 获取的是交错数组中第0位元素内的元素个数的和
            Console.WriteLine(number3[0].Length);

// 遍历
             //for (int i = 0; i < number3.Length; i++)
            //{
            //    foreach (var item in number3[i])
            //    {
            //        Console.WriteLine(item);
            //    }
            //}
  • 字符串
    • 定义
    • 拼接
    • 替换
    • 转换大小写
    • 遍历
    • 赋值
    • 判断字符串相同与否
    • 合并
    • 删除首位空白
    • 检索给定的字符串位置
    • 把一个字符串实例插入到另一个字符串实例的指定索引处
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.基本数据类型
  • 2.变量
    • 1.变量的声明
      • 2.变量的命名
        • 3.变量的作用域
          • 4.修饰符
            • 5.屏幕输入
              • 6.转换
                • 7.复合数据类型
                  • 8.练习
                  • 9.运算符
                  • 10.流程控制
                  • 11.复杂数据类型
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档