package _6_2_字符串操作; import java.util.StringTokenizer; public class _6_2_Example_1 { public static void main(String[] args) { // TODO 自动生成的方法存根 //字符串连接(多个字符串连接) String s1 = new String("hello"); String s2 = new String("world"); String s3 = s1+" "+s2; System.out.println("s1:"+s1+"\ns2:"+s2+"\ns3:"+s3); //只要 + 运算符中的一个操作数是字符串,就把所有操作数全部转化成字符串 //连接其他数据类型 int bookTime=4; float playTime=3.5f; System.out.println("我每天花"+bookTime+"个小时看书。" +playTime+"个小时玩游戏。"); //获取字符串信息 //获取字符串长度 String s = new String("We are students."); System.out.println("s:"+s); System.out.println("字符串s长度为:"+s.length()); //获取字符串某个元素的索引 //indexOf(substr),返回字符串中第一次出现substr的位置 //lastIndexOf(),返回字符串中最后一次出现substr的位置 System.out.println("字符s在字符串s中第一次出现的位置是:"+s.indexOf('s')); System.out.println("字符s在字符串s中最后一次出现的位置是:"+s.lastIndexOf('s')); //获取指定位置的字符charAt(int index); System.out.println("字符串s中索引位置是4的字符是:"+s.charAt(4)); //去除字符串前端和尾部的空格:trim(); String s4=new String(" Java Class "); System.out.println("s4:"+s4); System.out.println("字符串s4原来的长度:"+s4.length()); String s5=s4.trim(); System.out.println("截取空格后的长度:"+s5.length()); System.out.println("去除空格后的字符串:"+s5); //去除字符串中所有空格 //StringTokenize(string str,String delim),清除str字符串中所有delim字符串 //replaceAll(String regex,String repalcement)要被替换的字符串,替换的字符串 String text=" We are students. "; System.out.println("原字符串是:"+text); StringTokenizer st=new StringTokenizer(text," "); StringBuffer sb=new StringBuffer();//定义字符串缓存对象 int i=1; while(st.hasMoreTokens()){//判断字符串是否还有空格 i++; sb.append(st.nextToken());//向字符串生成器中追加内容 } System.out.println("去掉字符串中所有空格之后的字符串是:"+sb.toString()); String s6="Java 编 程 词 典 "; System.out.println("原字符串:"+s6); String s7=s6.replaceAll(" ",""); System.out.println("去除空格后的字符串:"+s7); } }
package _6_2_字符串操作; public class _6_2_Example_2 { public static void main(String[] args) { // TODO 自动生成的方法存根 //字符串的替换 //1.replace()方法 //str.replace(String regex,String replacement) String s="bad bad study"; System.out.println("原字符串:"+s); //2.replaceFirst(); String news=s.replaceFirst("bad", "good"); System.out.println("替换后的字符串:"+news); news=s.replaceAll("bad", "good"); System.out.println("替换后的字符串:"+news); //判断字符串是否相等 //equals(String otherstr) //返回一个布尔型参数 String s1=new String("I am a student"); String s2=new String("I am a student"); String s3=new String("I AM A STUDENT"); String s4=s1; System.out.println("s1:"+s1+"\ns2:"+s2+"\ns3:"+s3+"\ns4:"+s4); boolean b1=(s1==s2); boolean b2=(s1==s4); boolean b3=s1.equals(s2); boolean b4=s1.equals(s3); boolean b5=s1.equalsIgnoreCase(s2); boolean b6=s1.equalsIgnoreCase(s3); //==是比较内存的位置 System.out.println("s1==s2 ? "+b1); System.out.println("s1==s4 ? "+b2); System.out.println("s1 equals s2 ? "+b3); System.out.println("s1 equals s3 ? "+b4); System.out.println("s1 equalsIgnoreCase s2 ? "+b5); System.out.println("s1 equalsIgnoreCase s3 ? "+b6); //判断字符串是否是以指定字符串开始或者结尾 //startsWith(),endsWith(); 返回boolean字符 String num1="22045612"; String num2="21304578"; System.out.println("num1:"+num1+"\nnum2:"+num2); System.out.println("字符串num1是以'22'开始的么? "+num1.startsWith("22")); System.out.println("字符串num1是以'78'结尾的么? "+num1.endsWith("78")); System.out.println("字符串num2是以'22'开始的么? "+num2.startsWith("22")); System.out.println("字符串num2是以'78'结尾的么? "+num2.endsWith("78")); } }
package _6_2_字符串操作; public class _6_2_Example_3 { public static void main(String[] args) { // TODO 自动生成的方法存根 //字符串大小写转换,数字非字符不受影响 //toLowerCase() //toUpperCase() String s="123 【】 abc DEF"; String s1=s.toLowerCase(); String s2=s.toUpperCase(); System.out.println("原字符串:"+s); System.out.println("全部替换成小写字符后:"+s1); System.out.println("全部替换成大写字符后:"+s2); //字符串分割 //1、split(String sign) sign分隔符 String s3=new String("abc,def,hij,klm"); String[] news=s3.split(","); System.out.println("原字符串:"+s3); System.out.println("按分隔符分割后的字符是:"); for(int i=0;i<news.length;i++) System.out.println(news[i]); //2.split(String sign,int limit)限制分割分数 String[]new1=s3.split(",", 3); System.out.println("按分隔符分割一次后的字符是:"); for(int i=0;i<new1.length;i++) System.out.println(new1[i]); } }
package _6_2_字符串操作; public class _6_2_Exercise_1 { public static void main(String[] args) { // TODO 自动生成的方法存根 //根据指定分隔符把字符串分行 String s="无言独上西楼,月如钩,寂寞梧桐深院锁清秋," + "剪不断,理还乱、是离愁,别是一番滋味在心头"; System.out.println("原字符串:"+s); System.out.println("原字符串长度:"+s.length()); String[] news=s.split(","); System.out.println("分割后的字符串:"); for(int i=0;i<news.length;i++) System.out.println(news[i]); System.out.println("分割后的字符串长度:"+news.length); } }
package _6_2_字符串操作; public class _6_2_Exercise_2 { public static void main(String[] args) { // TODO 自动生成的方法存根 //判断字符串是否是数字格式 String s="123122312"; if(_6_2_Exercise_2.isNumber(s)) System.out.println(s+"是数字格式"); else System.out.println(s+"不是数字格式"); } public static boolean isNumber(String str){ char[] c=str.toCharArray(); for(int i=0;i<c.length;i++){ if(Character.isDigit(c[i])){ }else return false; } return true; } }