1、定义String字符串java
String字符串和char字符不一样,char使用单引号,只能表示一个字符,字符串就是一段文本。String是个类。这个类使用final修饰,因此这个类是不能够继承扩充和修改它的方法的。String类又特别经常使用,因此在对String对象进行初始化时,它能够不像其它对象同样,必须使用new关键字构造对象。Java提供了一种简化的特殊语法。spa
使用String对象存储字符串:code
String s = "有志者事竟成";
固然咱们也仍是能够像之前使用new关键字的。对象
String s = new String("有志者事竟成");
2、String字符串的经常使用方法。blog
String类位于java.lang包中,java会默认的导入java.lang包,因此咱们使用java.lang包的类时,不须要显示的import类,String类具备丰富的方法,其中比较经常使用的有:继承
计算字符串的长度字符串
链接字符串string
比较字符串it
提取字符串ast
替换字符串
一、计算字符串的长度比较简单。代码以下:
String email = "abc@tom.com "; System.out.println(email.length()); System.out.println(email.trim().length()); String abc="你好"; System.out.println(abc.length());
第一个输出是:13。
第二个输出是:11。
第三个输出是:2。
由于空格也算是字符串的长度,若是你不想计算先后的空格,也也可使用trim()方法把先后的空格去了。在计算长度。第三个输出为2,可见java对中文的处理和英文也是同样计算的。并不存在一个中文等于两个英文符号的长度。
二、链接字符串。
链接字符串有两种方法:方法1:使用“+”。方法2:使用String类的concat()方法。代码以下:
System.out.println(email+"abc");
System.out.println(email.concat("abc"));
上面两个代码的输出都是同样的:
abc@tom.com abc
abc@tom.com abc
三、比较字符串
字符串的比较方法有不少,如比较两个字符串是否相等,比较后返回值是个布尔值。
String email2="cc@tom.com"; if(email.equals(email2)){ System.out.println("相等"); }else{ System.out.println("不相等"); }
结果是不相等。
字符串的比较是提取每个字符逐个比较的,以下图所示
并且这种比较是区分大小写的。因此
String str1 = "java"; String str2 = "Java"; System.out.println(str1.equals(str2));
返回为false,若是你想不区分大小写的比较,那么你可使用不区分大小写的比较方法或者把字符转为为大写(也就能够小写)后再比较。
System.out.println(str1.equalsIgnoreCase(str2));
System.out.println(str1.toLowerCase().equals(str2.toLowerCase()));
System.out.println(str1.toUpperCase().equals(str2.toUpperCase()));
咱们还能够判断字符串是否已某个字符串结尾或者开头
System.out.println(email.startsWith("abc"));
System.out.println(email.endsWith("com"));
四、提取字符串
要提取字符串,咱们首先得学会如何查询字符串。
注意下标也是从0开始的。
System.out.println(email.indexOf("a"));//从零开始,因此这里是0 System.out.println(email.indexOf("c"));//这个是2,从左到右找,返回第一个找到的。 System.out.println(email.indexOf("zz"));//找不到返回是-1 System.out.println(email.lastIndexOf("c"));//这个是8,从右到左找,返回第一个找到的。 下面是截取字符串
System.out.println(email.substring(3));//从第4个(包括第四个)开始截取到最后 System.out.println(email.substring(3, 5));
indexOf方法和substring方法常常一块儿使用,好比咱们要截取@以后的全部字符串,咱们能够结合这个两个。
System.out.println(email.substring(email.indexOf("@")+1));
五、替换字符串
例如咱们能够把全部的字符串c换成字符串z
System.out.println(email.replace("c", "z"));