1.声明字符串
首先,在JAVA中字符串必须在""
中使用,字符串常量可以显示任何系统能够显示的文字信息,当然单个字符也可以显示。
声明方式很简单:String str;
即声明了一个叫做str的字符串变量。
2.创建字符串
因为JAVA语言中字符串是作为对象来管理的,因此在创建过程中,我们可以向创建其他对象一样创建。创建对象要使用类的构造方法。
(1)String(char[])
用一个字符数组来创建String对象
例子:
char a[] = {'j','a','v','a'};
String s = new String(a);
(2)String(char a[], int offset, int length)
提取a字符数组的一部分来创建一个字符串对象。offset表示截取的字符串位置,length表示长度。
例子:
char a[]={‘j’,‘a’,‘v’,‘a’};
String s = new String(a,2,3);
(3)简单的常量引用赋值
String str1;
str1=“JAVA”;
3.连接字符串
使用"+"可以连接多个字符串,“+”运算符可以连接多个运算符并且生成一个String对象。
String str1 ="JA";
String str2 = "VA";
String s = str1+str2+"你好!";
4.连接其他数据类型
字符串也可以与其他数据类型进行连接,如果同这些数据进行连接,会将这些数据变为字符串
例子:
int a = 8;
System.out.println("我每天睡觉"+a+"八小时");
5.获取字符串信息
1)获取字符串长度
length()方法可以获取声明的字符串对象长度。语法如下:
str.length();
查询str的长度
2)字符串查找
字符串查找包括正序查找和倒序查找,分别为indexOf()和lastindexOf()方法,前者是返回搜索字符串第一次出现的位置,后者返回搜索字符串最后一次出现的位置。语法如下:
int size = indexOf("a");
查询str中a第一次出现时的位置。
3)获取索引位置的字符
使用charAt()方法可以将指定索引处的字符返回。语法如下:
str.charAt(2);
查询str中第二个字符是什么。
6.字符串操作
1)获取子字符串
通过String类中的substring()方法可以实现字符串的截取操作。这些截取操作往往需要利用字符串的下标。(字符串的下标从0开始)
substring()方法有两种使用方式
- substring(int);从某一处截取至字符串结尾,语法如下:
str.substring(3);
从下标为三开始截取至结束。
2. substring(startint,endint);从开始下标截取到结束下标,语法如下:
str.substring(2,4);
截取str字符串从下标为2到下标为4。
2)去除空格
trim()可以忽略前导空格和尾部空格
语法:str.trim();
3)字符串替换
replace()方法可以替换字符
用法:str.replace(old,new);
4)判断字符串开头结尾
1.startsWith()方法
用法:str.startsWith();
2.endsWith()方法
用法:str.endsWith();
例子:
String str = "hellojava";
boolean b1 = str.startsWith("hello");
boolean b2 = str.endsWith("java");
System.out.println("b1="+b1+" b2="+b2);
5)判断字符串是否相等
因为比较运算符“==”是比较地址是否相同的,但是即使两个字符串的内容相同,两个对象的内存地址也不同的,使用比较运算符仍然返回false。
因此比较我们往往采用equals()方法和equalsIgnoreCase()方法
用法:str.equals(String otherstr);
equalsIgnoreCase()方法与euqals()的区别是他不分大小写。
6)按字典顺序比较两个字符串
语法:str.compareTo(String otherstr);
7)大小写转换
toLowerCase()方法,toUpperCase()方法分别为大转小写,小转大写
语法:str.toLowerCase();str.toUpperCase();
8)字符串分割
split()方法进行分割
分割方式有两种,类似于前边所讲的取子字符串。
方法一:
String str = "hello.java.good";
String first[] = str.split("\\.");
String second[] = str.split("\\.",2);
方法二
String str = "hello.java.good";
String[] first = str.split("\\.");
String[] second = str.split("\\.",2);
for(String a:first) {
System.out.print("["+a+"]");
}
for(String a:second) {
System.out.print("["+a+"]");
}
第一个值是分的值,第二个是分成的份数。
7.字符串格式化
String类中的静态format()方法用于创建格式化的字符串。format()方法有两种重载形式。
语法如下:
str.format(String format,Object…args);
此条件中format为格式字符串,args为格式字符串中有格式说明符引用的参数。
str.format(Local l,String format,OBject…args);
多了一个 l,是格式化所需要的需要环境,null则不进行本地化。
例如:日期和时间字符串格式化
Date date1 = new Date();
String s = String.format("%te", date1);