zoukankan      html  css  js  c++  java
  • 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());

    }

    }

    }

    结果截图:

    ...................................................
  • 相关阅读:
    《数据结构》C++代码 线性表
    《数据结构》C++代码 Splay
    《数据结构》C++代码 前言
    蓝桥杯- 算法提高 最大乘积
    HDU-1241 Oil Deposits
    一个简单的网站计数器
    编写一个jsp页面,输出九九乘法表。
    Sum It Up
    历届试题 剪格子
    历届试题 分糖果
  • 原文地址:https://www.cnblogs.com/floakss/p/7742407.html
Copyright © 2011-2022 走看看