Day11---学习Java第二弹
2021/7/21 22:07:42
本文主要是介绍Day11---学习Java第二弹,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
2021-07-21
数组与字符串
Java中字符串可以分为两大类:
1)String类
2)StringBuffer和StringBuilder类
两者区别:String类,创建之后便不会做修改和变动
StringBuffer类和StringBuilder类,创建后允许做更改和变化,
其中StringBuilder是JDK1.5增加的,它是非线程安全。
String类是immutable,不可修改的,所以当我们用+,=这些运算的时候会重新生成一个新的String类的实例,在循环中使
用String类的+=运算会带来一定的效率问题。
String类声明与创建
字符串声明:String stringName;
字符串创建:StringName = new String(字符串常量);或stringName = 字符串常量;
例如:
String name; name = "Jack"; //String name = new String("Jack");
String类构造方法
1,public String(),无参构造方法,用来创建空字符串的String对象。
例如:String string1 = new String(); 则有string1==null
2,public String(String value),用已知的字符串value创建一个String对象。
例如:String str2 = new String("Helllo,world!");则str2 = "Hello,world!" String str3 = new String(str2);则str3 = "Hello,world!"
3,public String(char[] value),用字符数组value创建一个String对象。
例如:char[] value = {"a","b","c","d"}; String str4 = new String(value);//相当于String str4 = new String("abcd");
4,public String(char chars[], int startIndex, int numChars),用字符数组chars的startIndex开始的numChars个字符创建一个String对象。
例如:char[] value = {"a","b","c","d"}; String str5 = new String(value, 1, 2);//相当于String str5 = new String("bc");
String类在java.lang包中,java使用String类创建一个字符串变量,字符串变量属于对象。java把String类声明的final类。String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。String类中有很多方法,可以查看API(Day5---学习Java第二弹)(偏后) 理解。
1、求字符串长度
public int length() //返回该字符串的长度
2、求字符串某一位置字符
public char charAt(int index)//返回字符串中指定位置的字符;注意字符串中第一个字符索引是0,最后一个是length()-1。
3、提取子串
用String类的substring方法可以提取字符串中的子串,该方法有两种常用参数:
1)public String substring(int beginIndex) //该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回。
2)public String substring(int beginIndex, int endIndex) //该方法从beginIndex位置起,从当前字符串中取出到endIndex-1位置的字符作为一个新的字符串返回。
String str1 = new String("abcdefg"); String str2 = str1.substring(2);//str2 = "cdefg"; String str3 = str1.substring(2,5);//str3 = "cde";
4、字符串比较
1)public int compareTo(String anotherString)//该方法是对字符串内容按字典顺序进行大小比较,通过返回的整数值指明当前字符串与参数字符串的大小关系。若当前对象比参数大则返回正整数,反之返回负整数,相等返回0。
2)public int compareToIgnore(String anotherString)//与compareTo方法相似,但忽略大小写。
3)public boolean equals(Object anotherObject)//比较当前字符串和参数字符串,在两个字符串相等的时候返回true,否则返回false。
4)public boolean equalsIgnoreCase(String anotherString)//与equals方法相似,但忽略大小写。
String name = "Zhang rong"; name.compareTo("Hello,World!"); //name.compareTo("Hello,World!")返回正整数 4 name.compareTo("Yellow"); //name.compareTo("Yellow")返回负整数 -13 name.compareTo("Zhang rong"); //返回0 name.equal("Zhang"); //返回false String name = "Zhang rong"; System.out.println(name.equalsIgnoreCase("Zhang rong")); //输出true
5、字符串连接
public String concat(String str)//将参数中的字符串str连接到当前字符串的后面,效果等价于"+"。
String name1 = "Tom"; String name2 = "son"; System.out.println(name1 + name2); //输出Tomson
6、字符串中单个字符查找
1)public int indexOf(int ch/String str)//用于查找当前字符串中字符或子串,返回字符或子串在当前字符串中从左边起首次出现的位置,若没有出现则返回-1。
2)public int indexOf(int ch/String str, int fromIndex)//改方法与第一种类似,区别在于该方法从fromIndex位置向后查找。
3)public int lastIndexOf(int ch/String str)//该方法与第一种类似,区别在于该方法从字符串的末尾位置向前查找。
4)public int lastIndexOf(int ch/String str, int fromIndex)//该方法与第二种方法类似,区别于该方法从fromIndex位置向前查找。
7、字符串中字符的大小写转换
1)public String toLowerCase()//返回将当前字符串中所有字符转换成小写后的新串
2)public String toUpperCase()//返回将当前字符串中所有字符转换成大写后的新串
String name ="Jack Ma"; System.out.println(name.toLowerCase()); System.out.println(name.toUpperCase()); 输出: jack ma JACK MA
8、字符串中字符的替换
1)public String replace(char oldChar, char newChar)//用字符newChar替换当前字符串中所有的oldChar字符,并返回一个新的字符串。
2)public String replaceFirst(String regex, String replacement)//该方法用字符replacement的内容替换当前字符串中遇到的第一个和字符串regex相匹配的子串,应将新的字符串返回。
3)public String replaceAll(String regex, String replacement)//该方法用字符replacement的内容替换当前字符串中遇到的所有和字符串regex相匹配的子串,应将新的字符串返回。
String str = "asdzxcasd"; String str1 = str.replace('a','g');//str1 = "gsdzxcgsd"; String str2 = str.replace("asd","fgh");//str2 = "fghzxcfgh"; String str3 = str.replaceFirst("asd","fgh");//str3 = "fghzxcasd"; String str4 = str.replaceAll("asd","fgh");//str4 = "fghzxcfgh";
这篇关于Day11---学习Java第二弹的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南
- 2024-11-16MyBatisX资料:新手入门与初级教程
- 2024-11-16RESTful接口资料详解:新手入门指南