String类型

 String——字符串

一、String对象中的常用方法

字符串是一个字符序列,并且是一个引用类型。首先简单地介绍一下String对象的一些简单的方法:

1、length():返回字符串的字符数;

2、charAt(index):返回字符串s中所指定位置上的字符,index表示下标;

3、concat(参数——字符串):将本字符串和参数字符串连接,返回一个新的字符串;

4、toUpperCase():返回一个新的字符串,其中所有的字母大写;

5、toLowerCase():返回一个新的字符串,其中所有的字母大写;

6、trim():返回一个新的字符串,去掉了两边的空白字符。例:

class Test06{
    public static void main(String[] args){
        String str1="abCDef";
        String str2=" abcdef ";
        System.out.println("字符串str1的长度为:"+str1.length());
        System.out.println("输出字符串str1中下标为2的字符:"+str1.charAt(2));
        System.out.println("拼接字符串str1与str2之后得:"+str1.concat(str2));
        System.out.println("将字符串str1中的字母全部转化为大写:"+str1.toUpperCase());
        System.out.println("将字符串str1中的字母全部转化为小写:"+str1.toLowerCase());
        System.out.println("将字符串str2中的两边的空格去掉为:"+str2.trim());
    }
}

/* 
运行结果:
字符串str1的长度为:6
输出字符串str1中下标为2的字符:C
拼接字符串str1与str2之后得:abCDef abcdef
将字符串str1中的字母全部转化为大写:ABCDEF
将字符串str1中的字母全部转化为小写:abcdef
将字符串str2中的两边的空格去掉为:abcdef
*/

 二、从控制台读取字符串

为了从控制台读取字符串,调用Scanner对象上的next()。例如:下面的代码就可以从键盘读取三个字符串:

import java.util.Scanner;
class Test07{
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        System.out.print("Enter a string:");
        String str1=input.next();
        String str2=input.next();
        String str3=input.next();
        System.out.println("str1="+str1);
        System.out.println("str2="+str2);
        System.out.println("str3="+str3);
    }
}
/*
运行结果:
Enter a string:Welcome to xian
str1=Welcome
str2=to
str3=xian
 */

 特别提醒:next()方法的读取是以空白字符结束的字符串;可以使用neatLine()方法读取以按下回车键为结束标志的字符串。例:

import java.util.Scanner;
class Test07{
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        System.out.print("Enter a string:");
        String str1=input.nextLine();
        System.out.println("str1="+str1);
    }
}
/*
运行结果:
Enter a string:welcome to xian
str1=welcome to xian
 */

 三、字符串比较

先简单的介绍一下String对象的比较方法

1、equals(参数——字符串):如果该字符串等于参数字符串,返回true;

2、equalsIgnoreCase(参数——字符串):如果字符串等于参数字符串,返回true,切记不区分大小写;

3、compareTo(参数——字符串):返回一个大于0、等于0、小于0的整数,表明一个字符串是否大于、 等于或者小于s1;

4、compareToCase(参数——字符串):和3一样,就是区分大小写;

5、contains(参数——字符串):如果参数字符串是该字符串的子字符串,返回true。

class Test07{
    public static void main(String[] args){
        String str1="AbcdEf";
        String str2="Abcd";
        String str3="aBcdeF";
        String str4="AbcdEf";
        System.out.println("str1是否与str4相等:"+str1.equals(str4));
        System.out.println("str1是否与str3相等:"+str1.equalsIgnoreCase(str4));
        System.out.println("str1是否与str2相等:"+str1.compareTo(str2));
        System.out.println("str1是否与str3相等:"+str1.compareToIgnoreCase(str3));
        System.out.println("str2是否是str1的子串:"+"AbcdEf".contains("Abcd"));
    }
}
/*
运行结果:
str1是否与str4相等:true
str1是否与str3相等:true
str1是否与str2相等:2
str1是否与str3相等:0
str2是否是str1的子串:true
 */

 四、获取字符串中的字符或者子串

String类包含获取子串的方法

五、获得子字符串

1、substring(参数——数字):返回该字符串的子串,从特定的位置参数字符的下标开始一直到该字符串结束;

2、substring(参数1——数字,参数2——数字):返回的是该字符串中的下标所指定的区间上所对应的字符串。

class Test07{
    public static void main(String[] args){
        String str1="I am a good student";
        String str2="you are a good teacher";
        String str3="";//放小的
        String str4="";//存放大的
        int k=1;//存放较小的字符串长度
        String str="";
        boolean flag=true;
        if(str1.length()>=str2.length()){
            k=str2.length();
            str3=str2;
            str4=str1;
        }else{
            k=str1.length();
            str3=str1;
            str4=str2;
        }

        for(int i=0;i<k;i++){
            for(int j=0;j<=k-1-i;j++){
                String str=str3.substring(j,k-1-i);
                if(str4.contains(str)){
                    flag=false;
                    System.out.println("asdf "+str);
                    break;
                }
            }
            if(!flag){
                break;
            }
        }
    }
}

 

 

 

 

 

 

发布了15 篇原创文章 · 获赞 8 · 访问量 4497
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章