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]+"\t");  //循环取出数组中的每一个元素
        }
        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

 

posted on 2016-08-10 13:55  lcj122  阅读(306)  评论(0编辑  收藏  举报

导航