黑马程序员------String类
来源:互联网 发布:java设计模式 编辑:程序博客网 时间:2024/06/05 02:10
1.String
1.1 string类
/*
*java.lang.String类:String 类代表字符串。Java 程序中的所有字符串字面值(如"abc" )都作为此类的实例实现。
*
* 1.此类被定义为final,不能被继承;
* 2.在Java中,"字符串"是用String类的对象表示的;
* 3.字符串是常量;它们的值在创建之后不能更改。
*4.String内部,就是使用"字符数组"处理;
*5.String对象实例化的方式比较特殊:
* 1).String s = "abc";//OK的
* 2).String s1 = newString("abc");//OK的
*6.String类的构造方法:
* public String():构造一个零长度字符串;会产生对象空间,不是空指针;
publicString(byte[] bytes):将一个byte[]数组(每个byte值作为一个ASCII码值,查找对应的字符)转换为一个String;
publicString(byte[] bytes,int offset,int length):将一个byte[]数组的一部分转换为String。
publicString(char[] value):将一个char[]数组转换为一个String;
publicString(char[] value,int offset,int count):将一个char[]数组的一部分转换为String
publicString(String original):用一个String构造一个String
7.成员方法:
public int length():获取内部字符的长度;
*/
public class Demo {public static void main(String[] args) {//1.public String():构造一个零长度字符串;会产生对象空间,不是空指针;String s1 = new String();//零长度字符串System.out.println("是否是空指针:" + (s1 == null));//falseSystem.out.println("内部字符的长度:" + (s1.length()));//0String s2 = "";//零长度字符串System.out.println("s1 == s2 : " + (s1 == s2));//falseSystem.out.println("s1.equals(s2) : " + s1.equals(s2));//true//2.public String(byte[] bytes):将一个byte[]数组,转换为一个String;byte[] byteArray = {97,98,99,100};String s3 = new String(byteArray);System.out.println("s3 = " + s3);//3.public String(byte[] bytes,int offset,int length)//取cdString s4 = new String(byteArray,2,2);System.out.println("s4 = " + s4);//取bcs4 = new String(byteArray,1,2);System.out.println("s4 = " + s4);//4.public String(char[] value)char[] charArray = {'a','b','你',':','好'};String s5 = new String(charArray);System.out.println("s5 = " + s5);//5.public String(char[] value,int offset,int count)//取abString s6 = new String(charArray,0,2);System.out.println("s6 = " + s6);//6.public String(String original)String s7 = new String("我爱Java");String s8 = new String(s7);System.out.println("s7 = " + s7);System.out.println("s8 = " + s8);}}
1.2 String类的特点
/* * String类的特点: * 字符串是常量;它们的值在创建之后不能更改。 * * String s1 = "你好" * s1 = "java";//改变的引用,原值"你好"的空间被丢弃,而且原空间的值没有被修改; */public class Demo {public static void main(String[] args) {int n = 10;n = 20;System.out.println("n = " + 20);String s1 = "你好";s1 = "java";System.out.println("s1 = " + s1);}}
1.3. String的例子==和equals
==和equals的区别
==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。
equals方法是用于比较两个独立对象的内容是否相同
public class Demo {public static void main(String[] args) {String s1 = "你好";//s1 = 0x2233String s2 = "你好";//s2 = 0x2233System.out.println("s1 == s2 : " + (s1 == s2));//trueSystem.out.println("s1.equals(s2) : " + (s1.equals(s2)));//trueString s3 = "你好";String s4 = new String("你好");System.out.println("s3 == s4 : " + (s3 == s4));//falseSystem.out.println("s3.equals(s4) : " + (s3.equals(s4)));//trueString s5 = new String ("你好");String s6 = new String("你好");System.out.println("s5 == s6 : " + (s5 == s6));//falseSystem.out.println("s5.equals(s6) : " + (s5.equals(s6)));//true//---------------------------------------------------------------------//String s7 = "你好";String s8 = "java";String s9 = "你好java";String s10 = s7 + s8;String s11 = s7 + "java";String s12 = "你好" + s8;String s13 = "你好" + "java";//s13 = "你好java";System.out.println("s9 == s10 : " + (s9 == s10));//falseSystem.out.println("s9 == s11 : " + (s9 == s11));//falseSystem.out.println("s9 == s12 : " + (s9 == s12));//falseSystem.out.println("s9 == s13 : " + (s9 == s13));//true}}
1.4 String的判断功能
/*
*String的判断功能:
*boolean equals(Object obj):将此字符串与指定的对象比较。当且仅当该参数不为 null,并且是与此对象表示相同字符序列的 String对象时,结果才为 true。
*boolean equalsIgnoreCase(String str):不区分大小写的判断
*boolean contains(String str):当且仅当此字符串包含指定的参数字符串时,返回 true。区分大小写
*boolean startsWith(String str):测试此字符串是否以指定的前缀开始。 区分大小写
*boolean endsWith(String str):测试此字符串是否以指定的后缀结束。区分大小写
*boolean isEmpty():判断是否0长度字符串;
*/
public class Demo {public static void main(String[] args) {String s1 = "java";String s2 = "java";String s3 = "Java";//1.boolean equals(Object obj):区分大小写System.out.println("s1.equals(s2) : " + (s1.equals(s2)));System.out.println("s1.equals(s3) : " + (s1.equals(s3)));//2.boolean equalsIgnoreCase(String str):不区分大小写的判断System.out.println("s1.equalsIgnoreCase(s2) : " + s1.equalsIgnoreCase(s2));System.out.println("s1.equalsIgnoreCase(s3) : " + s1.equalsIgnoreCase(s3));//3.boolean contains(String str):区分大小写String s4 = "你好java";System.out.println("s4中是否包含\"你好\":" + s4.contains("你好"));System.out.println("s4中是否包含\"a\":" + s4.contains("a"));System.out.println("s4中是否包含\"z\":" + s4.contains("z"));System.out.println("s4中是否包含\",\":" + s4.contains(","));System.out.println("s4中是否包含\"av\":" + s4.contains("av"));System.out.println("s4中是否包含\"AV\":" + s4.contains("AV"));//4. boolean startsWith(String str)String s5 = "你好java";System.out.println(s5 + "中是否以\"你\"开头:" + s5.startsWith("你"));System.out.println(s5 + "中是否以\"你好\"开头:" + s5.startsWith("你好"));System.out.println(s5 + "中是否以\"你好java\"开头:" + s5.startsWith("你好java"));System.out.println(s5 + "中是否以\"java\"开头:" + s5.startsWith("java"));System.out.println(s5 + "中是否以\"你好ja\"开头:" + s5.startsWith("你好ja"));System.out.println(s5 + "中是否以\"你好JA\"开头:" + s5.startsWith("你好JA"));//5.boolean endsWith(String str)System.out.println(s5 + "中是否以\"java\"结尾:" + s5.endsWith("java"));System.out.println(s5 + "中是否以\"Java\"结尾:" + s5.endsWith("Java"));//6.boolean isEmpty()String s6 = "";//0x2233String s7 = new String("");//0x5566String s8 = null;//nullSystem.out.println("s6.isEmpty() : " + s6.isEmpty());//trueSystem.out.println("s7.isEmpty() : " + s7.isEmpty());//trueSystem.out.println("s8.isEmpty() : " + s8.isEmpty());//运行时异常:NullPointerException}}
1.5 String类的获取功能
/*
*String类的获取功能:
* int length():区分数组的length属性
charcharAt(int index):获取index位置上的字符
intindexOf(int ch):在此字符串中查找一个ch所代表的字符,如果存在则返回此字符的索引位置,否则返回-1;
intindexOf(String str):在此字符串中查找str,如果存在则返回此字符的索引位置,否则返回-1;
intindexOf(int ch,int fromIndex):在此字符串中查找一个ch所代表的字符,从fromIndex开始找;
intindexOf(String str,int fromIndex):在此字符串中查找str,从fromIndex开始找;
Stringsubstring(int start):截取子字符串,从start开始,截取到末尾(返回新字符串,原字符串不变)
Stringsubstring(int start,int end):截取子字符串,从start开始,到end - 1处;
publicint lastIndexOf(String str):从右侧开始查找字符串str,如果找到返回这个str在字符串中出现的位置(从左到右)
*/
public class Demo {public static void main(String[] args) {String s1 = "你好java";System.out.println("s1.length() : " + s1.length());int[] intArray = {24,32,43,25234};System.out.println("intArray.length = " + intArray.length);//2.char charAt(int index)//获取jchar c = s1.charAt(2);System.out.println("c = " + c);//遍历字符串for(int i = 0;i <s1.length() ; i++){char cr = s1.charAt(i);System.out.print(cr);}System.out.println();//3.int indexOf(int ch)System.out.println("indexOf = " + s1.indexOf(98));//4.int indexOf(String str)String s2 = "你好java";System.out.println("查找java : " + s2.indexOf("java"));//5.int indexOf(int ch,int fromIndex)System.out.println("查找v : " + s2.indexOf(118,2));//6.int indexOf(String str,int fromIndex)System.out.println("查找va : " + s2.indexOf("va",2));//7.String substring(int start)//截取javaSystem.out.println("截取java:" + s2.substring(2));System.out.println("s2 = " + s2);//8.String substring(int start,int end)//截取:jaSystem.out.println("截取ja : " + s2.substring(2,4));//截取:javaSystem.out.println("截取java : " + s2.substring(2,6));//9.public int lastIndexOf(String str)String s3 = "我爱java";System.out.println("s3.lastIndexOf(\"a\") : " + s3.lastIndexOf("a"));}}
1.6 String的例子--遍历字符串和统计字母的数量
遍历字符串
public class Demo {public static void main(String[] args) {String str = "我爱java,我真的爱java,谢谢!";for(int i = 0;i < str.length() ; i++){char c = str.charAt(i);System.out.println(c);}}}
统计字母的数量
public class Demo {public static void main(String[] args) {String str = "fjiERf432Gfdfds2435FDSsdD3";int num1 = 0;//大写 7int num2 = 0;//小写 11int num3 = 0;//数字 8for(int i = 0; i < str.length() ; i++){char c = str.charAt(i);if(c >= 'A' && c <= 'Z'){num1++;}if(c >= 'a' && c <= 'z'){num2++;}if(c >= '0' && c <= '9'){num3++;}}System.out.println("大写字母的数量:" + num1);System.out.println("小写字母的数量:" + num2);System.out.println("数字字符的数量:" + num3);}}
1.7 String类的转换功能
/*
*String类的转换功能:
* 注意:下面的所有方法,都不会对原字符串产生变化
* byte[] getBytes():将一个String转换为一个byte[]数组
char[]toCharArray():将本字符串转换为char[]数组;
staticString valueOf(char[] chs):静态方法。将字符数组转换为String
staticString valueOf(int i):静态方法。将一个int值转换为一个String;
StringtoLowerCase():全部转换为小写
StringtoUpperCase():全部转换为大写
Stringconcat(String str):将参数字符串追加到当前字符串的末尾。相当于+符号的字符串相连;
*/
public class Demo { publicstatic void main(String[] args) { Strings1 = "abc"; s1= "你好"; byte[]byteArray = s1.getBytes();//使用GBK for(inti = 0;i < byteArray.length ; i++){ System.out.println(byteArray[i]); } System.out.println("------------------------------"); s1= "你好java"; char[]charArray = s1.toCharArray(); for(inti = 0 ;i < charArray.length ; i++){ System.out.println(charArray[i]); } charArray= new char[]{'a','b','你','好'}; Strings2 = String.valueOf(charArray); System.out.println("s2= " + s2); intn = 200; Strings3 = String.valueOf(n); Strings4 = "" + n; System.out.println("s3= " + s3); System.out.println("s4= " + s4); Strings5 = "Hello"; // s5 = "你好"; System.out.println("全部转换为大写:" + s5.toUpperCase()); System.out.println("全部转换为小写:" + s5.toLowerCase()); System.out.println("原字符串s5 = " + s5); Strings6 = "Hello"; Strings7 = "World"; System.out.println(s6.concat(s7)); }}
/* * 把一个字符串的首字母转成大写,其余为小写。(只考虑英文大小写字母字符) */public class Demo {public static void main(String[] args) {String str = "hEllOwoRLD";//转换为:Helloworld//1.先全部转换为小写/*str = str.toLowerCase();//2.将第一个字母取出String s1 = str.substring(0,1);String s2 = str.substring(1);//3.将s1转换为大写s1 = s1.toUpperCase();//4.将s1 和 s2链接str = s1.concat(s2);System.out.println("str = " + str);*///写成一句话:str = str.substring(0,1).toUpperCase().concat(str.substring(1).toLowerCase());System.out.println("str = " + str);}}
1.8 String类的其它功能
/*
*String类的其它功能:
* 替换功能
Stringreplace(char old,char new):将字符串中的所有old字符,替换为new字符
String replace(String old,String new):将字符串中的所有的old字符串,替换为new字符串;
去除字符串两空格
Stringtrim():
按字典顺序比较两个字符串
intcompareTo(String str):区分大小写
intcompareToIgnoreCase(String str):不区分大小写
*/
public class Demo {public static void main(String[] args) {String str = "HelloWorld";//将字符串中所有o字符,替换为*字符String s1 = str.replace('o', '*');System.out.println("s1 = " + s1);System.out.println("str = " + str);//将所有的ll,替换为LLs1 = str.replace("ll", "L");System.out.println("s1 = " + s1);//trim():去除字符串两端的空格str = " 你好 ";s1 = str.trim();System.out.println("去除两端空格后:" + s1);//compareTo():按字典顺序比较两个字符串String t1 = "a";String t2 = "b";String t3 = "c";System.out.println("a.compareTo(b) : " + t1.compareTo(t2));//-1System.out.println("a.compareTo(c) : " + t1.compareTo(t3));//-2System.out.println("c.compareTo(a) : " + t3.compareTo(t1));//2String t4 = "abc";String t5 = "aac";String t6 = "aa";String t7 = "abc";String t8 = "abcd";String t9 = "abcdef";String t10 = "ac";String t11 = "ab";System.out.println("abc.compareTo(aac) : " + t4.compareTo(t5));//1System.out.println("abc.compareTo(aa) : " + t4.compareTo(t6));//1System.out.println("abc.compareTo(abc) : " + t4.compareTo(t7));//0System.out.println("abc.compareTo(abcd) : " + t4.compareTo(t8));//-1System.out.println("abc.compareTo(abcdef) : " + t4.compareTo(t9));//-3(abc的长度 - abcdef的长度)System.out.println("abc.compareTo(ac) : " + t4.compareTo(t10));//-1System.out.println("abc.compareTo(ab) : " + t4.compareTo(t11));//1(abc的长度-ab长度)String t12 = "a";String t13 = "A";System.out.println("a.compareToIgnoreCase(A) : " + t12.compareToIgnoreCase(t13));//0}}
1.9 例子--字符串反转
import java.util.Scanner;/* * 字符串反转 * 举例:键盘录入"abc"输出结果:"cba" * abcddcba * * 方式一:将字符串倒序遍历,封装为一个新字符串,然后输出 * 方式二:转换为char数组,将数组的元素,第一和最后一个对调,将第二个和倒数第二个对调.... */public class Demo {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入一句话:");String str = sc.next();//将str反转String result = "";for(int i = str.length() - 1 ; i >= 0 ; i--){result = result + str.charAt(i);//""+'c' //"c" + 'b' //"cb" + 'a' //"cba"}System.out.println("result = " + result);//方式二:转换为数组,对调元素char[] charArray = str.toCharArray();for(int i = 0;i < charArray.length / 2 ; i++){char c = charArray[i];//首charArray[i] = charArray[charArray.length - 1 - i];charArray[charArray.length - 1 - i] = c;}//将数组转换为StringSystem.out.println("转换数组:" + new String(charArray));}}
/* * 统计大串中小串出现的次数 * 举例:在字符串”woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun”中java出现了5次 */public class Demo {public static void main(String[] args) {String str = "woaijavawozhenaijavawozhendeaijavawozhendehenaijavaxinbuxinwoaijavagun";int count = 0;//计数器int index = str.indexOf("java");while(index != -1){count++;index = str.indexOf("java",index + 1);}System.out.println("出现的次数:" + count);}}
2.StringBuffer和StringBuilder
2.1StringBuffer描述
/*
*java.lang.StringBuffer类:
* 1.之前我们学习使用了String类,String类的一个重要特点:其值是不可变的:
* 我们经常做一些字符串的拼接操作:例如:
* String str = "Hello";
* str = str + "World";
* System.out.println("str =" + str);//str = HelloWorld
* ----------------------------------------------------------------
* int[] array ={1,32,432,432,545};
* String str = "[";
* for(int i = 0;i <array.length ; i++){
* if(i + 1 ==array.length){
* str += array[i]+ "]";
* }else{
* str +=array[i] + ", ";
* }
* }
* System.out.println(str);
*2.StringBuffer类:字符串缓冲区类。
* 1).一个类似于 String 的字符串缓冲区;
* 2).虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容(它的内部是可变的)。
*3.StringBuffer和String的区别:
* 1).StringBuffer内部的值是可变的;
* String的内部的值是不可变的;
* 4.注意:StringBuffer和String不同,不能使用"字符串字面量"直接赋值:
* 错误:StringBuffer buf = "abc"; //错误的
*5.StringBuffer的构造方法:
* public StringBuffer() :构造一个初始容量为16的StringBuffer。
* public StringBuffer(int capacity):使用一个容量来构造一个StringBuffer。
* public StringBuffer(String str):使用一个String构造一个StringBuffer。
* (将一个String转换为一个StringBuffer)。
* 说明两个概念:
* 1).容量:可以存储的字符的数量:capacity()
* 2).长度:已经存储的字符的数量:length()
*/
public class Demo {public static void main(String[] args) {//1.public StringBuffer() StringBuffer buf = new StringBuffer();System.out.println("容量:" + buf.capacity());//16System.out.println("长度:" + buf.length());//0//2.public StringBuffer(int capacity)StringBuffer buf2 = new StringBuffer(30);System.out.println("容量:" + buf2.capacity());//30System.out.println("长度:" + buf2.length());//0//3.public StringBuffer(String str)StringBuffer buf3 = new StringBuffer("Hello");System.out.println("容量:" + buf3.capacity());//16 + 5 System.out.println("长度:" + buf3.length());//5StringBuffer buf4 = new StringBuffer("aaaaaaaaaaaaaaaaa");//17个字符System.out.println("容量:" + buf4.capacity());//16 + 17 System.out.println("长度:" + buf4.length());//17}}
2.2 StringBuffer的添加功能
/* * StringBuffer的添加功能: * * public StringBuffer append(String str):将str追加到当前字符序列的末尾; * public StringBuffer insert(int offset,String str):将指定 str 插入此序列的offset * 位置。原offset位置上的字符依次后移;0 */public class Demo {public static void main(String[] args) {StringBuffer buf = new StringBuffer();StringBuffer buf2 = buf.append("Hello");System.out.println("buf2 = " + buf2);System.out.println("buf = " + buf);System.out.println("buf2 == buf : " + (buf2 == buf));/*buf.append(12345);buf.append(true);buf.append('你');buf.append('a');buf.append('好');*/buf.append(12345).append(true).append('你').append('a').append('好');System.out.println("buf容量:" + buf.capacity());//原长度 * 2 + 2System.out.println("buf长度:" + buf.length());//17System.out.println("buf = " + buf);StringBuffer buf3 = new StringBuffer("HelloWorld");//要在World前,加入:Javabuf3.insert(5, "Java");System.out.println("buf3 = " + buf3);}}
2.3 StringBuffer删除功能
/* * 删除功能 * public StringBuffer deleteCharAt(int index):删除index位置上的字符 * public StringBuffer delete(int start,int end):删除从start开始 到 end - 1处的所有字符; * * */public class Demo {public static void main(String[] args) {StringBuffer buf = new StringBuffer("HelloWorld");//删除W字符//buf.deleteCharAt(5);//System.out.println("buf = " + buf);//buf内部是可变的;//删除Hellobuf.delete(0, 5);System.out.println("buf = " + buf);}}
2.4 StringBuffer替换功能
/* * 替换功能 * public StringBuffer replace(int start,int end,String str):替换从start到end - 1 处的所有字符,替换为str * 反转功能 * public StringBuffer reverse():反转内部的所有字符; */public class Demo {public static void main(String[] args) {StringBuffer buf = new StringBuffer();buf.append("HelloWorld");//将Hello替换为*****buf.replace(0, 5, "*****");System.out.println("替换后的结果:" + buf);StringBuffer buf2 = new StringBuffer();buf2.append("HelloWorld");buf2.reverse();System.out.println("buf2 = " + buf2);}}
2.5 StringBuffer截取功能
/* * 截取功能:以下两个方法,返回String,原StringBuffer中的内容不变; * public String substring(int start):截取从start开始,到内部字符序列的末尾; * public String substring(int start,int end):截取从start,到end - 1处 * */public class Demo {public static void main(String[] args) {StringBuffer buf = new StringBuffer();buf.append("HelloWorld");//截取HelloString str = buf.substring(0,5);System.out.println("str = " + str);//HelloSystem.out.println("buf = " + buf);//HelloWorld//截取Worldstr = buf.substring(5);System.out.println("str = " + str);}}
2.6 String和StringBuffer的相互转换
/* * String和StringBuffer的相互转换 * * String --> StringBuffer: * 1.StringBuffer的构造方法: * StringBuffer buf = new StringBuffer("Hello"); * 2.StringBuffer的append()方法 * StringBuffer buf = new StringBuffer(); * buf.append("Hello"); * StringBuffer --> String: * 1.全部:StringBuffer的toString(): * 2.部分:StringBuffer的substring(): */public class Demo {public static void main(String[] args) {//1.String --> StringBufferString str = "Hello";//--构造方法StringBuffer buf1 = new StringBuffer(str);//--appendStringBuffer buf2 = new StringBuffer();buf2.append(str);//2.StringBuffer --> String//--全部:toString()String s1 = buf2.toString();//--部分:substring()String s2 = buf2.substring(2);//llo}}
2.7字符串反转
/* * 字符串反转: * * 1.将字符串转换为StringBuffer; * 2.调用StringBuffer的reverse(): * 3.将StringBuffer转换为String; */public class Demo {public static void main(String[] args) {String str = "HelloWorld";//转换为StringBufferStringBuffer buf = new StringBuffer(str);//调用方法,进行反转buf.reverse();//将StringBuffer转换为StringString result = buf.toString();System.out.println("result = " + buf);}}
2.8 StringBuffer和StringBuilder的区别
/*
*StringBuffer和StringBuilder的区别:
* 它们的功能"是完全一样的";
*1.StringBuffer:
* 1).从JDK1.0开始
* 2).线程同步(线程安全的)
* 3).效率低;
*2.StringBuild:
* 1).从JDK1.5开始
* 2).线程不同步的(线程不安全)
* 3).效率高;
*/
public class Demo {public static void main(String[] args) {StringBuffer buf = new StringBuffer();long start = System.currentTimeMillis();//获取当前时间的毫秒值;此值从1970年1月1日开始到现在的毫秒值;for(int i = 0;i < 40000000 ; i++){buf.append(i);}long end = System.currentTimeMillis();System.out.println("Buffer:执行时间:" + ( end - start) + " 毫秒");//2403 毫秒StringBuilder bld = new StringBuilder();start = System.currentTimeMillis();for(int i = 0 ;i < 40000000 ; i++){bld.append(i);}end = System.currentTimeMillis();System.out.println("Builder:执行时间:" + ( end - start) + " 毫秒");//2006 毫秒}}
2.9 String做为形参和StringBuffer作为形参
/* * 看程序写结果: * String作为参数传递: * StringBuffer作为参数传递: * */public class Demo {public static void main(String[] args) {String str = "Hello";//str = 0x2233fun1(str);//fun1(0x2233);System.out.println("str = " + str);//HelloStringBuffer buf = new StringBuffer("Hello");//0x7788fun2(buf);//fun2(0x7788)System.out.println("buf = " + buf);//HelloWorldfor(int i = 0 ; i < str.length() / 2 ; i++){char c1 = str.charAt(i);char c2 = str.charAt(str.length() - 1 - i);if(c1 != c2){System.out.println("不是对称串");}}}public static void fun1(String str){//str = 0x2233str = "World";//"World"被开辟新空间存储:str = 0x4455}public static void fun2(StringBuffer buf){//buf = 0x7788buf.append("World");//0x7788.append("World");}}
2.10 例子
/* * 把数组拼接成一个字符串 */public class Demo {public static void main(String[] args) {int[] array = {123,54,35,6,5,321,35,46};StringBuffer buf = new StringBuffer("[");for(int i = 0;i < array.length ; i++){//判断是否最后一个元素buf.append(array[i]);if(i + 1 == array.length){buf.append("]");}else{buf.append(", ");}}//转换为字符串String result = buf.toString();System.out.println("result = " + result);}}/* * 判断一个字符串是否是对称字符串 * 例如"abc"不是对称字符串, * "aba"、"abba"、"aaa"、"mnanm"是对称字符串 * * 方式一:将字符串反转,跟原串比较,如果相同,就是对称字符串; * 方式二:判断第一个字符和最后一个字符是否相同,然后判断第二个和倒数第二个.... * 如果发现有一个不同的,就不是对称字符串; */public class Demo {public static void main(String[] args) {String str = "aaa";StringBuffer buf = new StringBuffer(str);String result = buf.reverse().toString();//System.out.println(buf.reverse().toString());if(result.equals(str)){System.out.println(str + " 是对称串!");}else{System.out.println(str + " 不是对称串!");}}}
- 黑马程序员-String类
- 黑马程序员---String类
- 黑马程序员---String类
- 黑马程序员-String类
- 黑马程序员 String类
- 黑马程序员-----String类
- 黑马程序员---String 类
- 黑马程序员-String类
- 黑马程序员-String类
- 黑马程序员---String类
- 黑马程序员--String类
- 黑马程序员--String类
- 黑马程序员 String类
- 黑马程序员--String类
- 黑马程序员----String类
- 黑马程序员---String类
- 黑马程序员----------------------String类
- 黑马程序员---String类
- C++ 指针,引用,普通变量之间的关系
- 乐视笔试算法题美团算法笔试题
- 打开扩展名为xlsx的时候报错,但是扩展名为xls的时候就可以正常使用
- 我的首篇CSDN博客
- 点击UICollectionViewCell上的UIButton如何获取当前的UICollectionViewCell?
- 黑马程序员------String类
- 读写分离之Amoeba
- 软工视频(前三章)
- hdu3499 分层图
- codevs 1046 旅行家的预算
- 安倍强行通过安保法案带来三大祸害
- OC 结构体与类的区别
- Android QQ消息列表(下拉刷新 +item侧滑 )
- Thymeleaf Javascript 取值