JAVA-字符串String常用方法
String类 常用方法 1、字符串与字符数组之间的转换: 字符串转为字符数组:public char[] toCharArray() 字符数组转为字符串:public String(char[] value) PublicString(char[] value,int offset,int count) 例: public class StringAPIDemo01{ public static void main(String args[]){ String str1 = "hello" ; // 定义字符串 char c[] = str1.toCharArray() ; // 将一个字符串变为字符数组 for(int i=0;i{System.out.print(c[i] + "、") ; } System.out.println("") ; // 换行 String str2 = new String(c) ; // 将全部的字符数组变为String String str3 = new String(c,0,3) ; // 将部分字符数组变为String System.out.println(str2) ; // 输出字符串 System.out.println(str3) ; // 输出字符串 } };
2、字符串与字节数组之间的转换: 字符串转字节数组:public byte[] getBytes() 字符数组转字符串:public String(byte[] bytes) public String(byte[] bytes,int offset,int length) 例: public class StringAPIDemo02{ public static void main(String args[]){ String str1 = "hello" ; // 定义字符串 byte b[] = str1.getBytes() ; // 将字符串变为byte数组 System.out.println(new String(b)) ; // 将全部的byte数组变为字符串 System.out.println(new String(b,1,3)) ; // 将部分的byte数组变为字符串 } }; 3、字符串与整型数组间的转换: public class StringAPIDemo03 {public static void main(String[] args) {//字符串转为整型数组: String s1="123456789"; int n1[]=new int[s1.length()]; for(int i=0;in1[i]=Integer. parseInt(String.valueOf(s1.charAt(i)));
//整型数组转为字符串: int n2[]={1,2,3}; String s2=""; for(int i=0;is2+=Integer.toString(n2[i]); System.out.println(s2); } }
4、获取给定的Index处的字符: char charAt(int index)
例: public class StringAPIDemo04{ public static void main(String args[]){ String str1 = "java" ; // 定义String对象 System.out.println(str1.charAt(3)) ; // 取出字符串中第四个字符’a’ } }; 5、按字典顺序比较两个字符串。 int compareTo(String anotherString) //区分大小写 int compareToIgnoreCase(String str) //不区分大小写
例: public class StringAPIDemo05 {public static void main(String[] args) {String s1="abc"; String s2="aBc"; //A的Unicode码为65,a的Unicode码为97,所以Aif(s1.compareTo(s2)>0) System.out.println("s1>s2"); if(s1.compareTo(s2)==0) System.out.println("s1==s2"); if(s1.compareTo(s2)<0) System.out.println("s1} }
6、将此字符串与指定的对象比较: boolean equals(Object anObject) 考虑大小写 boolean equalsIgnoreCase(String anotherString) 不考虑大小写
例: public class StringAPIDemo06 {public static void main(String[] args) { String s1 = "abcd"; String s2 = "Abcd"; System.out.println("s1是否等于s2:"+s1.equals(s2)); //false System.out.println("s1是否等于s2:"+s1.equalsIgnoreCase(s2)); //true } } 7、将指定字符串连接到此字符串的结尾: String concat(String str)
例: public class StringAPIDemo07 {public static void main(String[] args) {String s1="abc"; String s2="def"; System.out.println(s1.concat(s2)); //输出:abcdef } }
8、copyValueOf返回指定数组中表示该字符序列的String: String copyValueOf(char[] data) data - 字符数组; 返回:一个 String,它包含字符数组的字符。
String copyValueOf(char[] data, int offset, int count) data - 字符数组。offset - 子数组的初始偏移量。count - 子数组的长度;返回:一个 String,它包含字符数组的指定子数组的字符。
例: public class StringAPIDemo08 {public static void main(String[] args) { char[] c=new char[]{'a','b','c','d'}; System.out.println(String.copyValueOf(c)); /*返回有c中所有元素构成的字符串,相当于String s=new String(c); 结果就是产生一个 "abcd "字符串*/
System.out.println(String.copyValueOf(c,2,2)); /*返回由c中从下标2的元素(就是 'c ')开始,长度为2的元素构成的字符串, 结果就是产生一个 "cd "字符串。*/ } } 9、startsWith与endsWith: boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始 boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结束 例: public class StringAPIDemo09 {public static void main(String[] args) { String str1 = "**HELLO" ; // 定义字符串 String str2 = "HELLO**" ; // 定义字符串 if(str1.startsWith("**")) // 判断是否以“**”开头 {System.out.println(str1+"以**开头") ;} if(str2.endsWith("**")) // 判断是否以“**”结尾 {System.out.println(str2+"以**结尾") ;} } }
10、大小写字母间的转换: String toLowerCase() 将 String 中的所有字符都转换为小写 String toUpperCase() 将 String 中的所有字符都转换为大写 例: public class StringAPIDemo10 {public static void main(String[] args) { String s1 = "Hello"; System.out.println(s1.toLowerCase());//hello System.out.println(s1.toUpperCase());//HELLO } }
【java】String类和StringBuffer类常用操作
【java】String类和StringBuffer类常⽤操作String类是字符串常量,是不可更改的常量。
⽽StringBuffer是字符串变量,它的对象是可以扩充和修改的。
StringBuffer在进⾏字符串处理时,不⽣成新的对象,在内存使⽤上要优于String类。
所以在实际使⽤时,如果经常需要对⼀个字符串进⾏修改,例如插⼊、删除等操作,使⽤StringBuffer要更加适合⼀些。
String类主要⽅法的使⽤⼀、创建并初始化字符串:String s = "hello!"; //使⽤字符串常量直接初始化String(); //使⽤构造⽅法创建并初始化,初始化⼀个对象,表⽰空字符序列String(value); //利⽤已存在的字符串常量创建⼀个新的对象String (char[] value); //利⽤⼀个字符数组创建⼀个字符串String(char[] value,int offset,int count);//截取字符数组offset到count的字符创建⼀个⾮空串String(StringBuffer buffer); //利⽤StringBuffer对象初始化String对象⼆、String类主要⽅法的使⽤:1、获取长度*.length(); //这与数组中的获取长度不同,*.length;2、⽐较字符串(1)equals() //判断内容是否相同(2)compareTo() //判断字符串的⼤⼩关系(3)compareToIgnoreCase(String int) //在⽐较时忽略字母⼤⼩写(4)== //判断内容与地址是否相同(5)equalsIgnoreCase() //忽略⼤⼩写的情况下判断内容是否相同//如果想对字符串中的部分内容是否相同进⾏⽐较,可以⽤(6)reagionMatches() //有两种 public boolean regionMatches(int toffset, String other,int ooffset,int len);表⽰如果String对象的⼀个⼦字符串与参数other的⼀个⼦字符串是相同的字符序列,则为true.要⽐较的String 对象的字符串从索引toffset开始,oth public boolean reagionMatches(boolean ignoreCase,int toffset,String other,int ooffset,int len);//⽤布尔类型的参数指明两个字符串的⽐较是否对⼤⼩写敏感。
java获取字符串中某个字符数量的方法
java获取字符串中某个字符数量的方法Java中获取字符串中某个字符数量的方法有很多种,下面列举了几种常用的方法:1. 使用String的`length(`方法和`charAt(`方法:遍历字符串的每个字符,判断是否等于指定字符,并统计数量。
```javaString str = "Hello World";char target = 'o';int count = 0;for (int i = 0; i < str.length(; i++)if (str.charAt(i) == target)count++;}System.out.println(count); // 输出2```2. 使用String的`replace(`方法和正则表达式:将指定字符替换为空,然后计算替换前后字符串长度的差值。
```javaString str = "Hello World";char target = 'o';int count = (str.length( -str.replace(String.valueOf(target), "").length();System.out.println(count); // 输出2```3. 使用Java8的Stream API:将字符串转为字符流,并使用filter(方法过滤出指定字符,然后使用count(方法统计数量。
```javaString str = "Hello World";char target = 'o';long count = str.chars(.filter(ch -> ch == target).count(;System.out.println(count); // 输出2```4. 使用Java8的Stream API和正则表达式:将字符串转为字符流,使用正则表达式匹配指定字符,然后使用count(方法统计数量。
substring用法java
substring用法javaSubstring是Java中字符串(String)处理中常用的方法之一。
它可以从一个字符串中提取出指定位置的子字符串,方便进行字符串的处理和操作。
首先,让我们来了解一下Substring方法的语法和参数。
在Java中,Substring方法的语法为:javaString substring(int beginIndex, int endIndex)其中,beginIndex表示要提取的子字符串的起始位置(包含该位置的字符),endIndex表示要提取的子字符串的结束位置(不包含该位置的字符)。
需要注意的是,这两个参数的范围是从0到字符串长度-1。
以下是一个简单的例子:javaString str = "Hello, World!";String subStr = str.substring(7, 12);System.out.println(subStr);在上面的代码中,我们创建了一个名为str的字符串,并使用substring 方法提取了子字符串"World"。
然后,我们将提取的子字符串赋值给一个名为subStr的新字符串,并将其输出到控制台。
执行结果为"World"。
接下来,让我们来详细讨论Substring方法的使用。
1. 提取单个字符Substring方法不仅可以用来提取多个字符组成的子字符串,还可以提取单个字符。
在这种情况下,beginIndex和endIndex的值相同。
以下是一个例子:javaString str = "Hello, World!";char ch = str.substring(4, 5).charAt(0);System.out.println(ch);在上面的代码中,我们通过将结果转换为字符型来提取了字符串的第5个字符(即'o')。
java string replace用法
java string replace用法Java中的String类提供了replace()方法,用于替换字符串中的指定字符或字符串。
该方法有两种重载形式:1. public String replace(char oldChar, char newChar)该方法将字符串中所有的oldChar字符替换为newChar字符,并返回替换后的新字符串。
例如:```String str = "hello world";String newStr = str.replace('o', 'a');System.out.println(newStr); // 输出:hella warld```2. public String replace(CharSequence target, CharSequence replacement)该方法将字符串中所有的target子串替换为replacement子串,并返回替换后的新字符串。
例如:```String str = "hello world";String newStr = str.replace("world", "java");System.out.println(newStr); // 输出:hello java```需要注意的是,replace()方法返回的是一个新的字符串对象,原字符串对象并没有被修改。
如果需要修改原字符串对象,可以使用StringBuilder或StringBuffer类。
另外,replace()方法还有一个重载形式:3. public String replaceAll(String regex, String replacement)该方法将字符串中所有匹配正则表达式regex的子串替换为replacement子串,并返回替换后的新字符串。
String常见的十种方法!
String常见的⼗种⽅法!public class ZiFuChuan {public static void main(String[] args) {ZiFuChuanFangFa f=new ZiFuChuanFangFa();f.IndexOf(); //1.字符串查找注意空格在数组中的位置!字符串查找 indexOf(); 找不到就返回 -1 有就返回此元素在该数组中的⾓标位置f.chartAt(); //2.获取指定位置的字符f.substring01(); //3.获取⼦字符串!f.substring02(); //在字符串中截取⼀部分有头⽆尾!f.startWith(); //4.判断字符串的开头和结尾!f.endsWith();f.getBytes(); //5.将字符串转化为字节数组!、getBytes();f.toCharArray();//6.将字符串转字符数组!f.length(); //7 返回字符串的长度f.contains(); //8.判断⼀个字符串中是否有另⼀个字符串?f.replace(); //9..字符串替换可以实现将指定的字符串和字符换成新的玩意!oldChar: 要替换的字符或字符串 newChar: ⽤于替换原来的字符串内容!f.equals(); //10.判断两个字符串对象是否相等!}}class ZiFuChuanFangFa{private static final char oldChar = 0;public void IndexOf(){String str="Ni Hao ";int a=str.indexOf("p");int a1=str.indexOf("i");System.out.println("indexOf(‘p'):查找字符串数组中是否有 p 元素没有就返回 "+a);System.out.println("indexOf(‘o'):查找字符串数组中是否有 o 元素有就返回此元素在该数组中的⾓标位置 "+a1);}public void equals() { //10.在Java中判断两个对象是否相等不能“==”表⽰会报错需要调⽤equal()⽅法!--->⽐较的字符串的内容是否相等String str= new String("123"); // 演⽰对错!String str01= new String("123");boolean a=str.equals(str01);System.out.println(str ==str01);System.out.println(a);}//2.获取指定索引位置的字符在计算机会直接将字符转化成字节 a--->97public void chartAt(){System.out.println();String str="zhaou xu feng";int a=str.charAt(2);System.out.println("chartAt(2):获取字符串中⾓标为2的元素! "+a);}//3.获取⼦字符串开头到所有!public void substring01(){System.out.println();String str="zhou xu feng";String a=str.substring(8);System.out.println("sunstring(2): 获取字符串中⾓标为2的元素,并取2以后的所有元素⽣成⼀个新的字符串(⼦字符串!包含的关系) "+a);}//3.1 获取字符串区间性有头⽆尾! int beginIndex,int endImdexpublic void substring02(/*int beginIndex,int endImdex*/){System.out.println();String str="zhou xu feng";String a=str.substring(1, 4); //可以在字符串中截取⼀部分System.out.println("substring(1,4: 在字符串中截取⼀部分有头⽆尾!) "+a);}//4.字符串替换可以实现将指定的字符串和字符换成新的玩意!oldChar: 要替换的字符或字符串 newChar: ⽤于替换原来的字符串内容!public void replace(){System.out.println();String str="zhou xu feng"; //oldChar: 要替换的字符或字符串String a=str.replace("feng", "hui"); //newChar: ⽤于替换原来的字符串内容!System.out.println("replace(qq,cc):字符串替换后⾯的替换前⾯的 "+a);}//5.判断字符串的开始和结尾public void startWith(){System.out.println();String str="zhaou xu feng";boolean a=str.startsWith(str);System.out.println("startsWith(str):判断字符串的开始 "+a);}public void endsWith( ){System.out.println();String str="zhaou xu feng";boolean a=str.endsWith("g");System.out.println("endsWith( ):判断字符串的结束 "+a);}/*6.字母⼤⼩写转换* str.toLowerCase();* str.toUpperCase();*7.字符串分割str.split(String sign);*///8.将字符串转化为字节数组!、getBytes();public void getBytes(){System.out.println();String str="zhaou xu feng";byte[] arr=str.getBytes();System.out.println("getBytes():将字符串转为字节数组!");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]+" ");}}//9.将字符串转字符数组!public void toCharArray(){System.out.println();System.out.println();String str="zhaou xu feng";System.out.println("getCharArray():将字符串转为字符组!");char []arr=str.toCharArray();for (int i = 0; i < arr.length; i++){System.out.print(arr[i]);}}//10 返回字符串的长度public void length(){System.out.println();String str="zhaou xu feng";int a= str.length();System.out.println("length():返回字符串的长度!"+a);}//11.判断⼀个字符串中是否有另⼀个字符串?public void contains(){String str="zhaou xu feng";boolean a=str.contains("xu");System.out.println("contains(xu):判断⼀个字符串中是否有另⼀个字符串 "+a); }}。
java string compareto方法
Java String compareTo方法是用来比较两个字符串,如果两个字符串相等,则方法会返回0,如果第一个字符串比第二个字符串大,则返回一个正值,如果第一个字符串比第二个字符串小,则返回一个负值。
第一,介绍compareTo方法的原理和使用。
Java中的String类提供了compareTo方法,用于比较两个字符串的大小。
compareTo方法的调用形式为:pareTo(str2),其中str1是要比较的第一个字符串,str2是要比较的第二个字符串。
第二,compareTo方法的返回值。
compareTo方法返回一个int类型的值,如果str1>str2,则返回一个正数;如果str1<str2,则返回一个负数;如果str1=str2,则返回0。
第三,compareTo方法的比较规则。
compareTo方法比较两个字符串时,并不是以第一个字符开始比较,而是从第一个字符开始,一个字符一个字符的比较,直到发现不同的字符,然后根据不同的字符的Unicode码值来比较大小,如果Unicode码值相等,则接着比较下一个字符,直到有一个字符串结束。
第四,compareToIgnoreCase方法。
Java中还提供了一个compareToIgnoreCase方法,它与compareTo方法的作用相同,只是不区分大小写,即比较字符串时,不考虑大小写,只比较字符串的Unicode码值。
第五,compareTo方法的实例。
例如:String str1="abc";String str2="ABC";通过pareTo(str2)方法比较后,会得到一个正值,因为"a"的Unicode码值比"A"的Unicode码值大。
而如果使用pareToIgnoreCase(str2)方法,则会得到一个0,因为它不区分大小写,而只比较字符串的Unicode码值。
java 8 string的repeat方法
java 8 string的repeat方法Java 8中的String类引入了一个新的repeat()方法,这个方法被用来重复一个字符串指定的次数。
这个新方法提供了一种更加简单和直接的方式来创建重复的字符串,减少了编码和处理字符串的复杂性。
在Java 8之前,要重复一个字符串,开发人员通常需要使用循环或递归的方式来实现。
这通常需要编写相对复杂的代码,并且可能会导致性能下降。
比如,如果我们想要将一个字符串重复5次,使用传统的方式,可能会像这样:```String repeatString = "";for (int i = 0; i < 5; i++) {repeatString += "Hello ";}```然而,这种方式并不是最佳的选择。
因为字符串是不可变的,每次循环迭代都会创建一个新的字符串对象。
这会导致频繁的内存分配和回收,对性能产生不利影响。
在Java 8中,引入了repeat()方法,使得重复字符串变得更加简单和高效。
这个方法接收一个整数参数n,表示要重复的次数。
它会返回一个包含重复字符串的新String对象。
例如,我们可以使用repeat()方法来重复一个字符串:```String repeatString = "Hello ".repeat(5);```这样就可以将字符串"Hello "重复5次,并将结果赋值给repeatString变量。
这种方式比传统的方法更加简洁和高效。
在实际应用中,String的repeat()方法有很多用途。
下面我们来看一些具体的示例:1.构建重复的分隔符:repeat()方法可以用来构建重复的分隔符,比如在打印输出中用于分隔不同的数据项。
例如,我们可以使用repeat()方法创建一个包含10个横线的字符串作为分隔符:```String separator = "-".repeat(10);System.out.println(separator);```输出结果为:----------这样就可以获得一个包含10个连续横线的分隔符字符串。
java string reserve方法
java string reserve方法
Java中的String类具有很多有用的方法,其中之一是reserve 方法。
reserve方法可以让我们将字符串中的字符顺序反转,即将最后一个字符变为第一个字符,将倒数第二个字符变为第二个字符,以此类推。
这是非常有用的,因为在某些情况下,我们可能需要反转字符串的顺序。
reserve方法是在String类中定义的,它接受一个字符串对象作为参数,并返回一个新的字符串对象,该对象是原始字符串的反转版本。
例如,如果我们有一个字符串'Hello World',则调用reserve 方法后将返回一个新的字符串'dlroW olleH'。
要使用reserve方法,我们只需要在字符串对象上调用它,例如: String str = 'Hello World';
String reversedStr = new
StringBuilder(str).reverse().toString();
System.out.println(reversedStr);
在这个例子中,我们使用StringBuilder类来创建一个新的StringBuilder对象,然后使用reverse方法将字符串反转,并将结果转换为字符串对象。
最后,我们通过调用println方法将结果输出到控制台。
总的来说,reserve方法是一个非常有用的String类方法,能够快速地将字符串反转,以便我们更方便地操作和处理它们。
- 1 -。
java中的substring方法
java中的substring方法Java中的substring方法是一个非常常用的字符串操作方法,它可以截取一个字符串的一部分,返回截取后的子串。
下面是使用substring 方法的详细步骤:1.首先,需要创建一个字符串对象,可以使用String类提供的构造方法或者直接赋值方式创建:```javaString str = new String("Hello World");```2.然后,调用substring方法来截取子串。
该方法有两个重载形式:```javapublic String substring(int beginIndex)public String substring(int beginIndex, int endIndex)```第一个形式只有一个参数beginIndex,表示从原字符串的beginIndex位置开始截取到字符串结尾。
第二个形式有两个参数beginIndex和endIndex,表示从原字符串的beginIndex位置开始截取到endIndex-1位置。
例如:```javaString subStr1 = str.substring(6); // subStr1 = "World"String subStr2 = str.substring(0, 5); // subStr2 = "Hello"```3.最后,可以对截取后的子串进行其他操作或者输出。
完整代码如下:```javapublic class SubstringDemo {public static void main(String[] args) {String str = new String("Hello World");String subStr1 = str.substring(6);String subStr2 = str.substring(0, 5);System.out.println(subStr1);System.out.println(subStr2);}}```输出结果为:```WorldHello```以上就是Java中使用substring方法来截取子串的详细步骤。
javastring中indexOf()常用用法
javastring中indexOf()常⽤⽤法Java中字符串中⼦串的查找共有四种⽅法,如下:1、int indexOf(String str) :返回第⼀次出现的指定⼦字符串在此字符串中的索引。
2、int indexOf(String str, int startIndex):从指定的索引处开始,返回第⼀次出现的指定⼦字符串在此字符串中的索引。
3、int lastIndexOf(String str) :返回在此字符串中最右边出现的指定⼦字符串的索引。
4、int lastIndexOf(String str, int startIndex) :从指定的索引处开始向后搜索,返回在此字符串中最后⼀次出现的指定⼦字符串的索引。
public class Test {public static void main(String[] args) {String s = "xXccxxxXX";// 从头开始查找是否存在指定的字符 //结果如下System.out.println(s.indexOf("c")); //2// 从第四个字符位置开始往后继续查找,包含当前位置System.out.println(s.indexOf("c", 3)); //3//若指定字符串中没有该字符则系统返回-1System.out.println(s.indexOf("y")); //-1System.out.println(stIndexOf("x")); //6System.out.println(s.indexOf(120,2)); //4System.out.println(s.indexOf('x',2)); //4 120是x的ASCII编码}}补充⼀点如果对要查找的字符有特殊规则要求可以⽤正则表达式解决。
