String 类提供了许多用来处理字符串的方法,例如,获取字符串长度、对字符串进行截取、将字符串转换为大写或小写、字符串分割等,
packagecom.imooc7;importjava.util.Arrays;publicclassClassString{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//定义一个字符串strStringstr="学习JAVA编程";//打印输出字符串的长度System.out.println("字符串长度:"+str.length());//查找字符'编'的位置charc='编';System.out.println("字符'编'的位置:"+str.indexOf(c));//查找子字符串'JAVA'的位置System.out.println("子字符串'JAVA'的位置:"+str.indexOf("JAVA"));//查询子字符串'imooc'的位置,如果找不到返回-1System.out.println("子字符串'imooc'的位置:"+str.indexOf("imooc"));//按空格把字符串拆分成一个数组,并输出数组元素String[]arr=str.split("");System.out.println("按空格拆分成数组:"+Arrays.toString(arr));System.out.println();//获取索引位置[3,7)之间的子串System.out.println("获取位置[3,7)之间的子串:"+str.substring(3,7));}}
1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-12. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引;如果没有匹配结果,返回 -13. 使用 substring(beginIndex , endIndex) 进行字符串截取时,包括 beginIndex 位置的字符,不包括 endIndex 位置的字符
packagecom.imooc7;publicclassClassString1{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//Java文件名StringfileName="HelloWorld.java";//邮箱Stringemail="laurenyang@imooc.com";//判断.java文件名是否正确:合法的文件名应该以.java结尾/*参考步骤:1、获取文件名中最后一次出现"."号的位置2、根据"."号的位置,获取文件的后缀3、判断"."号位置及文件后缀名*///获取文件名中最后一次出现"."号的位置intindex=fileName.lastIndexOf('.');//获取文件的后缀Stringprefix=fileName.substring(index);//判断必须包含"."号,且不能出现在首位,同时后缀名为"java"if(prefix=="java"&&index!=0){System.out.println("Java文件名正确");}else{System.out.println("Java文件名无效");}//判断邮箱格式是否正确:合法的邮箱名中至少要包含"@",并且"@"是在"."之前/*参考步骤:1、获取文件名中"@"符号的位置2、获取邮箱中"."号的位置3、判断必须包含"@"符号,且"@"必须在"."之前*///获取邮箱中"@"符号的位置intindex2=email.indexOf('@');//获取邮箱中"."号的位置intindex3=email.indexOf('.');//判断必须包含"@"符号,且"@"必须在"."之前if(index2!=-1&&index3>index2){System.out.println("邮箱格式正确");}else{System.out.println("邮箱格式无效");}}}最后一次出现的位置lastIndexOf
packagecom.imooc7;publicclassClassString2{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//定义一个字符串“学习JAVA编程”Stringstr="学习JAVA编程";//将字符串转换成小写System.out.println("转换为小写:"+str.toLowerCase());//获取索引位置为1的字符System.out.println("获取索引位置为1的字符:"+str.charAt(1));//将字符串转换为byte[],并打印输出byte[]b=str.getBytes();System.out.println("转换为字节数组:");for(inti=0;i<b.length;i++){System.out.println(b[i]+"");}System.out.println();//和另外一个字符串“学习JAVA编程”进行比较Stringstr2=newString("学习JAVA编程");System.out.println("str和str2的内存地址相同?"+(str==str2));System.out.println("str和str2的内容相同?"+str.equals(str2));}}
使用了
toLowerCase()将字符串变为小写charAt()获取指定位置的字符
getBytes()将字符串转换为byte[],并打印输出

所以:
“==” 和 equals() 有什么区别呢?==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象equals(): 比较存储在两个字符串对象中的内容是否一致

字节是计算机存储信息的基本单位,1 个字节等于 8 位, gbk 编码中 1 个汉字字符存储需要 2 个字节,1 个英文字符存储需要 1 个字节。所以我们看到上面的程序运行结果中,每个汉字对应两个字节值,如“学”对应 “-47 -89” ,而英文字母 “J” 对应 “74” 。同时,我们还发现汉字对应的字节值为负数,原因在于每个字节是 8 位,最大值不能超过 127,而汉字转换为字节后超过 127,如果超过就会溢出,以负数的形式显示。

packagecom.imooc7;publicclassClassString3{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubStrings="aljlkdsflkjsadjfklhasdkjlflkajdflwoiudsafhaasdasd";//出现次数intnum=0;//循环遍历每个字符,判断是否是字符a,如果是,累加次数for(inti=0;i<s.length();i++){//获取每个字符,判断是否是字符aif(s.charAt(i)=='a'){//累加统计次数num++;}}System.out.println("字符a出现的次数:"+num);}}

更多相关文章

  1. 如何将.net DateTime作为json字符串解析为java的Date对象
  2. Google Play服务API(位置服务)是否需要数据计划?
  3. 路径提供者文档目录是一个安全的位置吗?
  4. 设置自定义Dialog的大小和位置
  5. 以编程方式将位置模式更改为高精度Android
  6. 【Based Android】android通过criteria选择合适的地理位置服务
  7. Settings点击Location(位置)后右上角的开关button不会消失
  8. android 检测字符串是否为合法域名
  9. 在android上滚动时,列表视图的位置会发生变化

随机推荐

  1. Python 中更优雅的环境变量设置方案
  2. 就想写个爬虫,我到底要学多少东西啊?
  3. 史上规模最大的中文知识图谱以及估值两个
  4. 用Python获取公众号阅读数、点赞数。
  5. 数据探索很麻烦?推荐一款史上最强大的特征
  6. 给Python初学者的最好练手项目,进来看就对
  7. 长点心吧年轻人,利率不是这么算的!我用Pyth
  8. 说说开源那些事儿
  9. 5 种方法教你用Python玩转histogram直方
  10. Android(安卓)/ OPhone开发系列教程正在