Java string特点及基本用法
开始学习Java之后,便会接触到string类。string就像是C语言中常说的字符串,字符串其实就是一个String类的对象。
在这里我们简单介绍一下string类的用法特点,并且结合代码演示。
1、定义字符串
第一步我们先定义一下字符串。字符串的定义一般有两种方法,常用的是第一种简化语法。
String str1="I Love the World!"; //简化语法
String str2=new String("I Love the World!"); //标准语法
2、字符串的连接
String str = "I Love";//将"I Love"赋给str
str += " the World!";//将" the World!"连接上"I Love"
字符串之间的连接就像是拼接一样,很简单就理解。但是它的原理不是将后面的直接接到前面,而是重新定义了一个字符串“I Love the World!”,给了一个新的内存地址存放这个新的字符创。然后str就指向这个新的地址,原来的字符串的存放地址没有消失,而是str指向的地址改变了。
不仅仅有上面那种拼接,也有以下这种利用JDK封装好的对字符串操作的方法,String concat()将指定字符串连接到此字符串的结尾。
String str1= "I Love";
String str2= " the World!";
System.out.println(str1.concat(str1)); //字符串拼接
System.out.println(str1.concat(str1).concat(str2));//字符串连续拼接
3、判断两个字符串地址是否相等,内容是否相等
equals()用来比较两个字符串内容是否相等,String equalsIgnoreCase()也可以用来比较两个字符串是否相同,不过它不考虑大小写。
String str1 = "I Love the World!";
String str2 = "I Love the World!";
//等号判断字符串是否相等
System.out.println("str1 str2 地址是否相等?" + (str1 == str2));
//判断俩字符串内容是否相等
System.out.println("str1 str2内容是否相等?" + (str1.equals(str2)));
4、判断字符串是否以某特定字符串开头或结尾
这个方法比较简单,就是用JDK以及有的String类操作方式即可完成。
System.out.println(str1.startsWith("I")); //判断字符串是否以 I 开头
同样的,以某种特定字符串结尾的也是差不多的操作方式
System.out.println(str1.startsWith("World! ")); //判断字符串是否以World! 结尾
5、字符串变大小写
变小写的方式为String toLowerCase(),变大写的方式为toUpperCase()。
//变小写
System.out.println("字符串变小写:"+ new String("I Love the World!").toLowerCase());
//变大写
System.out.println("字符串变大写:"+ new String("I Love the World!").toUpperCase());
6、根据下标获取某个字符串
获取字符方式为String charAt(),括号里面为要获取的字符串下标
//获取字符串中下标为6的字符
System.out.println("获取下标为6的字符"+new String("beautiful").charAt(6));
7、类型转换
String valueOf()可以将任何其他数据类型的值转换为字符串,括号里面是需要转换的类型。
System.out.println("把整型转换为字符串型"+String.valueOf(111111));
System.out.println("把浮点型转换为字符串型"+String.valueOf(111111f));
System.out.println("把boolean型转换为字符串型"+String.valueOf(ture));
8、字符串截取
字符串截取,从a索引截取到b处 String substring(a,b)。a是开始截取的下标,b是结束的位置下标。如果括号里只填一个参数c,那么就是从下标c处开始截取之后的所有内容。
//截取下标2到6的字符串
System.out.println("截取的一段句子:"+str1.substring(2,6));
最后一步——测试
我们把上述的功能,全部写到一个代码里面去
public class TextString {
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义字符串
String str1 = "I Love the World!";
String str2 = "I Love the World!";
String str3 = "I Love";
//拼接字符串
str3 += " the World!";
System.out.println("拼接的str3字符串为:"+str3);
System.out.println("连续拼接的字符串为: "+str3.concat(str3).concat(str3));
//判断两个字符串内容与地址是否相等
System.out.println("str1 str2内容是否相等?"+(str1.equals(str2)));
System.out.println("str1 str2地址是否相等?"+(str1 == str2));
//判断字符串是否以某特定字符串开头或结尾
System.out.println("str1是否以 I 开头?"+str1.startsWith("I"));
//字符串变大小写
System.out.println("字符串变小写:"+ new String("I Love the World!").toLowerCase());
System.out.println("字符串变大写:"+ new String("I Love the World!").toUpperCase());
//获取字符串中特定下标的字符
System.out.println("下标为6的字符为:"+new String("beautiful").charAt(6));
//整型转换
System.out.println("整型转化为字符串"+String.valueOf(11111));
System.out.println("浮点型转化为字符串"+String.valueOf(11111f));
System.out.println("boolean型转化为字符串"+String.valueOf(true));
//截取句子
System.out.println("截取的一段句子:"+str1.substring(2,6));
System.out.println("\n此次学习到此结束!");
}
}
运行结果如下
JDK里面封装好的string的用法还有一些,文章里讲了个大概。剩下的一些这里就不一 一列举了。这都方法都需要我们自己亲自去了解,去实现,去编译。