package string;
import java.util.Date;
public class S_tring {
//设置静态全局变量
static String string="abcdefg hijklmn opqrst uvwxyz";
public static void Join(){
//字符串拼接
String s1=new String("abcdefg");
String s2=new String("hijklmn");
String new_str=s1+"-----@@@@@@@@-----"+s2;
System.out.println(new_str);
//连接其他数据类型
int booktime=4;
float practice=2.5f;
System.out.println("我每天花费"+booktime+"小时看书;---"+
(booktime+practice)+"小时练习");
}
public static void Length(){
//获取字符串长度(包括空字符)
String str="we -- are -- young";
int size=str.length();
System.out.println("字符串长度为:"+size);
}
public static void Find(){
//字符串查找 从0开始计算
String str="abcdefg hijklmn opqrst uvwxyz";
int where=str.indexOf('k');
int size=str.lastIndexOf("");//返回值与length相同
System.out.println("k字符的位置在:"+where);
System.out.println("空字符在字符串str中的索引位置是:"+size);
System.out.println("字符串长度为:"+str.length());
}
public static void Ref(){
//获取指定索引位置的字符
char mychar=string.charAt(11);//此处string是全局变量
System.out.println("string字符串的第11个字符是:"+mychar);
}
public static void Subs(){
//获取子字符串 包括空字符
String substr=string.substring(0,10);
System.out.println("string字符串的0-10子字符串为:"+substr);
}
public static void Blak(){
//去除字符串前部空格和尾部空格
String string=" j a v a ";
String str=string.trim();
System.out.println(" j a v a 去除前后空字符后为:"+str);
System.out.println(" j a v a 原长度为:"+string.length());
System.out.println(" j a v a 去除前后空格后的长度为:"+str.length());
//去掉所有空格 就是替换
String str2=string.replace(" ", "");
System.out.println(" j a v a 去除所有空字符后为:"+str2);
System.out.println(" j a v a 原长度为:"+string.length());
System.out.println(" j a v a 去除所有空格后的长度为:"+str2.length());
}
public static void NewStr(){
//字符串替换
String str="address----aaaaaaaa";
String str2="ahal;kn";
String newstr=str.replace('a', 'A');//将a全部替换为A
String newstr2=str2.replace(';', ' ');//将;换成空格
System.out.println(newstr);
System.out.println(newstr2);
}
public static void StartOrEnd(){
//判断字符串的开始和结尾 返回boolean型
String num="37549237814";
String str="agfekdafklj,a";
boolean num_b1=num.startsWith("375");
boolean num_b2=num.endsWith("35e");
boolean str_b1=str.startsWith("afa");
boolean str_b2=str.endsWith(",a");
System.out.println("字符串num是以375开头的吗?"+num_b1);
System.out.println("字符串num是以35e结尾的吗?"+num_b2);
System.out.println("字符串str是以afa5开头的吗?"+str_b1);
System.out.println("字符串str是以',a'结尾的吗?"+str_b2);
}
public static void Opinion(){
//判断字符串是否相等
String s1="abc";
String s2="ABC";
String s3="aBc";
boolean b1=s1.equals(s2);//equals 区分大小写
boolean b2=s1.equalsIgnoreCase(s2);//equalsIgnoreCase 不区分大小写
boolean b3=s1.equalsIgnoreCase(s3);
System.out.println(s1+"equals"+s2+":"+b1);
System.out.println(s1+"equalsIgnoreCase"+s2+":"+b2);
System.out.println(s1+"equalsIgnoreCase"+s3+":"+b3);
}
public static void Wordbook(){
//按字典顺序比较两个字符串 基于字符串的各个字符的Unicode值
String str1=new String("b");
String str2=new String("a");
String str3=new String("c");
//b在a的后面,所以返回值应为1
System.out.println(str1+" compareTo "+str2+":"+str1.compareTo(str2));
//b在c的前面,所以返回值应为-1
System.out.println(str1+" compareTo "+str3+":"+str1.compareTo(str3));
}
public static void UpAndLower(){
//字母大小写转换
String str="aaaaaaaaaaabbbbbbbbb,CCCCCCCCDDDDDDDDDDD";
String new_str=str.toLowerCase();//转小写
String new_str2=str.toUpperCase();//转大写
System.out.println("原字符串为:"+str);
System.out.println("转小写字母为:"+new_str);
System.out.println("转大写字母为:"+new_str2);
}
public static void Division(){
//字符串分割
String str=new String("abc,def,ghi,gkl");
String []newstr=str.split(",");//不限次数
System.out.println("分割后的字符串为:");
for(int i=0;i<newstr.length;i++){
System.out.println(newstr[i]);
}
// String newstr2[]=str.split(",",2);
// System.out.println("分割后的字符串为:");
// for(int i=0;i<newstr.length;i++){
// System.out.println(newstr2[i]);
// }
}
public static void Eval(){
//日期和时间字符串格式化
Date date=new Date();
String year=String.format("%tY", date);//年
String month=String.format("%tB", date);//月
String day=String.format("%td", date);//日
String weekday=String.format("%tA", date);//星期
String hour=String.format("%th", date);//小时
String minute=String.format("%tM", date);//分钟
String second=String.format("%tS", date);//秒
System.out.println("今年是:"+year);
System.out.println("这月是:"+month);
System.out.println("今天是:"+day);
System.out.println("今天是星期:"+weekday);
System.out.print("现在是:"+hour+"时");
System.out.print(minute+"分");
System.out.println(second+"秒");
//格式化常见的日期 时间组合
String time=String.format("%tc", date);
String form=String.format("%tF", date);
System.out.println("全部的时间信息是:"+time);
System.out.println("年-月-日:"+form);
}
public static void General(){
//常规类型格式化
String str=String.format("%d", 400/2);//十进制格式显示
String str2=String.format("%b", 3>5);//boolean显示
String str3=String.format("%x", 400/2);//十六进制显示
System.out.println(str);
System.out.println(str2);
System.out.println(str3);
}
public static void Judge(){
//使用正则表达式
String regex="\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";//定义要匹配的E_mail地址的正则表达式
String str1="afda@";
String str2="afdafaf";
String str3="afdaf@afedaf.fas.com";
if(str1.matches(regex)){
System.out.println(str1+"是一个合法的E_mail地址");
}
if(str2.matches(regex)){
System.out.println(str2+"是一个合法的E_mail地址");
}
if(str3.matches(regex)){
System.out.println(str1+"是一个合法的E_mail地址");
}
}
public static void Jerque(){
//字符串生成器
String str="";
long starTime=System.currentTimeMillis();
for(int i=0;i<10000;i++){
str=str+i;
}
long endTime=System.currentTimeMillis();
long time=endTime-starTime;
System.out.println("String消耗的时间:"+time);
StringBuilder builder=new StringBuilder("");
starTime=System.currentTimeMillis();
for(int j=0;j<100000;j++)
{
builder.append(j);
}
endTime=System.currentTimeMillis();
time=endTime-starTime;
System.out.println("StringBuilder消耗的时间:"+time);
}
public static void main(String[] args) {
Join();
Length();
Find();
Ref();
Subs();
Blak();
NewStr();
StartOrEnd();
Opinion();
Wordbook();
UpAndLower();
Division();
Eval();
General();
Judge();
Jerque();
}
}
import java.util.Date;
public class S_tring {
//设置静态全局变量
static String string="abcdefg hijklmn opqrst uvwxyz";
public static void Join(){
//字符串拼接
String s1=new String("abcdefg");
String s2=new String("hijklmn");
String new_str=s1+"-----@@@@@@@@-----"+s2;
System.out.println(new_str);
//连接其他数据类型
int booktime=4;
float practice=2.5f;
System.out.println("我每天花费"+booktime+"小时看书;---"+
(booktime+practice)+"小时练习");
}
public static void Length(){
//获取字符串长度(包括空字符)
String str="we -- are -- young";
int size=str.length();
System.out.println("字符串长度为:"+size);
}
public static void Find(){
//字符串查找 从0开始计算
String str="abcdefg hijklmn opqrst uvwxyz";
int where=str.indexOf('k');
int size=str.lastIndexOf("");//返回值与length相同
System.out.println("k字符的位置在:"+where);
System.out.println("空字符在字符串str中的索引位置是:"+size);
System.out.println("字符串长度为:"+str.length());
}
public static void Ref(){
//获取指定索引位置的字符
char mychar=string.charAt(11);//此处string是全局变量
System.out.println("string字符串的第11个字符是:"+mychar);
}
public static void Subs(){
//获取子字符串 包括空字符
String substr=string.substring(0,10);
System.out.println("string字符串的0-10子字符串为:"+substr);
}
public static void Blak(){
//去除字符串前部空格和尾部空格
String string=" j a v a ";
String str=string.trim();
System.out.println(" j a v a 去除前后空字符后为:"+str);
System.out.println(" j a v a 原长度为:"+string.length());
System.out.println(" j a v a 去除前后空格后的长度为:"+str.length());
//去掉所有空格 就是替换
String str2=string.replace(" ", "");
System.out.println(" j a v a 去除所有空字符后为:"+str2);
System.out.println(" j a v a 原长度为:"+string.length());
System.out.println(" j a v a 去除所有空格后的长度为:"+str2.length());
}
public static void NewStr(){
//字符串替换
String str="address----aaaaaaaa";
String str2="ahal;kn";
String newstr=str.replace('a', 'A');//将a全部替换为A
String newstr2=str2.replace(';', ' ');//将;换成空格
System.out.println(newstr);
System.out.println(newstr2);
}
public static void StartOrEnd(){
//判断字符串的开始和结尾 返回boolean型
String num="37549237814";
String str="agfekdafklj,a";
boolean num_b1=num.startsWith("375");
boolean num_b2=num.endsWith("35e");
boolean str_b1=str.startsWith("afa");
boolean str_b2=str.endsWith(",a");
System.out.println("字符串num是以375开头的吗?"+num_b1);
System.out.println("字符串num是以35e结尾的吗?"+num_b2);
System.out.println("字符串str是以afa5开头的吗?"+str_b1);
System.out.println("字符串str是以',a'结尾的吗?"+str_b2);
}
public static void Opinion(){
//判断字符串是否相等
String s1="abc";
String s2="ABC";
String s3="aBc";
boolean b1=s1.equals(s2);//equals 区分大小写
boolean b2=s1.equalsIgnoreCase(s2);//equalsIgnoreCase 不区分大小写
boolean b3=s1.equalsIgnoreCase(s3);
System.out.println(s1+"equals"+s2+":"+b1);
System.out.println(s1+"equalsIgnoreCase"+s2+":"+b2);
System.out.println(s1+"equalsIgnoreCase"+s3+":"+b3);
}
public static void Wordbook(){
//按字典顺序比较两个字符串 基于字符串的各个字符的Unicode值
String str1=new String("b");
String str2=new String("a");
String str3=new String("c");
//b在a的后面,所以返回值应为1
System.out.println(str1+" compareTo "+str2+":"+str1.compareTo(str2));
//b在c的前面,所以返回值应为-1
System.out.println(str1+" compareTo "+str3+":"+str1.compareTo(str3));
}
public static void UpAndLower(){
//字母大小写转换
String str="aaaaaaaaaaabbbbbbbbb,CCCCCCCCDDDDDDDDDDD";
String new_str=str.toLowerCase();//转小写
String new_str2=str.toUpperCase();//转大写
System.out.println("原字符串为:"+str);
System.out.println("转小写字母为:"+new_str);
System.out.println("转大写字母为:"+new_str2);
}
public static void Division(){
//字符串分割
String str=new String("abc,def,ghi,gkl");
String []newstr=str.split(",");//不限次数
System.out.println("分割后的字符串为:");
for(int i=0;i<newstr.length;i++){
System.out.println(newstr[i]);
}
// String newstr2[]=str.split(",",2);
// System.out.println("分割后的字符串为:");
// for(int i=0;i<newstr.length;i++){
// System.out.println(newstr2[i]);
// }
}
public static void Eval(){
//日期和时间字符串格式化
Date date=new Date();
String year=String.format("%tY", date);//年
String month=String.format("%tB", date);//月
String day=String.format("%td", date);//日
String weekday=String.format("%tA", date);//星期
String hour=String.format("%th", date);//小时
String minute=String.format("%tM", date);//分钟
String second=String.format("%tS", date);//秒
System.out.println("今年是:"+year);
System.out.println("这月是:"+month);
System.out.println("今天是:"+day);
System.out.println("今天是星期:"+weekday);
System.out.print("现在是:"+hour+"时");
System.out.print(minute+"分");
System.out.println(second+"秒");
//格式化常见的日期 时间组合
String time=String.format("%tc", date);
String form=String.format("%tF", date);
System.out.println("全部的时间信息是:"+time);
System.out.println("年-月-日:"+form);
}
public static void General(){
//常规类型格式化
String str=String.format("%d", 400/2);//十进制格式显示
String str2=String.format("%b", 3>5);//boolean显示
String str3=String.format("%x", 400/2);//十六进制显示
System.out.println(str);
System.out.println(str2);
System.out.println(str3);
}
public static void Judge(){
//使用正则表达式
String regex="\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";//定义要匹配的E_mail地址的正则表达式
String str1="afda@";
String str2="afdafaf";
String str3="afdaf@afedaf.fas.com";
if(str1.matches(regex)){
System.out.println(str1+"是一个合法的E_mail地址");
}
if(str2.matches(regex)){
System.out.println(str2+"是一个合法的E_mail地址");
}
if(str3.matches(regex)){
System.out.println(str1+"是一个合法的E_mail地址");
}
}
public static void Jerque(){
//字符串生成器
String str="";
long starTime=System.currentTimeMillis();
for(int i=0;i<10000;i++){
str=str+i;
}
long endTime=System.currentTimeMillis();
long time=endTime-starTime;
System.out.println("String消耗的时间:"+time);
StringBuilder builder=new StringBuilder("");
starTime=System.currentTimeMillis();
for(int j=0;j<100000;j++)
{
builder.append(j);
}
endTime=System.currentTimeMillis();
time=endTime-starTime;
System.out.println("StringBuilder消耗的时间:"+time);
}
public static void main(String[] args) {
Join();
Length();
Find();
Ref();
Subs();
Blak();
NewStr();
StartOrEnd();
Opinion();
Wordbook();
UpAndLower();
Division();
Eval();
General();
Judge();
Jerque();
}
}