String类型的字符串的知识点

一:字符串的比较

public class StringPool {
    
    public static void main(String args[])
    {
        
        String s0="Hello";
        
        String s1="Hello";
        
        String s2="He"+"llo";
        
        System.out.println(s0==s1);//true
        
        System.out.println(s0==s2);//true
        
        System.out.println(new String("Hello")==new String("Hello"));//false
        
    }
}

在java中如果没有给两个字符串申请空间,java会自动将相同的字符串保存在同一个地址,比较字符串时用==比较的是字符串的地址而不是内容。所以前两个会输出true,最后一个由于两个字符串都申请了空间,所以两个不同输出false。

二:String.equels()的比较方法

 
public class StringEquals {
    public static void main(String[] args) {
        
        String s1=new String("Hello");
        
        String s2=new String("Hello");
        
        System.out.println(s1==s2);
        
        System.out.println(s1.equals(s2));
        
        String s3="Hello";
        
        String s4="Hello";

          
        System.out.println(s3==s4);
        
        System.out.println(s3.equalsIgnoreCase(s4));
        
 
    }

}

1.两个字符串申请了空间,==比较的字符串的地址,所以为flase。2.equals比较的是字符串的内容,所以为true。3,两个字符串没有申请空间,所以两个相同的字符串使用相同的地址。4与2相同。

三:String类的一些函数

(1)String.length(),定义一个字符串,String a;int i=a.length();则a就是字符串a的长度,也就是a所含的字符的个数,返回值为整数。

(2)String.charAt(),

   String a;

   int i=a.length();

String m=a.charAt(i);意思为获得字符串a的某一个位置的字符,i为下标。

(3)String.getchars().

 char charArray[];

 s1 = new String( "hello there" );      

charArray = new char[ 5 ];

 s1.getChars( 0, 5, charArray, 0 );

 四个参数的含义
      1.被拷贝字符在字串中的起始位置
      2.被拷贝的最后一个字符在字串中的下标再加1
      3.目标字符数组
      4.拷贝的字符放在字符数组中的起始下标

结果就是:从s1的0下标开始,取5个字符串,赋给 charArray从下标0开始。charArray[0]=h,charArray[1]=e;charArray[2]=l;charArray[3]=l;charArray[4]=0;

(4)replace():

字符串替换String x = "[kllkklk\kk\kllkk]"; x.replace("kk", "++"),将kk用++替换,只替换第一个kk。

(5)toUpperCase()、 toLowerCase():大小写转换

.toLowerCase();//转成小写

.toUpperCase();//转成大写

String str = "aaaaaBBcccc";

String Upstr = str.toUpperCase();

String Lowstr = str.toLowerCase();

Upstr 的值是 "AAAAABBCCCC"

Lowstr 的值是 "aaaaabbcccc

(6)trim():去除头尾空格:

四:字符串加密

import java.util.*;
public class Jiami {

    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        String m=new String(input.nextLine());//输入字符串密码
        char s[]=new char[m.length()];
        int i,j=m.length();
        for(i=0;i<j;i++)
        {
            if(m.charAt(i)=='x')
            {
                s[i]='a';
            }
            else if(m.charAt(i)=='y')
            {
                s[i]='b';
            }
            else if(m.charAt(i)=='y')
            {
                s[i]='c';
            }
            else
            {
                s[i]=(char) (m.charAt(i)+3);
            }
        }//将每一个字符加3,如果是x.y.z就转换乘a,b,c
        for(i=0;i<j;i++)
        {
            System.out.print(s[i]);//输出加密后的字符串
        }

    }

}

原文地址:https://www.cnblogs.com/zll20153246/p/6007039.html