zoukankan      html  css  js  c++  java
  • 数组、集合、字符串操作、函数小结

     字符串的操作

    字符串类型

       1、去空格

        Trim();   // 取头尾空格,还有去前边空格,去后边空格

      2、全部大小写

        ToUpper(); //全部大写

        ToLower(); //全部小写

      3、判断是否以子串开头、结尾、是否包含

        StartsWith("s"); //是否以  s  开头,是返回true

        EndWith("s");  //是否以  s  结尾,是返回true

        Contains("s"); //是否包含  s  ,是返回true

      4、判断字符串出现的位置

        IndexOf("s");  //从字符串中找到 s 第一次出现的位置,没有返回-1

        LastIndexOf("s");//最后一次出现的位置,没有返回-1

      5、字符串的截取、替换、拆分

         SubString(起始位置,长度(可以省略)); //字符串的截取

        Replace("_","-");//替换

        Split('_');   //拆分 

          string a = "a_sdfw";
          string b = a.Replace("_","-"); //替换
          Console.Write(b + " ");
          string[] c = b.Split('-');   //拆分
          for (int i = 0; i < c.Length; i++)
          {
            Console.Write(c[i]+" ");
          }

    日期时间类型

      1、设置时间

        DateTime dt = new DateTime();
        DateTime dt = new DateTime(1999,3,12);
        DateTime dt = new DateTime(1999,3,12,15,47,56);年月日时分秒

      2.获取当前时间

        DateTime dt = DateTime.now;

      3、分别获取年月日时分秒

        dt.Year;  dt.Mouth;  dt.Day;......

      4、星期的第几天,年的第几天

        dt.DayOfWeek;  dt.DayOfYear;

      5、增加多少个月...之后是哪一天,— 号表示之前多少个月是哪一天

        dt.AddMouth(12);  dt.AddMouth(-12);  dt.Add×××();

      6、设定格式

        1、日期时间类型格式

          dt.tostring("yyyy年MM月dd日hh时mm分ss秒");

          yyyy、yy  MM,M  dd,d......

        2、double类型格式     

          double a = 0;
          a.tostring("#,#.00"); //总共四个符号 # 0 , .

          逗号表示三位一分,0表示必须显示,没有就显示0

          #.00  #.##  #,#.##

    数学运算符

      天花板数、地板数、四舍五入

        math.ceiling(3.14);只对小数有效 天花板数 3.0 ==3 3.1 ==4 大于等于当前小数的最小整数  

        math.Floor(3.14); 小于当前小数的最大整数
        math.Round(3.14); 四舍五入

      

    数组中存储的是连续的同一类型的数据。

    一维数组:

    定义:  数据类型[] 数组名 = new 数据类型[数组长度];

         数据类型[] 数组名 = new 数据类型[数组长度]{元素1,元素2,元素3......};

    例如:1、 int[] a = new int[5];

         2、 int[] a = new int[5]{1,2,3,4,5}

    问题:示例 2 中数组长度可不可以不写,请在评论中回答

    说明:

       1、数据类型[]       表示数组类型

          数组名        表示数组变量

          new         表示创建

          数据类型[数组长度]  数组长度不能为空(第一种定义) 

         2、数组下标:用来确定数组中每个元素的位置,数组下标从0开始

       3、数组赋值:数组名[数组下标] = 值   注意数据类型相同

       4、数组取值:变量 = 数组名[数组下标]  注意数据类型相同

       5、数组的遍历:

          for循环遍历数组       

            int[] a = new int[5];

            for(int i = 0;i<a.length;i++)  //a.length表示数组长度

            {              //需要注意数组长度与下标的关系

              Console.WriteLine(a[i]);

            }

          foreach遍历数组       

            int[] a = new int[5];

            foreach(int i in a)

            {

              Console.WriteLine(i);

            }

    具体操作看博客:数组操作

     二维数组

    定义:  数据类型[,] 数组名 = new 数据类型[行数,列数];

         数据类型[,] 数组名 = new 数据类型[3,2]{{1,2},{2,3},{3,4}};

    例如:  int[,] a = new int[3,4];

         ......

    说明:  1、名词解释同一维数组

         2、数组下标同一维数组

         3、数组赋值:数据类型[行下标,列下标] = 值

                a[0,0] = 1;

         4、数组取值:数据类型[行下标,列下标]

         5、数组的遍历:

           for循环遍历数组       

            int[,] a = new int[3,4];

            for(int i = 0;i<3;i++)  

            {    

              for(int j = 0;i<4;j++)  

              {         

                Console.WriteLine(a[i,j]);

              }

            }

     具体操作看博客:二维数组操作

     锯齿数组:数组的数组

    定义:  第一步:定义大数组

           数据类型[][] a= new 数据类型[行数][];  列数不写

         第二步:定义小数组

           数据类型[] a1 = new 数据类型[列数];

           数据类型[] a2 = new 数据类型[列数];

           ......

         第三步:把小数组放到大数组中

           a[0] = a1;

           a[1] = a2;

           ......

    例如:

        int[][] a = new int[3][];

        int[] a1 = new int[] { 3, 4, 5, 6, 7 };
        int[] a2 = new int[] { 1, 2, 3 };
        int[] a3 = new int[] { 7, 8, 9, 10 };

        a[0] = a1;
        a[1] = a2;
        a[2] = a3;

         a.Length == 3;

         其中锯齿数组的  length是3 指的是三个元素,每个元素中还有数组

    二维数组与锯齿数组的比较:

        int[,] a = new int [3][4]; //错
        int[][] a = new int[3,4]; //错
        int[][] a = new int[3][4]; //错
        int[,] c = new int[3,4]; //对

        c.Length == 12;  

        二维数组中的  length 是12  指的是个数

     集合

      1、ArrayList

        链表结构,没有长度限制,可以随时向里添加或删除元素

        需要在前面加上:using System.Collections;

        定义:  ArrayList a = new ArraryList90;

        操作:

          添加:    a.Add(数据);

          插入:    a.Insert(索引号,数据);

          删除:    a.RemoveAt(索引号);

          集合长度:  a.Count //集合中元素的个数

          取值:    a[下标]   //取出来的值需要进行强制转换

      2、List<类型>

        链表结构,没有长度限制,可以随时向里添加或删除元素

        只能放指定类型的数据,取出来不用强制转换

        定义:  List<类型> 变量名= new List<类型>();

             List<int> a = new List<int>();

        操作:

          添加:    a.Add(数据);

          插入:    a.Insert(索引号,数据);

          删除:    a.RemoveAt(索引号);

          集合长度:  a.Count //集合中元素的个数

          取值:    a[下标]  

          排序:    a.Sort();

          反转:    a.Reverse();

      3、Dictionary<key,value>字典或哈希表

        定义:  Dictionary<int,string> a = new Doctionary<int,string>();

        操作:

          添加:    a.Add(键值,数据);

          删除:    a.Remove(键值);

          集合长度:  a.Count;

          取值:    a[键值]

      4、栈,队列 知道就行了

        栈:先进后出,不能随机取其中任意一个值

        定义:  Stack<数据类型> a = new Stack<数据类型>();

          添加:    a.Push(值);

          取值:    数据类型 变量名 = a.Pop();

        队列:先进先出,不能随机取其中任意一个值

        定义:  Queue<int> a = new Queue<int>();

          添加:    a.Enqueue(值);

          取值:    数据类型 变量名 = a.Dequeue();


    函数:
      1、主要功能就是为了让代码结构更加良好
      2、函数是---实现相对独立功能的程序代码模块(程序段)
      3、函数的四要素:函数名、输入、输出、运算
      4、有的函数没有输入,函数名后的小括号可以不写东西,但必须有小括号
      5、有的函数没有返回,在函数名的左侧不要写数据类型,写void即可

      定义语法:
          static 返回类型 函数名(形参列表)
          {
            函数体,运算
          }

      例:
          static int Max(int a,int b)
          {
            if(a > b)
            {
              return a;
            }
            else
            {
              return b;
            }
          }

      调用方法:
        数据类型 变量名 = 函数名(实参列表);
        int n = Max(7,8);

        形参与实参一定要一一对应。 包括 个数,类型

    传值
      把实参的数据做个复本,送到函数的形参中取。
      一般基本类型(int、double、char、bool、DateTime)都是值类型,
      默认情况下会传值

    传址
      吧实参的地址传到函数的形参中区
      形参与实参公用一个数据空间
      一般引用类型都是传址(string 数组)
      string传址 但是操作的话会新建一个

  • 相关阅读:
    Leetcode 16.25 LRU缓存 哈希表与双向链表的组合
    Leetcode437 路径总和 III 双递归与前缀和
    leetcode 0404 二叉树检查平衡性 DFS
    Leetcode 1219 黄金矿工 暴力回溯
    Leetcode1218 最长定差子序列 哈希表优化DP
    Leetcode 91 解码方法
    Leetcode 129 求根到叶子节点数字之和 DFS优化
    Leetcode 125 验证回文串 双指针
    Docker安装Mysql记录
    vmware虚拟机---Liunx配置静态IP
  • 原文地址:https://www.cnblogs.com/yongjiapei/p/5428208.html
Copyright © 2011-2022 走看看