java字符串基本操作

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();
}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验目的: 练习使用Java基本数据类型。使用JavaString类操作字符串和子串。 实验内容: 1.写一个程序提示用户键入某一货币数量(以分为单位),该程序应计算出如何用最少量的1元,50分,10分和1分硬币得到该数目。如195分最少可以用一个1元硬币,1个50分硬币,4个10分硬币和5个1分硬币组成。 注意不要用数组存放不同硬币的值。 2.写一个程序可以对两个字符串进行测试,得知第一个字符串是否包含在第二个字符串中。如字符串”PEN”包含在字符串“INDEPENDENT”中。 可以利用字符串类方法 boolean regionMatches(int toffset, String other, int ooffset, int len) toffset 指从被调用方法的字符串的第几个字符开始测试,如果是0,表明从字符串的首字符开始。other是指使用的另一个字符串。ooffset指从另一个字符串的第几个字符开始。len指要比较几个字符。该方法返回boolean值。 在本题中,ooffset为0,因为我们要测试整个短字符串;len是短字符串的长度;所以应该用 big.regionMatches(index, small, 0, small.length()) 如果big指“independent",small指"pen",则index=2时为假,index=4时为真 (b)改进程序,当第一个字符串包含在第二个字符串中时,显示第一个字符串在第二个字符串中的起始位置。 (c)改进程序,即使当用户输入顺序错误时(第一个是长字符串,第二个是短字符串),能自动在长字符串中搜寻短字符串
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值