目录
包装类
装箱和拆箱
包装类型和String的转换,包装类的常用方法
Java_String
两种创建方式解析
测试
常用方法
Java_StringBuffer
String和StringBuffer的转换
常用方法
Java_StringBuilder
包装类
装箱和拆箱
package com.edu.wrapper; public class Interger01 { //演示int<-->Integer的装箱和拆箱 //手动装箱 int n1=100; Integer integer = new Integer(n1); Integer integer01 = Integer.valueOf(n1); //手动拆箱 int i = integer.intValue(); //jdk5后自动拆装 int n2 = 200; Integer integer3 = n2;//底层仍然是Integer.valueOf() int n3 = integer3;//底层仍然是integer.intValue(); }
包装类型和String的转换,包装类的常用方法
package com.edu.wrapper; public class Wrapper02 { public static void main(String[] args) { //包装类-->String Integer i =100; //自动装箱 //方式1 String str = i+""; //方式2 String str1 = Integer.toString(i); //方式3 String str3 = String.valueOf(i); //String-->包装类 String str4 ="123"; Integer integer = Integer.parseInt(str4);//自动转箱 char str5 = 'a'; System.out.println((char)((int)str5-32)); System.out.println(Integer.MAX_VALUE); } }
Java_String
两种创建方式解析
测试
常用方法
package com.edu.string; import javax.swing.plaf.synth.SynthOptionPaneUI; public class demo01 { public static void main(String[] args) { /* String的常用方法 1.equals:比较字符串,区分大小写 2.equalsIgnorecase:比较字符串,忽略大小写 3.length:获取字符的个数,字符串长度 4.indexOf 获取字符在字符串对象中第一次出现的索引(也可以是字符串,字符串返回的是子串第一个字符的索引) 5.lastIndexof 获取字符在字符串对象中最后一次出现的索引(也可以是字符串) 6.subString 截取指定范围的子串 */ String name = "hello,张三"; System.out.println(name.substring(6));//获取从索引为6个字符后的字符(包括索引6) System.out.println(name.substring(2,5));//获取索引2-(5-1)的字符 /* 7.toUpperCase:转化为大写 8.toLowerCase:转化为小写 9.concat:字符串拼接 10.replace:将字符串中的内容替换 */ String s1 = "宝玉 and 薛宝钗 薛宝钗 薛宝钗"; //10将所有的薛宝钗替换为林黛玉 String s2 = s1.replace("薛宝钗","林黛玉");//本身对s1没有影响 //11 split:字符串切割 String poem = "1,2,3,4"; String[] split = poem.split(","); //以逗号为标准进行分割 //12 toCharArray :转换为字符数组 //13 compareTo :比较字符串大小 先长度再内容比较相减 //14 trim 去除前后空格 //15 charAt 获取索引字符 charAt[0] //16 format 格式化字符串 String name_John = "John"; int age = 10; double score = 98.3/3; char gender = '男'; //%.2f会四舍五入 String info = String.format("我的名字是%s年龄是%d,成绩是%.2f性别是%c,希望大家喜欢我",name_John,age,score,gender); System.out.println(info); /* 复用 String formatString = "我的名字是%s年龄是%d,成绩是%.2f性别是%c,希望大家喜欢我" String info = String.format(formatString,name_John,age,score,gender); */ } }
Java_StringBuffer
StringBuffer是一个容器,可以对字符串进行增加删除的,是可变长度的
String和StringBuffer的转换
package com.edu.string; public class demo02 { public static void main(String[] args) { /* StringBuffer构造器的使用 */ //1、创建一个大小为16的char[]; StringBuffer stringBuffer = new StringBuffer(); //2、通过构造器指定char[]大小 StringBuffer stringBuffer1 = new StringBuffer(100); //3、通过给一个String创建StringBuffer,char[] 大小就是str.length+16 StringBuffer stringBuffer2 = new StringBuffer("hello"); //String 和 StringBuffer的相互转换 String str = "hello tom"; //方式1 使用构造器 StringBuffer stringBuffer3 = new StringBuffer(str); //方式2 StringBuffer stringBuffer4 = new StringBuffer(); StringBuffer append = stringBuffer4.append(str); //StringBuffer-->String //1 使用toString()方法 String str1 = stringBuffer3.toString(); //2 使用构造器直接new String s2 =new String(stringBuffer4); } }
常用方法
package com.edu.string; import java.util.Scanner; public class Demo03 { public static void main(String[] args) { //增 StringBuffer stringBuffer = new StringBuffer("hello"); stringBuffer.append("1"); stringBuffer.append("11").append("12"); //System.out.println(stringBuffer); //删 删除索引下标11到13的字符[1,3); stringBuffer.delete(1,3); //改 修改索引为[0,2)的字符,替换为周芷若 stringBuffer.replace(0,2,"周芷若"); //查找 int index = stringBuffer.indexOf("hello"); //插入 指定索引插入字符串,原来索引为9的位置自动后移 stringBuffer.insert(9,"周志强"); //123564,59-->123,564,59 小数点前每3位用,隔开 StringBuffer stringBuffer1 = new StringBuffer("13564,59"); System.out.println(stringBuffer1.indexOf(",")); for (int i=stringBuffer1.indexOf(",")-3;i>0;i-=3){ stringBuffer1.insert(i,","); } System.out.println(stringBuffer1); /* 老师的步骤 1、定义一个Scanner对象,接收用户的输入(String) 2、转换为StringBuffer对象 3、处理 */ Scanner scanner = new Scanner(System.in); String str = scanner.next(); StringBuffer stringBuffer2 = new StringBuffer(str); for (int i=stringBuffer2.indexOf(".")-3;i>0;i-=3){ stringBuffer2.insert(i,"."); } System.out.println(stringBuffer2); scanner.close(); } }
Java_StringBuilder
线程不安全