• Java中的字符串


                         字符串

    本章单词

    equal:等于,相等

    ignore:忽略

    lower:降低,返回小写

    upper;升高.返回大写

    last:最后

    trim:trim方法忽略前后出现的空格

    concatenate:连接concat()方法

    append:连接方法

    buffer:缓冲

    final:最后,最终

    字符串的概述

    1.什么是字符串:零个或多个字符组成的有限序列

    2.如何使用字符串:(使用字符串分为两步)

             1)定义并初始化字符串

             2)使用字符,对字符串进行一些处理

             // 穿件一个字符串

             // 语法

             String arhs = “abc”;

             // 创建一个空的字符串

             String string = new String();

             // 创建一个字符串对象Demo

             String string = new String(“Demo”);

             System.out.println(string);

    3.字符串的长度(常用到的地方:密码不能小于n位)

             语法:字符串.length();返回字符串的长度

                       String name = "tom";

            if(name.length() > 2){

                System.out.println("T");

            }else{

                System.out.println("F");

         }

    4.字符串的比较

    语法:字符串1.equals(字符串2);

                       比较两个字字符串是否相等,返回boolean类型的值true  or  false

                       String name1 = "tom";

            String name2 = "Jie";

            if(name1.equals(name2)){

                System.out.println("匹配成功!");

            }else{

                System.out.println("匹配失败!");

            }

                       字符串1 == 字符串2   

                       // name1 = A    name2 = A   true

            // name1 = A    name2 = a   false

            String name1 = "A";

            String name2 = "A";

            if(name1 == name2){

                System.out.println("true");

            }else{

                System.out.println("false");

            }

    5.字符串忽略大小写的比较

    字符串1.equalsIgnoreCase(字符串2);忽略掉字符串的大小写,相同返回true否则false

            String name1 = "ABC";

            String name2 = "abc";

            if(name1.equalsIgnoreCase(name2)){

                System.out.println("true");

            }else{

                System.out.println("false");

            }

    6.字符串中大小写的转换

    大写转换位小写toLowerCase()方法

    // 定义ABC字符串

    String name1 = "ABC";

    // 使用toLowerCase()方法转换位小写

    System.out.println(name1.toLowerCase());

    小写转换位大写toUpperCase()方法

    // 定义ABC字符串

    String name1 = "ABC";

    // 使用toUpperCase()方法转换位小写

    System.out.println(name1.toUpperCase());

    复杂字符串的处理

    1.字符串的链接

    使用拼接符“+“

      System.out.println(“这是”+”Java”);

    2.concat()方法:将一个字符串链接带另一个字符串的后面

    语法:字符串1.concat(字符串2)

    // 定义字符串ABC

    String string1 = "ABC";

    // 定义字符串DEF

    String string2 = "DEF";

    // 使用concat()方法将字符串进行拼接

    System.out.println(string1.concat(string2));

    字符串的提取和查询

    语法:public int indexOf(int ch): 返回指定字符在字符串中第一次出现的字符,如果此字符串中没有这样的字符,则返回 -1

    语法:int indexOf(String str): 返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1

    // 总字符串

            String Str = new String("Hello World!java");

            // 第一个字符串

            String SubStr1 = new String("Hello");

            // 第二个字符串

            String SubStr2 = new String("java");

            System.out.print("查找字符 o 第一次出现的位置 :");

            System.out.println(Str.indexOf('o'));

            System.out.print("子字符串 SubStr1 第一次出现的位置:");

            System.out.println(Str.indexOf(SubStr1));

            System.out.print("子字符串 SubStr2 第一次出现的位置 :");

            System.out.println(Str.indexOf(SubStr2));

    public int lastIndexOf(int ch): 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1

    public int lastIndexOf(String str): 返回指定字符在此字符串中最后一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1

    String Str = new String("Hello World!Java");

            String SubStr1 = new String("Hello");

            String SubStr2 = new String("Java");

            System.out.print("查找字符 o 最后出现的位置 :");

            System.out.println(Str.lastIndexOf('o'));

            System.out.print("子字符串 SubStr1 最后出现的位置:");

            System.out.println(Str.lastIndexOf(SubStr1));

            System.out.print("子字符串 SubStr2 最后出现的位置 :");

            System.out.println(Str.lastIndexOf(SubStr2));

    substring() 方法返回字符串的子字符串

    语法:public String substring(int beginIndex)

    public String substring(int beginIndex, int endIndex)

    参数

    beginIndex -- 起始索引(包括)。

    endIndex -- 结束索引(不包括)。

    返回值:子字符串

    String Str = new String("Hello World !!! Hello Java");

            System.out.print("返回值 :");

            System.out.println(Str.substring(4));

            System.out.print("返回值 :");

       System.out.println(Str.substring(4, 10));

    trim() 方法用于删除字符串的头尾空白符。

    语法

    publicString trim()

    参数

    返回值

    删除头尾空白符的字符串

    String Str = new String("    Hello World!!!    ");

            System.out.print("原始值 :" );

            System.out.println( Str );

     

            System.out.print("删除头尾空白 :" );

            System.out.println( Str.trim() );

     

    字符串的拆分

    语法:字符串1.split(String separator,int limit);

                       Separator:可选,标识拆分字符串是使用一个或多个字符8

                       Limit:可选,该值用来限制返回数组中的元素个数

    String words="长亭外古道边芳草碧连天晚风扶柳笛声残夕阳山外山";

            String[] printword=new String[100];//接收数组

           

            System.out.println("***原歌词格式*** "+words);

            System.out.println(" ***拆分后歌词格式***");

            printword=words.split(" ");//按照空格进行拆分

            for(int i=0;i<printword.length;i++){

                System.out.println(printword[i]);//打印输出

       }

    如何使用StringBuffer类

    1.生命StringBuffer对象并初始化

    //生命一个空的StringBuffer对象

    StringBuffer sb = new StringBuffer();

    // 生命一个字符串

    StringBuffer sb = new StringBuffer(“好好学习,天天向上”);

    常用的StringBuffer 类的方法

    字符串.toString();将StringBuffe类型的字符串转换位String类型的对象并返回

    String sb1 = sb2.toString();

    字符串1.append(字符串2);

    将字符串2链接到字符串1后面

    字符串1.insert(位置,参数)将参数插入到字符串1的制定位置(int类型)后并返回

    参数可以位String的任何类型

    String与StringBuffer的区别

    简单地说,就是一个变量和常量的关系。

    StringBuffer对象的内容可以修改;

    而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象。
    StringBuffer的内部实现方式和String不同,StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作,使用StringBuffer要更加适合一些。
    String:在String类中没有用来改变已有字符串中的某个字符的方法,由于不能改变一个java字符串中的某个单独字符,所以在JDK文档中称String类的对象是不可改变的。然而,不可改变的字符串具有一个很大的优点:编译器可以把字符串设为共享的。 
    StringBuffer:StringBuffer类属于一种辅助类,可预先分配指定长度的内存块建立一个字符串缓冲区。这样使用StringBuffer类的append方法追加字符比 String使用 + 操作符添加字符到一个已经存在的字符串后面有效率得多。因为使用 + 操作符每一次将字符添加到一个字符串中去时,字符串对象都需要寻找一个新的内存空间来容纳更大的字符串,这无凝是一个非常消耗时间的操作。添加多个字符也就意味着要一次又一次的对字符串重新分配内存。使用StringBuffer类就避免了这个问题。
    StringBuffer是线程安全的,在多线程程序中也可以很方便的进行使用,但是程序的执行效率相对来说就要稍微慢一些。

    本章总结

    定义一个字符串可以使用String类和StringBuffer类.

    String类提供了大量的操作字符串的方法,

    获得字符串的长度:lengt( ).

    比较字符串:equals( ).

    连接字符串:concat( ),

    提取字符串:subString( );

    搜索字符串:indexOf( );

    拆分字符串:split( );

    StringBuffer类的基本方法:

    转换成String类型: toString( ).

    连接字符串:append( ).

    插入字符串:insert(位置,参数 ;)

    String类和StringBuffer类的方法很多,慢慢了解,灵活运用.

  • 相关阅读:
    Java基础之多线程没那么复杂!
    高性能Java RPC框架Dubbo与zookeeper的使用
    Java 学习之集合类(Collections)
    Java中List与数组互相转化
    AOJ-542-Window/POJ-2823-Window
    HDU-1074-Doing Homework
    HDU-5365-Run
    HDU-5366-The mook jong
    HDU-5391-Zball in Tina Town
    AOJ-351-求最值之差
  • 原文地址:https://www.cnblogs.com/java-123/p/7620035.html
Copyright © 2020-2023  润新知