一、将 'abc123' 字符串反转。

import java.lang.*;

class Reverse{
    public static void main(String[] args) {
        String str = "abc123";
        
        // StringBuffer
        String rs = reverse1(str);
        System.out.println(rs);
        
        //toCharArray
        String tca = reverse1(str);
        System.out.println(tca);
        
        //CharAt
        String ca = reverse1(str);
        System.out.println(ca);
        
    }
    
    // StringBuffer
      public static String reverse1(String str){
        StringBuilder strb = new StringBuilder(str).reverse();
        return strb.toString();        
      }
    
    
    // 利用 String 的 toCharArray 方法先将字符串转化为 char 类型数组,然后将各个字符进行重新拼接:
      public static String reverse2(String str) {
        char[] chars = str.toCharArray();
        String reverse = "";
        for (int i = chars.length - 1; i >= 0; i--) {
          reverse += chars[i];
        }
        return reverse;
    }
    
    
    //利用 String 的 CharAt 方法取出字符串中的各个字符:
      public static String reverse3(String str) {
        String reverse = "";
        int length = str.length();
        for (int i = 0; i < length; i++) {
          reverse = str.charAt(i) + reverse;
        }
        return reverse;
      }
    
}

 

二、String:

1、定义:

在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。它不属于常用类型,属于引用类型。String类对象创建后不能修改(赋值后将会生成新的对像来存放新的内容,原先的对象依旧在内存中,但是s不在指向它,那么这个对象就会成为垃圾内存,在某一个特定的时刻有Java虚拟机回收)。

2、StringBuffer 和 StringBuilder 类:

当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。StringBuilder 和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。

2、String常用方法:

java使用手册在线版:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh
import java.lang.*;

class StringTest{
    public static void main(String[] args) {
        String str = "abc123";
        
        /**
          int length():
              语法:字符串变量名.length();  
              返回值为 int 类型。
              得到一个字符串的字符个数(中、英、空格、转义字符皆为字符,计入长度)
         */
        String rs = str.length();
        System.out.println(rs);
        
        
        
        /**char charAt(值)
             语法 :字符串名.charAt(值);  
            返回值为 char 类型。
            从字符串中取出指定位置的字符 
         */
        String ca = str.charAt(1);
        System.out.println(ca);
        
        
        /**char  toCharArray();  
             语法 :字符串名.toCharArray();
            返回值为 char 数组类型。
            将字符串变成一个字符数组 
         */
        char c[] = str.toCharArray(); 
        for (int i = 0; i < c.length; i++){
            System.out.println("转为数组输出:" + c[i]);
        }
        
        
        
        /**int indexOf("字符")  
             语法 :字符串名.indexOf("字符");
            字符串名.indexOf("字符",值);
            查找一个指定的字符串是否存在,返回的是字符串的位置,如果不存在,则返回-1.
           in lastIndexOf("字符") 
               得到指定内容最后一次出现的下标 
         */
        int a1 = str.indexOf("2");// 查找字符2的位置 
        int a2 = str.indexOf("1", 2);// 查找1的位置,从第3个开始查找
        int a3 = str.lastIndexOf("a"); 
        System.out.println("2的位置为:" + a1); 
        System.out.println("1的位置为:" + a2);
        System.out.println("a最后出现的位置为:" + a3);
        
        
        /**toUpperCase();  
           toLowerCase();
           字符串大小写的转换
         */
        String str1="hello world";
        System.out.println("将字符串转大写为:" + str1.toUpperCase());
        System.out.println("将字符串转换成小写为:" + str1.toUpperCase().toLowerCase());
        
        
        /**
         String[] split("字符")  
         根据给定的正则表达式的匹配来拆分此字符串。形成一个新的String数组。
        */
        String str2 = "boo:and:foo";
        String[] arr1 = str2.split(":");
        String[] arr2 = str2.split("o");
        
        
        /**
         boolean equals(Object anObject)  
           语法 :字符串变量名.wquals(字符串变量名);  
           返回值为布尔类型。所以这里用 if 演示。比较两个字符串是否相等,返回布尔值
        */
        String str3 = "hello";
        String str4="world";  
        
        if(str.equals(str1)){  
            System.out.println("这俩字符串值相等"); 
        }else{
            System.out.println("这俩字符串值不相等");
        }
        
        
        /**
         trim();去掉字符串左右空格  
         replace(char oldChar,char newChar);新字符替换旧字符,也可以达到去空格的效果一种。
        */
        String str5 = "       挨点博客         ";  
        System.out.println("去掉左右空格后:" + str.trim());
        System.out.println("去掉左右空格后:" + str.replace(" ",""));
        
        
        //String substring(int beginIndex,int endIndex)  截取字符串 
        //boolean equalsIgnoreCase(String) 忽略大小写的比较两个字符串的值是否一模一样,返回一个布尔值
        //boolean contains(String) 判断一个字符串里面是否包含指定的内容,返回一个布尔值
        //boolean startsWith(String)  测试此字符串是否以指定的前缀开始。返回一个布尔值
        //boolean endsWith(String)  测试此字符串是否以指定的后缀结束。返回一个布尔值
        //String replaceAll(String,String) 将某个内容全部替换成指定内容
        //String repalceFirst(String,String) 将第一次出现的某个内容替换成指定的内容
        
    }
}

 

posted on 2020-06-03 10:10  小潘同学  阅读(325)  评论(0编辑  收藏  举报
-->