发表于: 2018-04-04 22:14:29
2 605
今日完成:
11.字符串
字符串即String类,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双引号括起来进行声明。在Java中用String类的构造方法来创建字符串变量。
1.String()
一个String对象,克表示一个空字符序列。
例:String s = new String();
2.String(char a[]);
char a = {‘g’,’o’,,’o’,’d’};
String s = new String(a);
等价于
String s = new String(“good”);
3.String(char a[], int offset,in length);
提取字符组a中的一部分创建一个字符串对象。Offset表示开始截取字符串的位置,length表示截取字符段的长度。
char a = {‘g’,’o’,,’o’,’d’};
String s = new String(a,2,2);
等价于
String s = new String(“od”);
10.2字符串操作
1.字符串连接
(1)多个字符串连接
连接符“+”
例:String s1 = new String(“hello”);
Strings2 = new String(“world”);
Strings = s1 + “ ” +s2;
运行结果”hello world”
(2)连接其他数据类型
字符串和其他字符相连时,同样使用“+”连接符,连接之后的返回值是字符串。
例:int booktime = 5;
System.out.println(“我每天花费 ” + “小时学习java”);
结果:我每天花费5小时学习java
2.获取字符串信息
(1)获取字符串长度
length()方法可获取字符串对象的长度。
语法:
str.length();
例:String s = “We are students”;
System.out.println(“字符串的长度是:” +s.length());
结果:字符串的长度是:15
(2)获取指定字符的索引位置
①indexOf()方法
从字符串的起始位置依次搜索,返回要搜索的字符首次出现位置的索引,如果没有检索到要检索的字符串,返回-1。
语法:
str.indexOf(substr)
例:String s = “We are students”;
System.out.println(“字符s在字符串s中的位置是:” +s.indexOf(“s”));
结果:字符s在字符串s中的位置是:7
②lastindexOf(substr)方法
从字符串的起始位置依次搜索,返回要搜索的字符最后出现位置的索引,如果没有检索到要检索的字符串,返回-1。
语法:
str.lastindexOf(substr)
例:String s = “We are students”;
System.out.println(“字符s在字符串s中的位置是:” +s.lastindexOf(“s”));
结果:字符s在字符串s中的位置是:14
③获取指定索引位置的字符
charAt()方法可以以获取指定索引处的字符,返回字符的索引。
语法:
str.charAt(int index)
例:String s = “We are students”;
char mychar1 = s.charAt(5);
System.out.println(“字符串s中索引位置是5的字符是:” + mychar1);
结果:字符串s中索引位置是5的字符是:e
3.去除字符串中的空格
(1)去除字符串的前导、尾部空格
语法:
str.trim()
(2)去除字符串中的所有空格
①StringTokenizer()方法
该方法利用分割和追加去除空格的目的。
语法:
StringTokenizer(String str,String delim)
②replaceAll()方法
该方法是将空格” “用””替换,以达到去除字符串中空格的目的。
str.replaceAll(String regex,String replacement)
4.字符串替换
(1)replace()方法
该方法用于替换所有与指定与指定字符串相匹配的字符串。
str.replace(String regex,String replacement)
例:String s = “124456”;
String news = s.replace(“4”,”3”);
System.out.println(“替换后的字符串是:”,+”news”;
结果:替换后的字符串是:123356
(3)replaceFirst()方法
该方法用于替换第一个出现的指定字符串,后面的字符串则不会被替换。
例:String s = “124456”;
String news = s.replaceFirst(“4”,”3”);
System.out.println(“替换后的字符串是:”,+”news”;
结果:替换后的字符串是:123456
5.判断字符串
(1)判断字符串是否相等
①equals()方法
equals()方法对字符串进行比较时是严格区分大小写的,在此条件下,如果两个字符串仍具有相同的字符和长度,则返回true,否则返回false。
语法:
str.equals(String otherstr)
②equalsIgnoreCase()方法
equals()方法是在忽略大小写的情况下比较两个字符串是否相等,在此条件下,如果两个字符串仍具有相同的字符和长度,则返回true,否则返回false。
(2)判断字符串的开始与结尾
①str.startsWith()方法
该方法用于判断当前字符串对象是否以参数指定的字符串开始。
语法:
str.startsWith(String prefix)
②str.endsWith()方法
该方法用于判断当前字符串对象是否以参数指定的字符串结尾。
语法:
str.endsWith(String suffix)
6.字母大小写转换
(1)toLowerCase()方法
将字符串中的大写字母转换为小写字母,如果原来就是小写字母,则不改变。
(2)toUpper Case()方法
将字符串中的小写字母转换为大写字母,如果原来就是大写字母,则不改变。
7. 字符串分割
(1)split(String sign)方法
该方法根据指定的分隔符对字符串进行完全分割。
(2)split(String sign,int limit)方法
该方法根据指定的分隔符对字符串进行拆分,并限定拆分的份数。
明日计划:明日有事出门,日报尽量提交,可能内容会比较少,坐火车时可以看书,记一下基础知识。
遇到的问题:将java基础语法学完后,任务十七怎么进行?到底先学什么,很迷惑。
收获:String类有许多方法,日常生活中很有用,而且分配内存空间要继续好好理解。
s1 = "123";
s2 = "123";
s3 = s1;
boolean b1 = (s1 == s2);
boolean b2 = (s1 == s3);
boolean b3 = (s1.equals(s2));
结果:false true true
比较运算符"=="比较的是内存位置,虽然s1和s2具有相同的字符串和长度,但是占用了两个空间,s3指向了s1,s3和s1共用一个内存。
评论