15,String,StringBuffer,基本数据类型包装对象

黑马程序员——15,String,StringBuffer,基本数据类型包装对象

分类:Java学习笔记

黑马程序员

——<ahref="" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! ——-

黑马程序员——15,String,基本数据类型包装对象

/* 字符串相关的练习*/ /*求两个字符串中最大的相同子串,思路:1,将短的子串按照长度递减的方式获取2,将每次获取到的子串去长串中判断是否包含 */class Zfclx{public static void main(String[] args){String a="kjesqwersjfnqwg";String b="ccaaqwerxyhs";String c= zichuan(b,a);String d= zichuan2(b,a);System.out.println("c="+c);}public static String zichuan(String s1,String s2){if( s1.length()<s2.length()){String s3=" ";s3=s1;s1=s2;s2=s3;}String op="";//这里设定一个变量,用来存储返回的字符串String[][] ui=new String[s2.length()][];w: for(int x=0;x<s2.length();x++){for(int y=0,z=s2.length()-1-x; z!=s2.length();y++,z++){if(s1.contains(s2.substring(y,z+1))){op=s2.substring(y,z+1);soc(op);break w ;//找到之后直接跳出循环}}}return op;}public static String zichuan2(String s1,String s2){String max="";String min="";max =( s1.length()<s2.length())?s2:s1;min = ( s1.length()<s2.length())?s1:s2;String op="";String[][] ui=new String[min.length()][];w: for(int x=0;x<min.length();x++){for(int y=0,z=min.length()-1-x; z!=min.length();y++,z++)//定义y在左边指示,定义z在右边指示{if(max.contains(min.substring(y,z+1))){op=min.substring(y,z+1);soc(op);break w ;}}}return op;}public static void soc(Object obj){System.out.println(obj);} }/*以上代码编译运行结果如下:qwerqwerc=qwer*/

——————分割线——————

/* StringBuffer字符串缓冲区的方法介绍注意:StringBuilder是jdk1.5之后出现的,也相当于一个容器,其功能和StringBuffer差不多,但是,StringBuffer是线程同步的(一个线程执行完之后下一个线程才可以进来执行)StringBuilder是线程不同步的(可以多个线程同时对其执行)版本升级因素:提高效率,简化书写,提高安全性*/ class Zfclx3{public static void main(String[] args){StringBuffer a=new StringBuffer();//StringBuffer是一个容器,长度可以变化StringBuffer a2= a.append(26);//把26添加进去容器里面再返回容器soc("a==a2—"+(a==a2));//判断a与a2是否是同一个对象,打印的是a==a2—truea.append("卡卡").append(false).append(10);//调用链soc(a);//都是以字符串的形式打印26卡卡false10a.insert(2,"神");//插入操作,在第二位插入soc(a);//打印26神卡卡false10//a.insert(200,"神");//角标越界异常a.delete(5,5);//相当于没有操作soc("a—————"+a);//打印a—————26神卡卡false10a.delete(5,7);//剪切第5位到第6位,注意:不包括第七位soc("剪切后的a="+a);//打印的是剪切后的a=26神卡卡lse10//a.delete(0,a.length());//清空缓冲区(清空了容器内部)a.deleteCharAt(2);//删除第二位字符soc("a.deleteCharAt(2)—-"+a);//a.charAt(2);//获取第二位字符//a.indexOf("0");//查找字符串中字符0的位置//a.substring(0,a.length());//获取从第0位到a.length()-1位的字符串a.replace(0,3,"kkkk");//把字符串中的第1位到第2位(不包括第3位)替换成kkkksoc("replace—"+a);StringBuffer a3=new StringBuffer("hsjd");//容器里面装的是字符串hsjdsoc("a3="+a3);//打印的是hsjdsoc2(a3);a3.setCharAt(0,'n');//该方法没有返回值,修改完之后就没有返回了soc(a3.toString());a3.reverse();//反转soc("reverse—"+a3);StringBuffer a4=new StringBuffer("abcdefgh");char[] charsz=new char[8];a4.getChars(2,5,charsz,1);/*获取字符串中第2位到第4位字符(不包括第5位)然后从charsz数组的第1位开始存放*/for( int x=0; x<charsz.length; x++ ){System.out.println("charsz["+x+"]="+charsz[x]);}}public static void soc(Object obj){System.out.println(obj);}public static void soc2(Object obj){StringBuffer a= (StringBuffer)obj;//父类强制转换成子类a.deleteCharAt(0);System.out.println(a);} }/* 以上代码编译运行结果: a==a2—true26卡卡false1026神卡卡false10a—————26神卡卡false10剪切后的a=26神卡卡lse10a.deleteCharAt(2)—-26卡卡lse10replace—kkkk卡lse10a3=hsjdsjdnjdreverse—djncharsz[0]=charsz[1]=ccharsz[2]=dcharsz[3]=echarsz[4]=charsz[5]=charsz[6]=charsz[7]=*/

——————分割线——————

/*基本数据类型的对象包装类 byteByteshortShortintIntegerlongLongboolean BooleanfloatFloatdoubleDoublecharCharacter*/class Zfclx4{public static void main(String[] args){soc("Integer.MAX_VALUE="+Integer.MAX_VALUE);//打印整数类型的最大值/*基本数据类型转成字符串:基本数据类型+""基本数据类型.toString(基本数据类型值);例如:Integer.toString(25);字符串转成数据类型:(除了char以外)xxx a=Xxx.parseXxx(String);例如:int a= Integer.parseInt("26");//数字型的字符串转换成int型数据double a=Double.parseDouble("26.23");boolean a=Boolean.parseBoolean("true");short b=Short.parseShort("24");*///int b=Integer.parseInt("m123");//数字格式异常,运行出问题//int b=Integer.parseInt("0x123");//数字格式异常,运行出问题//int b=Integer.parseInt("123");//数字格式异常,运行出问题//十进制转其他进制:String k=Integer.toBinaryString(36);soc("Integer.toBinaryString(36)="+k);String k2=Integer.toHexString(36);soc("Integer.toHexString(36)="+k2);String k3=Integer.toOctalString(36);soc("Integer.toOctalString(36)="+k3);int k6=Integer.parseInt("26");soc("Integer.parseInt(\&;26\&;)—"+k6);//其他进制转成十进制int x= Integer.parseInt("110",10);soc("Integer.parseInt(\&;110\&;,10)—"+x);int x2=Integer.parseInt("110",2);soc("Integer.parseInt(\&;110\&;,2)—"+x2);int x3=Integer.parseInt("110",8);soc("Integer.parseInt(\&;110\&;,8)—"+x3);int x4= Integer.parseInt("110",16);soc("Integer.parseInt(\&;110\&;,16)—"+x4);int x5= Integer.parseInt("1c",16);soc("Integer.parseInt(\&;1c\&;,16)—"+x5);System.out.println("HelloWorld!");}public static void soc(String obj){System.out.println(obj);}} /* 以上代码编译运行结果: Integer.MAX_VALUE=2147483647Integer.toBinaryString(36)=100100Integer.toHexString(36)=24Integer.toOctalString(36)=44Integer.parseInt("26")—26Integer.parseInt("110",10)—110Integer.parseInt("110",2)—6Integer.parseInt("110",8)—72Integer.parseInt("110",16)—272Integer.parseInt("1c",16)—28Hello World! */

/*

基本数据类型对象包装的jdk1.5版本新特性

*/

你并不一定会从此拥有更美好的人生,

15,String,StringBuffer,基本数据类型包装对象

相关文章:

你感兴趣的文章:

标签云: