企业网站 流程,医院网站建设需要多少钱,公司网站关键词优化怎么做,湖南做网站 地址磐石网络字符串操作 1、String类1.1 声明字符串1.2 创建字符串 1.3 字符串连接 /连接字符串连接其他数据类型 1.4 提取字符串信息获取字符串长度length()获取指定位置的字符 charAt()获取子字符串索引位置 indexOf()判断字符串首尾内容 startsWith()/endsWith()获取字符数组 toCharArra… 字符串操作 1、String类1.1 声明字符串1.2 创建字符串 1.3 字符串连接 /连接字符串连接其他数据类型 1.4 提取字符串信息获取字符串长度length()获取指定位置的字符 charAt()获取子字符串索引位置 indexOf()判断字符串首尾内容 startsWith()/endsWith()获取字符数组 toCharArray()判断子字符串是否存在 contains() 1.5 字符串操作截取字符串 substring()字符串替换 replace()字符串分割 split()大小写转换 toLowerCase()/toUpperCase()去除空白内容 trim()比较字符串是否相等 equals() 2、StringBuffer类2.1 创建对象2.2 追加字符序列 append2.3 修改指定索引处的字符 setCharAt()2.4 插入字符串 insert()2.5 字符串反序 reverse()2.5 删除字符串 delete() 1、String类
1.1 声明字符串
字符串是常量他们可以显示任何文字信息字符串的值在创建后不能更改。Java语言中双引号的内容表示字符串单引号的内容表示字符。 Java通过java.lang.String这个类来创建可以保存字符串的变量所以字符串变量是一个对象。
声明字符串变量
String a;
String a,b;在不给字符串赋值的情况下其默认值是NULL。如果调佣String的方法则会发生空指针异常。
1.2 创建字符串
对字符串变量赋值
引用字符串常量
String a 时间就是金钱;
String str1, str2;
str1 good good study;
str2 day day up;利用构造方法实例化
String a new String(I like motorcycle!);
String b new String(a);利用字符数组实例化
char[] charArray {t,i,m,e};
String a new String(charArray);提取字符数组中的一部分创建字符串对象
char[] charArray {t,i,m,e};
String a new String(charArray, 1, 2); //从第1个索引开始提取两个元素1.3 字符串连接 /
连接字符串
使用”和”运算符可以实现多个字符串的连接并产生一个String对象。
public class StringConcatenation{public static void main(String[] args){String a 时间就是金钱;String a 浪费时间可惜;String c a , b;String d 珍惜每时每刻做有意义的事情。;d c; //d d c ; 连接字符串 System.out.printIn(a a);System.out.printIn(a a);System.out.printIn(a a);System.out.printIn(a a);}
}Note: Java中相连的字符串不能直接分成两行如果字符串太长需要分成两行利用进行连接。但是连接两个字符串后原先的字符串不会发生变化。但是在内存中会生成一个新的字符串。字符串是常量在内存中是不可改变的。 String自带的concat可以实现将指定字符串连接到此字符串结尾的功能。
a.concat(str); //a为原字符串str原字符串末尾拼接的字符串连接其他数据类型
字符串也可以同其他基本数据类型进行连接。如果将字符串同这些数据类型的数据进行连接会将这些数据直接转换成字符串。 Note:
只要“”运算符的一个操作数是字符串编译器就会将另一个操作数转换成字符串形式使用时需要谨慎。字符串在计算公式中的先后顺序会影响运算结果。先到先得
String a 1 2 3 4; // “1234”
String b 1 2 3 4; // “64”
String a 1 (2 3 4); // “19”1.4 提取字符串信息
获取字符串长度length()
length()方法会返回字符串数量获取字符串长度也就是char的数量。
str.length();//example
String num 12345 67890;
int size num.length(); //11Note:字符串的length()方法与数组的length属性都是用来获取长度但是两者是不同的一个是方法一个是成员属性。
获取指定位置的字符 charAt()
charAtint index方法用来获取指定索引的字符。
str.charAt(index); //str任意字符串对象index为char值的索引Note索引是从0开始的。
获取子字符串索引位置 indexOf()
indexOf()方法返回的是搜索的字符或字符串在字符串中首次出现的索引位置如果没有索引到查找的字符或字符串则返回-1.
str.indexOf(substr); //str任意字符串对象substr为要搜索的字符或字符串String str We are the team;
int addr str.indexOf(e); //值为1Note:
应用场景日常开发中经常会遇到判断一个字符串是否包含在某个字符或者某个子字符串中的情况此时采用indexOf()方法。
判断字符串首尾内容 startsWith()/endsWith()
startsWith()方法和endsWith()方法分别用于判断字符串是否以指定的内容开始或结束这两个方法的返回值都是boolean类型。
str.startsWith(prefix); //str为任意字符串prefix为作为前缀的字符串
str.endsWith(suffix); //str为任意字符串suffix指定的后缀的字符串获取字符数组 toCharArray()
toCharArray()方法可以将字符串转换成一个字符数组。
str.toCharArray(); //str为任意字符串public class StringToArray{public static void main(String[] args){String str 这是一个字符串; //创建一个字符串char[] ch str.toCharArray(); //将字符串转换为字符数组for(int i 0;i ch.length;i){ //遍历字符数组System.out.printIn(数组第 i 个元素为 ch[i]); //输出数组元素}}
}判断子字符串是否存在 contains()
contains()方法可以判断字符串中是否包含指定的内容返回值为true和false.
str.contains(string); //str任意字符串string:查询的子字符串1.5 字符串操作
截取字符串 substring()
substring()方法返回一个新字符串他是此字符串的一个子字符串。该字符串从指定的beginIndex处的字符开始直到索引endIndex-1处的字符。
str.substring(beginIndex);
str.substring(beginIndex, endIndex); //str:任意字符串beginIndex起始索引包括endIndex结束索引不包括字符串替换 replace()
replace()方法可以实现将指定的字符序列替换成新的字符序列。
str.replace(oldstr, newstr); //str:任意字符串oldstr:要被替换的字符串newstr替换后的字符串Note
replace()方法返回的是一个新的字符串。如果字符串str中没有找到需要替换的字符串序列oldstr则将原字符串返回。如果出现多次则全部替换。大小写要一致才能替换如果不一致不能替换。
字符串分割 split()
split()方法可根据给定的分隔符对字符串进行拆分支持正则表达式最后返回一个字符串数组。
str,split(regex); //str:任意字符串regex:分隔符表达式。大小写转换 toLowerCase()/toUpperCase()
str.toLowerCase(); //转换为小写
str.toUpperCase(); //转换为大写Note:转化成功后返回一个新的字符串。
去除空白内容 trim()
trim()方法可以将字符串首尾处的空白内容删除。
str.trim(); //str:任意字符串比较字符串是否相等 equals()
当且仅当进行比较的字符串不为null并且与被比较的字符串内容相同时结果为true.
a.equals(str); //a任意字符串str:进行比较的字符串。Note:
字符串比较中“”和“equals()”不同前者不仅需要内容相同还需要地址相同后者只需要存储内容相同。String str null和String str “ ”是两种不同的概念。前者是空指针不指向任何位置后者表示是一个“ ”字符串分配了内存空间的。
2、StringBuffer类
String创建的字符串是不可变的StringBuffer类创建的字符串序列是可修改的且实体容量会随着存放的字符串增加而自动增加。 StringBuffer类是线程安全的可变字符序列一个类似于String类的字符串缓冲区StringBuffer的执行效率比String高。
2.1 创建对象
StringBuffer sbf new StringBuffer(); //创建一个对象没有初始值
StringBuffer sbf new StringBuffer(abc); //创建一个对象初始值为abc
StringBuffer sbf new StringBuffer(32); //创建一个对象初始容量为32个字符
2.2 追加字符序列 append
append方法可将参数转化为字符串然后追加到此序列中。
sbf.append(obj); //sbf:任意StringBuffer对象obj任意数据类型的对象String/int/double/Boolean。2.3 修改指定索引处的字符 setCharAt()
sbf.setCharAt(index, ch); // sbf:任意StringBuffer对象index:被替换字符的索引ch:替换后的字符。2.4 插入字符串 insert()
插入后后面的内容往后面延。不会覆盖数据
sbf.insert(offset, str); // sbf:任意StringBuffer对象offset:插入的索引str:插入的字符串。2.5 字符串反序 reverse()
StringBuffer sbfnew StringBuffer(同一个世界同一个梦想);
sbfsbf.reverse(); //想梦个一同界世个一同2.5 删除字符串 delete()
delete()方法可以移除此序列的子字符串中的字符。该字符串是从指定的索引start处开始一直到end-1处如果end-1超出索引范围则一直到序列尾部。如果startend,则不会生变化。
sbf.delete(start,end);sbf:任意StringBuffer对象start:启始索引end:结束索引不包含其他方法