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;
}
}