美文网首页
Java_String_基础

Java_String_基础

作者: 汇源可乐 | 来源:发表于2019-11-18 12:17 被阅读0次

    0x01:在Java中,形如"9.732","A String","你好",这样的字符串,其实都是常量。

    (1)String的构造函数

    String()
    String(String original)
    String(char value[])
    String(char value[], int offset, int count)
    String(int[] codePoints, int offset, int count)//unicode编码
    String(byte ascii[], int hibyte, int offset, int count)
    String(byte ascii[], int hibyte)
    String(byte bytes[], int offset, int length, String charsetName)
    String(byte bytes[], int offset, int length, Charset charset)
    String(byte bytes[], String charsetName)
    String(byte bytes[], Charset charset)
    String(byte bytes[], int offset, int length)
    String(byte bytes[])
    String(StringBuffer buffer)
    String(StringBuilder builder)
    
    String str1,str2;
    str1="We are students";
    str2="We are students";
    

    此时str1与str2具有相同的字符串常量,因此具有相同的实体。

    内存示意图

    0x02:Java常用的方法

    (1)使用"+"运算符可实现连接多个字符串的功能,最终返回一个String对象

    (2)当"+"连接其他的数据类型的时候,其他类型的数据会调用toString()方法将其转化成String类型后拼接

    (3)通过String对象的length()方法可以获得str字符长度

    (4)使用indexOf(str)与lastIndexOf(str)可以分别找出字符串在原字符串中的索引(第一个与最后一个,返回值小于0则不存在)

    (5)charAt(index)获得指定位置的字符

    (6)substring(beginIndex)与substring(beginIndex,endIndex)截取字符串

    (7)trim()去除头部和尾部的空格

    (8)replace(oldStr,newStr)替换字符串中的所有的指定字符串

    (9)判断字符串的开始与结尾startsWith(str),endsWith(str)

    (10)equals(str)与equalsIgnoreCase(str)判断两个字符串是否相等

    (11)compareTo(str),按照字典顺序比较两个字符串,最终返回整数值

    (12)toLowerCase()与toUpperCase()将字母大小写转换一下

    (13)split(sign)与split(sign,limit)将字符串分割并返回拆分后的字符串数组

    (14)String类的静态方法String.format(String format,Object ...args)与String.format(Local local,String format, Object ... args)// {local 代表着语言环境}

    0x03:Java格式化字符串

    Date date=new Date();
    Sting s=String.format("%te",date);
    
    日期格式化
    Date date=new Date();
    String str=String.format("%te",date);
    
    转换符 说明
    %te 一个月中的某一天(1-31)
    %tb 指定环境的月份简称
    %tB 指定环境月份的全称
    %ta 指定环境星期的简称
    %tA 指定环境星期的全称
    %tc 全部日期和时间信息
    %ty 两位年份
    %tY 四位年份
    %tm 月份
    %td 一个月中的第几天(01-31)
    %tj 一年中的第几天(001-366)
    时间格式化
    转换符 说明
    %tH 2位的24小时制小时(00-23)
    %tk 24小时制时(0-23)
    %tI 12小时制小时(01-12)
    %tl 12小时制小时(1-12)
    %tp 上午/下午(am/pm)
    %tM 分钟(00-59)
    %tS 秒(00-60)
    %tL 毫秒(000-999)
    %tN 微秒(000000000-999999999)
    %tz 相对与GMT格式的数字偏移量(0800)
    %tZ 时区缩写形式的字符串(CST)
    %ts 1970到现在的秒数
    %tQ 1970到现在的毫秒数
    时间日期组合
    转换符 说明
    %tF 年-月-日(4位年份)
    %tD 月/日/年(2位年份)
    %tr 时:分:秒(12小时制AM/PM)
    %tT 时:分:秒(24小时制)
    %tR 时:分(24小时制)
    常规格式化
    转换符 说明
    %b,%B boolean类型
    %h,%H 散列码
    %s,%S string
    %c,%C char
    %d 十进制数
    %o 八进制数
    %x,%X 十六进制数
    %e 十进制科学计数
    %a 十六进制浮点数
    %n 换行符
    %% %

    0x04:Java正则表达式

    字符 意义
    . 任意字符
    \d 0-9
    \D 非数字
    \s 空白符 \t,\n
    \S 非空白符
    \w 可以用作标识符的字符($除外)
    \W 不可用于标识符的字符
    \p{Lower} a-z
    \p{Upper} A-Z
    \p{ASCII} ascii字符
    \p{Alpha} 字母
    \p{Digit} 0-9
    \p{Alnum} 0-9与字母
    \p{Punct} 标点符号
    \p{Graph} Alnum+Punct
    \p{Print} 可打印字符[\p{Graph}\x20]
    \p{Blank} 空格和制表符
    \p{Cntrl} 控制字符

    [^012] : 除012以外的字符

    [a-c] :a,b,c任意一个

    [a-zA-Z] :任意英文字母

    [a-z&&[abc]] : a,b,c,交运算

    [a-z&&[ ^abc]] : 除abc以外的小写字母,差运算

    限定符 意义
    ? 0次或者1次
    * 0次或者多次
    + 1次或者多次
    {n} 正好n次
    {n,} 至少n次
    {n,m} 出现n-m次

    0x05:StringBuilder

    (1)常用方法

    append(content)//追加
    insert(offset,arg)//指定位置添加
    delete(start,end)//删除start->end的字符
    toString()//转化为string
    

    相关文章

      网友评论

          本文标题:Java_String_基础

          本文链接:https://www.haomeiwen.com/subject/oaemictx.html