帮忙做快站旅游网站,wordpress输入qq评论,表格如何做网站,江苏大丰做网站String类#xff1a;
String代表字符串类#xff0c;java中所有双引号中的内容都称为字符串#xff0c;如#xff1a;“hello”。字符串是不可改变的#xff0c;因此字符串是可以共享使用的#xff0c;相当于char字符数组#xff0c;但是底层原理是byte字节数组。
创建…String类
String代表字符串类java中所有双引号中的内容都称为字符串如“hello”。字符串是不可改变的因此字符串是可以共享使用的相当于char字符数组但是底层原理是byte字节数组。
创建字符串的四种方式:
// 1.创建字符串对象有四中方式如下
public class Stringobj{public static void main(String[] args){// 1-1:第一种括号中不传参直接创建new String(),括号留空表示创建的是空白字符。String str1 new String();System.out.println(str1);//// 1-2:第二种根据字符数组的内容创建new String(字符数组变量名),括号中写字符数组变量名不能直接写字符数组表达式否则解析错误如{a,b}。char[] char1 {o,k};String str2 new String(char1);System.out.println(str2);//ok,ok实际是有双引号的字符串// 1-3:第三种根据字节数组创建new String(byte数组变量名),计算机底层都是字节因此可以直接使用字节创建。byte[] byte1 {97,98,99};//a的字节数为97b的字节数为98c的字节数为99String str3 new String(byte1);System.out.println(str3);//abc// 1-4直接创建字符串的内容如:String str4 hello,my name is kuhai.;System.out.println(str4);//hello,my name is kuhai.}
}字符串的常量池 字符串中直接使用双引号包裹的字符串就在常量池中字符串常量池存在于堆当中常量池中的字符串可以共享。
// 1.常量池双引号直接包裹着的字符串是在常量池中的。
// 2.在基本数据类型中是对值的进行比较在引用型数据类型中时是对地址值的比较。
public class StringPool{public static void main(String[] args){String str1 123;String str2 123;char[] chararr {1,2,3}; String str3 new String(chararr);System.out.println(str1 str2);//true表明str1和str2的地址值相同System.out.println(str1 str3);//false表明str1和str3的地址值不相同System.out.println(str2 str3);//false表明str2和str2的地址值不相同}
}String类的常用方法
public class StringMethods{public static void main(String[] args){// 1.字符串内容比较// 1-1是对对象地址值进行比较的若要比较两个字符串内容区分大小写那么可以使用equals(Object)方法参数可以是任何对象此方法通过.调用只有调用者和传入的参数相同时才会返回布尔值true,如String str1 123;String str2 123;char[] arr {1,2,3};String str3 new String(arr);String str4 kuhai;Boolean str1and2 str1.equals(str2);Boolean str1and3 str1.equals(str3);Boolean str2and3 str2.equals(str3);Boolean str2and4 str2.equals(str4);System.out.println(str1and2);//trueSystem.out.println(str1and3);//trueSystem.out.println(str2and3);//trueSystem.out.println(str2and4);//false// 提示equals方法具有对称性即str1.equals(str2)和str2.equals(str1)效果是一样的当常量和变量进行比较时推荐常量调用equals方法将变量传入方法中。// 1-2equalsIgnoreCase(String),忽略英文字母大小写对内容进行比较内容相同返回布尔值true如String strabc abc;String strABC ABC;Boolean result1 strabc.equals(strABC);Boolean result2 strabc.equalsIgnoreCase(strABC);System.out.println(result1);//falseSystem.out.println(result2);//true //2.获取字符串字符的个数length(),如System.out.println(str1.length()); //3// 3.字符串拼接concat(String),将被调用该方法的字符串和传入的字符串拼接起来且原字符串都不变只是会生成新的字符串返回如String hw hello.concat( world);System.out.println(hw);//hello world// 4.获取字符串指定位置的字符charAt(int),需要注意索引从0开始也就是说字符串中第一个字符为索引为0如String sayhello hello,my name is kuhi!;char chars sayhello.charAt(4);System.out.println(chars);//o// 5.查找某字符在字符串中第一次出现的位置:indexOf(String)返回索引值没有则返回-1如String hel hello;int indexhel hel.indexOf(l);System.out.println(indexhel);//2// 6.截取字符串substring(int),当给一个索引时表示从某索引位置开始截取后面的所有字符串当传入两个参数时表示截取[int1,int2)区间的字符如String numstr 12345;String substr numstr.substring(1,3);System.out.println(substr);//23// 7.字符串转换为字符数据toCharArray(),将某字符串转换为字符数组并返回原来字符串不变如:String strtest1 abcd;char[] arrtochararr strtest1.toCharArray();System.out.println(arrtochararr[1]);//b,通过索引的方式拿到数组的元素// 8.字符串转换为字节数组getBytes(),将某字符串转换为字节数组并返回原来字符串不变如byte[] bt abc.getBytes();System.out.println(bt[0]);//97,通过索引拿到数组的元素// 9.字符串替换replace(oldstr,newstr),将某字符串中旧的字符替换为新的字符并返回原字符串不变如String says 你好;String replacestr says.replace(你,他);System.out.println(replacestr);//他好// 10.字符串分割split(String),将字符串按照某规则进行分割成几部分并以数组的形式返回原字符串不变如String names jack,李明,韩梅梅;String[] namearr names.split(,);//这里实际是正则表达式若要以英文句号切割那么就得传入\\. 因为英文句号在正则中有特殊含义。System.out.println(namearr[1]); //李明}
}提示本文图片等素材来源于网络若有侵权请发邮件至邮箱810665436qq.com联系笔者删除。 笔者苦海