Java基础知识——(2)String字符串基本操作

  • Post author:
  • Post category:java




1、创建字符串

以下创建的字符串结果都为“student”。

public class Main{
    public static void main(String[] args) {
        char[] a={'s','t','u','d','e','n','t',};
        String s1=new String(a);							//第一种
        char[] b={'x','x','s','t','u','d','e','n','t','x'};
        String s2=new String(b,2,7);						//第二种
        String s3=new String("student");					//第三种
        String s4;
        s4="student";									   //第四种
        System.out.println(s1+" "+s2+" "+s3+" "+s4);
    }
}



2、连接字符串

Java使用”+“来连接两个字符串或其他类型数据。只要“+”运算符操作的两边有一边是字符串,编译器就会将另一个操作数也转化为字符串类型。

实例代码如下:

int booktime =2;
double practice =2.5; 
System.out.println("我每天花费"+booktime+"小时看书"+(booktime+practice)+"小时练习");

输出结果为“我每天花费2小时看书4.5小时练习”。因为**“()”的优先级最高先执行了里面的运算,然后进行了字符串的连接**。



3、获取字符串信息

1、str.length();

获取字符串长度,包括字符串中的空格。

2、str.indexOf(String r)、 str.lastIndexOf(String s);

获取字符串r首次出现的索引位置,获取字符串s最后一次出现的索引位置。无则返回-1。

3、str.charAt(int x);

返回索引x所在位置的字符。

实例代码如下:

public class Main{
    public static void main(String[] args) {
        char[] a={'s','t','u','d','e','n','t',};
        String s1=new String(a);
        int x1=s1.length();				//x1=7
        int x2=s1.indexOf("t");			//x2=1
        int x3=s1.lastIndexOf("t");		//x3=6
        char x4=s1.charAt(3);			//x4=d
        System.out.println(x1+" "+x2+" "+x3+" "+x4);
    }
}



4、字符串操作

1、str.substring(int x,int y);

从索引x处截取字符串到索引y处,

不包含索引y

。如果

不给y赋值,则默认截取到字符串末尾

2、str.trim();

去掉前部和尾部空格。

3、str.replace(char old,char new);

将字符串中所有的字符old替换为new。如果原字符没有字符old,则返回原字符串。

4、str.startsWith(String x)、str.endsWith(String y);

判断字符串是否以x开始,是否以y结尾。

5、str.equals(String x)、str.equalsIgnoreCase(String y);

前者比较str和x是否相等,后者忽略大小写进行比较。

6.str.compareTo(String x);

按照字典顺序比较字符串大小。若str大则返回1,x大则返回-1,相等则返回0;

7、str.toLowerCase()、str.toUpperCase();

前者只将大写的英文字母转化为小写英文字母,后者正好相反,与数字或非字符没有关系。

实例代码如下:

public class Main{
    public static void main(String[] args) {
        char[] a={'s','t','u','d','e','n','t',};//
        String s1=new String(a);			//定义字符串s1
        String x1=s1.substring(3);			//x1的值为dent
        String x2=s1.substring(3,5);		//x2的值为de
        String s2="  stud ent  ";			//定义字符串s2
        String x3=s2.trim();				//x3的值为stud ent
        String x4=s1.replace("t","T");		//x4的值为sTudenT
        boolean x5=s1.startsWith("s");		//x5的值为true
        boolean x6=s1.endsWith("s");		//x6的值为false
        String s3="abc DEF";				//
        String s4="ABC def";				//
        boolean x7=s3.equals(s4);			//x7的值为false
        boolean x8=s3.equalsIgnoreCase(s4);	 //x8的值为true
        String s5="a";
        String s6="b";
        String s7="c";
        int x9=s6.compareTo(s7);			//x9的值为-1
        int x10=s6.compareTo(s5);			//x10的值为1
        String x11=s3.toLowerCase();		//x11的值为abc def
        String x12=s4.toUpperCase();		//x12的值为ABC DEF
        //依次输出x的值
        System.out.println(x1);
        System.out.println(x2);
        System.out.println(x3);
        System.out.println(x4);
        System.out.println(x5);
        System.out.println(x6);
        System.out.println(x7);
        System.out.println(x8);
        System.out.println(x9);
        System.out.println(x10);
        System.out.println(x11);
        System.out.println(x12);
    }
}



版权声明:本文为m0_74800695原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。