JAVA

字符串-string

(1)stringJava中是一个引用类型,string变量可引用一个字符串对象

(2)

1

   

s0,s1,s2引用同一个对象

New创建的两个string是不同的对象只是内容相同。

2

s1,s2引用同一个字符串对象,

s1+=”b”;s1是引用了新的对象,

s1是一个引用值(地址)不能与“ab”比较内容,即引用值不与内容匹配,

equals()方法可比较字符串内容。

(3)字符串比较

一:s1=”abcd”;s2=”abcd”;if(s1==s2)->此处比较的是s1,s2是否引用同一个对象(地址是否相同)。

二:比较字符串内容。 equals()equalsIgnoreCase()compareTo()字典法比较,返回值(0->相等,负数,正数)。regionMatches()比较字符串中某一部分是否相等

equals()方法:

4):字符串查找。

查找某一字符或字串:

indexOf();

lastIndexOf();

查询是否以某字符串开始或结束:

start sWith();

endWith();

(5)常用字符串方法:

1. subString()提取字串;

例:

public class Stringx {

public static void main(String args[]) {

String s="I am a boy.";

String temp=s.substring(0,6);

System.out.println(temp);

}

}

2. concat()连接字串,或直接用“+”连接。

例:

public class Stringx {

public static void main(String args[]) {

String s="I am a";

String temp=" boy!";

System.out.println(s.concat(temp));

}

}

3. String.valueOf(),将其他类型转化为String类型。

例:

public class Stringx {

public static void main(String args[]) {

int a=12345;

String tem=String.valueOf(a);

System.out.println(tem);

}

}

4. Length();

例:

public class Stringx {

public static void main(String args[]) {

String tem="abcdefg";

System.out.println(tem.length());

}

}

5. charAt();

例:

public class Stringx {

public static void main(String args[]) {

String tem="abcdefg";

System.out.println(tem.charAt(3));

}

}

6. getChars();

例:

public class Stringx {

public static void main(String args[]) {

String tem="abcdefg";

char ch[]=new char[10];

tem.getChars(1,5,ch,0);

System.out.println(ch[4]);

}

}

7. replace();

例:replaceAll(String,String);

public class Stringx {

public static void main(String args[]) {

String tem="abcdefg";

tem=tem.replaceAll(tem, "aaaaa");

System.out.println(tem);

}

}

8. toUpperCase(),toLowerCase();

例:

public class Stringx {

public static void main(String args[]) {

String tem="abcdefg";

tem=tem.toUpperCase();

System.out.println(tem);

}

}

9. trim();

例:

public class Stringx {

public static void main(String args[]) {

String tem="  aBCdef g  ";

tem=tem.trim();

System.out.println(tem);

}

}

10. toCharArray();

例:

public class Stringx {

public static void main(String args[]) {

String tem="abcdefg";

char ch[]=new char[10];

ch=tem.toCharArray();

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

System.out.print(ch[i]);

}

}

6StringBuffer

String类型中s1=”abcd”,s1+=”ff”,s1前后引用两个不同的字符串对象,String对象创建后内容不可更改。

StringBuffer对象中可更高内容,长度自动改变

方法:

insert()

delete();

append();等

(7)StringBuilder

(8)Character

(9)StringTokenizer

(10)String类实验:字串加密

设计思想:

设置加密/解密的key=x;

加密/解密:改变每一个字符原字符,前移(加),后移(减)key个单位。

程序流程图:

 

源代码:

import java.util.Scanner;

//字串加密

public class Mystic {

private String str;

public void setStr(String s) {

str=s;

}

public String getStr() {

return str;

}

public void jiami(String s) {

str=s;

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

str=str.replace(str.charAt(i),(char)(s.charAt(i)+4));

}

}

public void jiemi(String s) {

str=s;

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

str=str.replace(str.charAt(i),(char)(s.charAt(i)-4));

}

}

public static void main(String[] args) {

System.out.print("enter the string:");

Scanner scan=new Scanner(System.in);

String tem=scan.next();

Mystic mm=new Mystic();

System.out.println("choice:1->加密;2->解密。");

System.out.print("your choice:");

int ch=scan.nextInt();

if(ch==1) {

mm.jiami(tem);

    System.out.println("加密后:"+mm.getStr());

}

else {

mm.jiemi(tem);

System.out.println("解密后:"+mm.getStr());

}

}

}

结果截图:

...................................................
原文地址:https://www.cnblogs.com/floakss/p/7742407.html