zoukankan      html  css  js  c++  java
  • 8.字符串

    1. 知识回顾
      1. 除了数组可以保存多个数据,还有字符串
      2. 程序用于生活,生活最常用的便是交流(离不开字符串:保存数据)
    2. 什么是字符串
      1. 文字或数字或字母的组合
      2. 分类
        1. 普通字符串,没特殊说明下:字符串指的就是普通字符串(String)
          1. 在java中使用""来标识
        2. 缓冲字符串(也称为:可变字符串)
          1. StringBuffer
          2. StringBuilder
    3. 字符串的作用
      1. 表达一切信息
    4. 如何使用字符串String
      1. 字符串的定义语法(当然字符串本身也是数据)

        1. 先声明后赋值

        2. 声明并赋值

      2. 字符串的特征

        1. 字符串的内容是不可变的

        2. 字符串是由字符组成的,可以把它理解成字符数组,,如果需要转换成字符数组可以使用toCharArray()方法

        3. 声明不赋值,字符串默认值是"",所以长度是0

        4. length()方法:获取字符串中字符个数

        5. 连接字符串,使用+号

      3. 字符串的增删改查

          1. 使用+号,返回拼接后的字符串
          2. 使用concat(新字符串)方法,返回拼接后的字符串
          1. 同数组,一旦定义无法删除
          1. 去掉左右两边的空格:trim()
          2. 大小写转换:toUpperCase();toLowerCase()
          3. 用新内容替换字符串中的旧内容:replace(新字符串,旧字符串)
          4. 用新内容替换字符串中的内容,使用正则表达式搜索需要替换的内容:replaceAll(新内容,正则表达式);
          5. 从原字符串中截取子串
            1. substring(开始位置,结束位置);有头没尾
            2. substring(开始位置);一至到末尾
          6. 拆分成字符串数组:splict("拆分的字符规则")
          7. 变成字节数组:getBytes("指定编码格式字符串");
            1. 如果不指定,用缺省编码(控制台此刻编码)
            2. 也可根据需要指定是那种编码格式的字节数组(编码方式不同,字节数组自然不同[数据是唯一的])
              1. 一个汉字:gkb编码需要2字节表示;utf-8需要3字节;iso-需要1字节
            3. 如何把字节数组变成相应的字符串:new String(字节数组,编码类型);
              1. 如果编码集不支持中文(如:iso)它是还能正确转换成汉字的:因为没有此字符,所以表现为乱码
          1. 查看两字符串是否相等:equals(待比较字符串)
            1. 只有在另一个对象是String的情况下才可能返回true
          2. 查看字符串与缓冲字符串是否相等:contentEquals(待比较的缓冲字符串,普通字符串也行)
            1. 另一个对象是CharSequence或其子类的对象
          3. 查看两字符串是否相等,忽略大小写:equlasIgnoreCase(待比较字符串)
          4. 查看某内容在字符串中的开始下标:indexOf(字符串)
          5. 查看某内容在字符串中的结束下标:lastIndexOf(字符串)
          6. 查看指定索引处的字符:chartAt(索引)
          7. 查看是否以某字符串开始:startsWith(字符串)
          8. 查看是否以某字符串结束:endsWith(字符串)
    5. 如何使用缓冲字符串
      1. StringBuffer
        1. 定义语法

          1. 没有先声明后赋值(对它来说:没必要)

          2. 声明并赋值

        2. 特征

          1. 字符串内容是可变的
          2. length()方法:获取字符串中字符个数
          3. 连接缓冲字符串,不能使用+号
        3. 增删改查

            1. append("新字符串或缓冲字符串");
            1. 删除开始到结束的位置,有头没尾
            2. 删除指定位置的字符
            1. 修改指定位置的内容:replace(开始位置,结束位置,新内容)
            2. 将字符串内容反序:reverse()
            3. 在指定索引处插入字符:setCharAt(索引,字符);
            4. 从原字符串中截取子串
              1. substring(开始位置,结束位置);有头没尾
              2. substring(开始位置);一至到末尾
            5. 转换成普通字符串:toString();
            1. 查看某内容在字符串中的开始下标:indexOf(字符串)
            2. 查看某内容在字符串中的结束下标:lastIndexOf(字符串)
            3. 查看指定索引处的字符:chartAt(索引)
      2. StringBuilder:API同StringBuffer
    6. 它们之间的区别
      1. 安全上
        1. String适用于少量字符串的情况
        2. StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
        3. StringBuffer:适用于多线程下在字符缓冲区进行大量操作的情况
      2. 速度上
        1. StringBuilder
        2. StringBuffer
        3. String
  • 相关阅读:
    jQuery瀑布流实例无限滚动加载图片
    【转载】IEnumerable<T>和IQueryable<T>区分
    【转载】C#数组,List,Dictionary的相互转换
    【转载】IQueryable和IEnumerable
    【转载】ABP源码分析一:整体项目结构及目录
    【转载】.NET深入解析LINQ框架(四:IQueryable、IQueryProvider接口详解)
    C# DataTable 转换 Model实体类,DataTable 转换 List 集合
    【转载】N 种仅仅使用 HTML/CSS 实现各类进度条的方式
    【转载】IQueryable 和 IEnumerable 的区别
    【转载】SQL Server Profiler工具
  • 原文地址:https://www.cnblogs.com/River111/p/9544071.html
Copyright © 2011-2022 走看看