Java中String类的学习

来源:互联网 发布:tc21弓坯淘宝 编辑:程序博客网 时间:2024/05/23 10:38

String类

public class StringTest3 {public static void main(String[] args) {String a = "hello  niho ";System.out.println("某个位置所在的字符"+a.charAt(0));System.out.println("字符转化为大写"+a.toUpperCase());System.out.println("字符转化为小写"+a.toLowerCase());System.out.println("是否以某个字母为开始"+a.startsWith("a"));System.out.println("偏移后是否以某个字母开始"+a.startsWith("e",1));System.out.println("是否以某个字母结束"+a.endsWith("o"));System.out.println("替换字符"+a.replace("h", "H"));System.out.println("替换所有的字符"+a.replaceAll(a, "abcd"));System.out.println("字符的长度"+a.length());System.out.println("去掉空格"+a.trim());System.out.println("截取"+a.substring(0, 3));System.out.println("从第三位开始截取"+a.substring(3));System.out.println("是否包含某个字符串"+a.contains("h"));System.out.println("比较忽略大小"+a.equalsIgnoreCase("HELLO"));System.out.println("获得字节数"+a.getBytes());System.out.println("按字典排序比较"+a.compareTo("a"));System.out.println("按字典排序比较忽略大小"+a.compareToIgnoreCase("abc"));System.out.println("转化成字符串"+String.valueOf(123456));System.out.println("字符在某个位置"+a.indexOf("a")); /*          *使用split()函数 分割字符串时以空格,下划线,中划线,右斜杠,逗号          *冒号,分号为分隔符的都可以直接加分隔符输出          *以点为分隔符的输出必须加上//.输出          */          String strSplit = "123 asd erf 345";          String[] a = strSplit.split("");          String strSplit2 = "123.asd.erf.345";          String[] a2 = strSplit2.split("//.");          String strSplit3 = "123/asd/erf/345";          String[] a3 = strSplit3.split("/");          for(int i=0;i<a3.length;i++){              System.out.println(a3[i]);          }  }}
public class Student extends Object{String name;String grade;@Overridepublic boolean equals(Object obj) {//判断某个类是否为空if(obj == null){return false;}//内存地址的比较if(this == obj){return true;}//向下转型Student student = (Student)obj;return this.name.equals(student.name) && this.grade.equals(student.grade);}}public class Test {    public static void main(String[] args) {        
      Student student = new Student();
        student.name = "张三";
        student.grade = "一年级";
        
        Student student2 = new Student();
        student2.name = "张三";
        student2.grade = "一年级";
        
        Student student3 = student2;
        
        System.out.println(student.equals(student2));//t
        System.out.println(student2.equals(student3));//t
        System.out.println(student.equals(student3));//t
        System.out.println(student.equals(null));//f
        
    }
}


import java.util.Scanner;  //判断输入的是否是网址 public class Url {public static void main(String[] args) {    System.out.println("请输入一个网址");            Scanner scanner=new Scanner(System.in);            String url=scanner.nextLine();            System.out.println(IsUrl(url));;            scanner.close();}public static String IsUrl(String url){if (url.startsWith("http")||url.startsWith("https")) {int number=url.indexOf(':');return url.substring(number+1);}else {System.out.println("網址輸入錯誤");return null;}}}
StringBuffer与StringBuilder

public class StringBuilderTest {public static void main(String[] args) {StringBuilder builder = new StringBuilder("123455");System.out.println("添加"+builder.append("1"));System.out.println("删除"+builder.delete(2, 4));System.out.println("在指定位置删除"+builder.deleteCharAt(0));System.out.println("在指定位置添加"+builder.replace(1, 2, "hello"));builder.setCharAt(1, 'w');System.out.println("转换成字符串输出"+builder.toString());System.out.println("倒置"+builder.reverse());}}

StringBuffer

字符串的组成原理就是通过该类实现的。
StringBuffer可以对字符串内容进行增删。
StringBuffer是一个容器,线程同步的。通常用于多线程
很多方法与String相同。
StingBuffer是可变长度的

常见StringBuffer 方法
StringBuffer append(int x);
StringBuffer delete(int start, int end );
StringBuffer insert(int index,String str);
StringBuffer reverse();


public class StringBufferTest {        /**      * @param args             * jdk1.5以后出现了功能和StringBuffer一模一样的对象。就是StringBuilder          *           * 不同的是:          * StringBuffer是线程同步的。通常用于多线程。          * StringBuilder是线程不同步的。通常用于单线程。 它的出现提高效率。          *           * jdk升级:          * 1,简化书写。          * 2,提高效率。          * 3,增加安全性。          */       */      public static void main(String[] args) {            /*          * StringBuffer:就是字符串缓冲区。          * 用于存储数据的容器。          * 特点:          * 1,长度的可变的。           * 2,可以存储不同类型数据。          * 3,最终要转成字符串进行使用。          * 4,可以对字符串进行修改。          *           *           * 既然是一个容器对象。应该具备什么功能呢?          * 1,添加:          *      StringBuffer append(data);          *      StringBuffer insert(index,data);          * 2,删除:          *      StringBuffer delete(start,end):包含头,不包含尾。          *      StringBuffer deleteCharAt(int index):删除指定位置的元素           * 3,查找:          *      char charAt(index);          *      int indexOf(string);          *      int lastIndexOf(string);          * 4,修改:          *      StringBuffer replace(start,end,string);          *      void setCharAt(index,char);          *           * 增删改查  C(create)U(update)R(read)D(delete)           *           *           *           */          bufferMethodDemo_2();      }            private static void bufferMethodDemo_2() {          StringBuffer sb = new StringBuffer("abce");            //      sb.delete(1, 3);//ae                    //清空缓冲区。  //      sb.delete(0,sb.length());  //      sb = new StringBuffer();            //      sb.replace(1, 3, "nba");  //      sb.setCharAt(2, 'q');            //      sb.setLength(10);            //      System.out.println("sb:"+sb);  //      System.out.println("len:"+sb.length());                    System.out.println(sb.reverse());                          }        private static void bufferMethodDemo_1() {          StringBuffer sb = new StringBuffer("abce");            //      sb.append("xixi");          sb.insert(2, "qq");                    System.out.println(sb.toString());      }        public static void bufferMethodDemo(){          //创建缓冲区对象。          StringBuffer sb = new StringBuffer();                    sb.append(4).append(false);//.append("haha");          sb.insert(1, "haha");  //      sb.append(true);                    System.out.println(sb);                }                }  



0 0
原创粉丝点击