• java-String基础篇


    一、String字符串理解

      java字符串类,包含了字符串的值和实现字符串相关操作的一些方法

      1、String字符串可分静态字符串和动态字符串

      静态初始化字符串:String s1 = "hello";

      动态初始化字符串:String s2 = new String("hello");

      2、静态初始化与动态初始化的区别 

      String s = "hello";  //在字符串常量池中分配空间(静态) 
      String s = String("hello");//在对堆内存中分配空间(动态 

    二、String字符串常用方法

      charAt(int index) //返回指定下标的字符(从零开始) 

      compareTo(String s)  //字符串比较 
      concat(String s)  //字符串包含/拼接 
      equals() //判断两个字符串内容是否相同

       getBytes()  //返回字节数组 

      indexOf()  //查找子串下标 
      split()//分割字符串返回字符串数组与StringTokenizer有相识的功能【常用】 
      subString()//获取子串 
      toString()//对象转化为大写字母 
      toLowerCase()//转换为小写字母
     
      实例如下: 

      字符串和字符数组的转换  

    public class string001 {
        public static void main(String[] args)
        {
            String str1= "xiaoluo";  //定义一个字符串
            char c[] = str1.toCharArray();  //toCharArray:将前面的name字符串转换为一个数组
            for (int i=0;i<c.length;i++)
            {
                System.out.print(c[i]+"	");  //循环取出数组中的每一个元素
            }
            System.out.println("");  //换行
            String str2 = new String(c);  //将全部数组转换至一个字符串
            String str3 = new String(c,0,3); //将0-3个元素转换至一个字符串
            System.out.println(str2);
            System.out.println(str3);
        }
    }
    //x    i    a    o    l    u    o
    //xiaoluo
    //xia

      字符串中取出指定位置的字符  

    public class String002 {
        public  static void main(String[] args)
        {
            String str1 = "xiaoluo"; //声明一个字符串
            System.out.println(str1.charAt(3));//charAt方法:取出字符串下标为3的元素
        }
    }
    //o

     

      将一个字符串变成一个byte数组,同时将一个byte数组变成一个字符串

      字符串可以通过getBytes()方法将String变成一个byte数组,然后可以通过String的构造方法将一个字节数组从新变为字符串

    public class String003 {
        public static void main(String[] args)
        {
            String str1 ="beijing";  //声明一个字符串
            byte b[] =str1.getBytes();  //通过getBytes:将字符串转换为一个字节数组
            System.out.println(new String(b)); //将整个字节数组转换为一个字符串
            System.out.println(new String(b,1,3));//将字节数组b中下标为1-3的元素转换为字符串
        }
    }
    //beijing
    //eij

      获取一个字符串所占长度

      通过调用length方法获取了字符串的长度

    public class StringLength {
        public static void main(String[] args)
        {
            String str1 = "beijing"; //声明一个字符串
            System.out.println("str1字符串长度为:"+str1.length());//通过length获取字符串长度
        }
    }
    //str1字符串长度为:7

      注意:length和length()区别?

        先明确一点,任何方法的调用后面必须带()才是实现,而length是取数组长度,元素后没有带()括号,而字符串调用length是一个方法,方法的调用后面必须带()

      indexOf方法查找指定的字符串中是否存在某个元素

    public class String_indexOf {
            public static void main(String[] args)
            {
                String str1 = "qwertyuioepe";//声明一个字符串
                System.out.println(str1.indexOf("w"));//通过indexOf方法查找字符串中是否存在w元素存在位置
                System.out.println(str1.indexOf("e",4));//通过indexOf方法查找e元素是否存在并从第四个元素开始查找第一个e
                System.out.println(str1.indexOf("b"));//字符串中不存在的元素返回-1
            }
    }
    //1
    //9
    //-1

      去除左右两边空格

      trim()方法去除字符串中多余空格  

    public class String_indexOf {
            public static void main(String[] args)
            {
                String str1 = "   qwertyuioepe      ";//声明一个字符串
                System.out.println(str1.trim());//trim方法:去除字符串中左右两边的空格
                System.out.println(str1);
            }
    }
    //qwertyuioepe
    //        qwertyuioepe

      字符串截取

      通过substring()方法截取指定的字符串或字符串之间的元素

    public class String_indexOf {
            public static void main(String[] args)
            {
                String str1 = "qwertyuioepe";//声明一个字符串
                System.out.println(str1.trim());//trim方法:去除字符串中左右两边的空格
    //            System.out.println(str1);
                System.out.println(str1.substring(4));//substring方法:从四个元素开始截图后面的元素
                System.out.println(str1.substring(0,4));//结果下标为0-4之间的元素
            }
    }
    //qwertyuioepe
    //tyuioepe
    //qwe

      按照指定的字符串拆分字符串

      在Stringzing通过split()方法可以进行字符串的拆分操作,拆分的数据将Yui字符串数组的形式返回,如下是按照空格进行拆分并将拆分的字符串保存在一个列表

    public class String_indexOf {
            public static void main(String[] args)
            {
                String str1 = "hello world";//声明一个字符串
                String str2[] = str1.split(" ");//按照空格对str1中字符串进行拆分并将拆分的元素保存在一个列表
                for(int i=0;i<str2.length;i++) //循环输出str2[]中所有元素
                {
                    System.out.println(str2[i]);
                }
            }
    }
    //hello
    //world

       判断字符串以某某开头或某某结尾

      startsWith:判断字符串以某某开头

      endsWith:判断字符串以某某结尾

    public class String_indexOf {
            public static void main(String[] args)
            {
                String str1 = "***hello world";//声明一个字符串
                String str2 = "nihao***";
                if(str1.startsWith("***"))
                {
                    System.out.println("(***hello world)以***开头");
                }
                if(str2.endsWith("***"))
                {
                    System.out.println("(nihao***)以***结尾");
                }
            }
    }
    //(***hello world)以***开头
    //(nihao***)以***结尾

      指定字符串进行替换

      在String中使用replaceAll可对字符串中存在字符进行指定行替换 

    public class String_indexOf {
            public static void main(String[] args) {
                String str1 = "hello world";//声明一个字符串
                String str2 = str1.replaceAll("w","W");//replaceAll方法:将w元素替换成W
                System.out.println(str2);
            }
    }
    //hello World

     

  • 相关阅读:
    Mac 卸载MySql的方法
    关于mysql的wait_timeout参数 设置不生效的问题
    linux下利用nohup后台运行jar文件包程序
    MySql创建视图
    spring mvc获取header
    Spring Data Jpa 查询返回自定义对象
    Caused by: org.xml.sax.SAXParseException: The reference to entity "characterEncoding" must end with the ';' delimiter.
    eclipse Reference 功能之——项目之间的引用
    Mac 在启动eclipse时 Failed to load JavaHL Library解决方法
    MySQL Workbench update语句错误Error Code: 1175.
  • 原文地址:https://www.cnblogs.com/lcj0703/p/5756105.html
Copyright © 2020-2023  润新知