首页 > 代码库 > string类的一些函数方法

string类的一些函数方法

1.请查看String.equals()方法的实现代码,注意学习其实现方法

(1)源程序:

public class StringEquals {

/**

     * @param args the command line arguments

     */

   public static void main(String[] args) {

       

      String s1=new String("Hello");

      String s2=new String("Hello");

      System.out.println(s1==s2);//false

       

      System.out.println(s1.equals(s2));//true

 

       

      String s3="Hello";

      String s4="Hello";

 

         

      System.out.println(s3==s4);//true

      System.out.println(s3.equals(s4));//true

   }

}

(2)结果截图

技术分享

(3)结果分析:

new动态申请空间,申请的空间是不一样的,所以直接用“==”判等时他们是不等的,“==”判断地址和内容是否一样,显然地址不一样,所以显示false;而用equals时,只判断内容,内容相同,所以true;s3和s4没有用new,当字符串内容相同时,为了节省地址,就会分配一个地址,所以s3、s4无论地址还是内容都是一样的。

2.加密

(1)源代码:

import java.util.Scanner;

public class jiami {

   public static void main(String args[])

   {

      //int a[]=null;

   System.out.print("请输入一串字符串 :");

   Scanner scanner=new Scanner(System.in);

   String a=scanner.next();

   System.out.println("加密后的是:");

   for(int i=0;i<a.length();i++)

   {

   int b=a.charAt(i);//获取指定位置上的字符,并强制转化成int型

   if((b+3<=‘Z‘&&b+3>=‘A‘)||(b+3<=‘z‘&&b+3>=‘a‘))b=b+3;

   else if((b+3>‘z‘&&b<=‘z‘+3)||(b+3>‘Z‘&&b<=‘Z‘+3))b=b-23;

      System.out.print(new String(new char[]{(char)b}));//强制转换,将int型的b转化成char类型的

   }

   }

}

(2)设计思想:

首先输入一串字符,表示成string类型的,然后就进行加密,加密时用charAt函数将string类型的字符一个个的分别转化成int型的b,接着判断int型的b变量变化的范围,b+3<=z,就直接加3,否则就-23;最后输出变化后的字符串,将整型的b强制转化成char类型的数组,再以string的类型输出。

(3)运行结果截图

技术分享

(4)程序流程图

技术分享

3.验证

(1)源代码

import java.util.Scanner;

 

 

public class Stringexam {

   public static void main(String args[])

   {

      char chara[]=new char[5];

      /*System.out.print("请输入一串数:");

      Scanner scanner=new Scanner (System.in);

      String a=scanner.next();*/

      String a=new String (" My name is ChenXiaoyang");

      System.out.println("请输出a的值:"+a);

      System.out.println("请输出a的长度:"+a.length());

      System.out.println("请输出a的值(去掉头尾空格):"+a.trim());//会去掉首尾空格

      System.out.println("请输出去掉头尾空格后a的长度:"+a.trim().length());

      char b=a.charAt(2);//取下标为3的字符

      System.out.println("下标为3的字符是:"+b);

      a.getChars(1,5, chara,0);//获取从指定位置起的子串复制到字符数组,放在字符数组下标为0的位置

      System.out.println("字符数组是:");

      for(int i=0;i<chara.length;i++)

      {

         System.out.print(chara[i]+" ");

      }System.out.println();

      String a1=a.substring(0,2);System.out.println("a1的值:"+a1);//获取下标为0,1的字符串

      String a2=a.substring(3, 5);System.out.println("a2的值:"+a2);//获取下标为3,4的字符串

      String b3=a.replace(a1, a2);System.out.println("a1和a2互换后的值:"+b3);//a1和a2互换

      System.out.println("a的值:"+a);

      String a4=a.toUpperCase();//全变为大写的

      System.out.println("变化后的a的值:"+a4);

      String a5=a.toLowerCase();

      System.out.println("再次变化后a的值:"+a5);//全变为小写的

      char aa[]=a.toCharArray();

      for(int j=0;j<a.length();j++)

      {

      System.out.print(aa[j]+" ");

      }

      //System.out.print("化为字符数组后的a的值:"+);//将字符串转化成数组

   }}

(2)

Length():获取字串长度

charAt():获取指定位置的字符

getChars(int,int,char[],int):获取从指定位置起的子串复制到字符数组中,

         四个参数的含义:

      .被拷贝字符在字串中的起始位置

      .被拷贝的最后一个字符在字串中的下标再加1

      .目标字符数组

      .拷贝的字符放在字符数组中的起始下标

replace(a1,a2):子串替换,如果()是写的查找后的字符调换就只会调换查找到的两个位置的字符,但是如果只是写的一个字符,不是查找到的就会替换掉所有的,用a2替换a1.

toUpperCase()转换为大写的

toLowerCase():转换成小写的

trim():去除头尾空格:

toCharArray():将字符串对象转换为字符数组

(3)程序截图:

技术分享

技术分享

string类的一些函数方法