当前位置: 首页 > article >正文

Java基础Day-Thirteen

Java字符串

String类

创建String对象的方法
  • 方法一:创建一个字符串对象imooc,名为s1

    String s1="imooc";

  • 方法二:创建一个空字符串对象,名为s2

    String s2=new String();

  • 方法三:创建一个字符串对象imooc,名为s3

    String s3=new String("imooc");

String的常用方法
方法说明
int length()返回当前字符串的长度
int indexOf(int ch)查找ch字符在该字符串中第一次出现的位置
int indexOf(String str)查找str子字符串在该字符串中第一次出现的位置
int lastIndexOf(int ch)查找ch字符在该字符串中最后一次出现的位置
int lastIndexOf(String str)查找str子字符串在该字符串中最后一次出现的位置
String substring(int beginIndex)获取从beginIndex位置开始到结束的子字符串
String substring(int beginIndex,int endIndex)获取从beginIndex位置开始到endIndex位置的子字符串
String trim()返回去除了前后空格的字符串
boolean equals(Object obj)将该字符串与指定对象比较,返回true或false
String toLowerCase()将字符串转换为小写
String toUpperCase()将字符串转换为大写
char charAt(int index)获取字符串中指定位置的字符
String[] split(String regex,int limit)将字符串分割为子字符串,返回字符串数组
byte[] getBytes将该字符串转换为byte数组
        //定义一个字符串
        String str="Java 编程 基础";
        String str2=new String("JAVA编程基础,我喜欢java编程");
        
        //打印输出字符串的长度
        System.out.println("字符串的长度是:"+str.length());
        
        //取出字符‘程’并输出,chatAt(int index),index从0开始
        System.out.println(str.charAt(6));
        
        //取出子串“编程 基础”并输出
        System.out.println(str.substring(5));
        
        //取出子串“编程”并输出
        System.out.println(str.substring(5,7));
        
        //查找字符‘A’在字符串中第一次出现的位置
        System.out.println("字符‘A’在字符串中第一次出现的位置:"+str2.indexOf('A'));
        
        //查找子串‘编程’在字符串中第一次出现的位置
        System.out.println("子串‘编程’在字符串中第一次出现的位置:"+str2.indexOf("编程"));
        
        //查找字符‘A’在字符串中最后一次出现的位置
        System.out.println("字符‘A’在字符串中第一次出现的位置:"+str2.lastIndexOf('A'));
                
        //查找子串‘编程’在字符串中最后一次出现的位置
        System.out.println("子串‘编程’在字符串中第一次出现的位置:"+str2.lastIndexOf("编程"));      
    }
  • 字符串与byte数组间的相互转换

    public static void main(String[] args) throws UnsupportedEncodingException {
            //字符串和byte数组之间的相互转换
            //定义一个字符串
            String str=new String("JAVA 编程 基础");
            //将字符串转换为byte数组,并打印输出
            byte[] arrs=str.getBytes("GBK");
            for(int i=0;i<arrs.length;i++) {
                System.out.print(arrs[i]+" ");
            }
            
            System.out.println();
            //将byte数组转换为字符串
            String str1=new String(arrs,"GBK");
            System.out.print(str1);
        }
  • 等于运算符与equals方法的区别

            //==和equals方法的区别
            //定义三个字符串,内容都是imooc
            String str1="imooc";
            String str2="imooc";
            String str3=new String("imooc");
            String str4=new String("imooc");
            System.out.println("str1和str2的内容相同吗?"+(str1.equals(str2)));//true
            System.out.println("str1和str3的内容相同吗?"+(str1.equals(str3)));//true
    ​
            System.out.println("str1和str2的地址相同吗?"+(str1==str2));//true
            System.out.println("str1和str2的地址相同吗?"+(str1==str3));//false
    ​
    • str1和str2指向常量池中的同一个位置

    • str3和str4在内存中是两个不同的存储空间

  • 字符串的不可变性

            // String的不可变性
            //String对象一旦被创建,则不能修改,是不可变的
            //所谓的修改其实是创建了新的对象,所指的内存空间不变
            String s1="imooc";
            s1="hello,"+s1;
            //s1不再指向imooc所在的内存空间,而是指向了”hello,imooc“
            System.out.println("s1="+s1);
    ​
            String s2=new String("hello,imooc!");
            System.out.println("子串:"+s2.substring(0, 5));
            System.out.println("s2="+s2);

StringBuilder类

  • String和StringBuilder的区别:

    String具有不可变性,而StringBuilder不具备

  • 建议:当频繁操作字符串时,使用StringBuilder

  • StringBuilder和StringBuffer

    • 二者基本相似

    • StringBuffer是线程安全的,StringBuilder则没有,所以性能略高

        //定义一个字符串”你好“
        StringBuilder str=new StringBuilder("你好");
        //在str后面添加内容,将字符串变成”你好,imooc“
//      str.append(",");
//      str.append("imooc!");
//      System.out.println("str="+str);
        System.out.println("str="+str.append(',').append("imooc!"));
​
        //将字符串变成”你好,iMOOC!“
        //两种方式
        //1、使用delete方法删除mooc,然后插入MOOC
        System.out.println("替换后:"+str.delete(4, 8).insert(4, "MOOC"));
        //2、使用replace方法直接替换
        System.out.println("替换后:"+str.replace(4, 8, "MOOC"));
    
        //在字符串”你好,iMOOC“中取出“你好”并输出
        System.out.println(str.substring(0,2));

http://www.kler.cn/a/384056.html

相关文章:

  • 计算机网络——SDN
  • esp32记录一次错误
  • 鸿蒙开发案例:七巧板
  • 【spark面试题】RDD和DataFrame以及DataSet有什么异同
  • 系统上云-流量分析和链路分析
  • 映像?什么是映像
  • 【算法——二维动态规划】
  • 探索前端框架:为你的项目选择合适的UI工具箱
  • React native Text Webview 处理字体大小的变化
  • Docker + Jenkins + gitee 实现CICD环境搭建
  • 部署stable-diffusion3.5 大模型,文生图
  • 【计算机视觉基础】卷积
  • 智慧场馆:安全、节能与智能化管理的未来
  • 西门子S7-1200 PLC脉冲控制实例的完整流程
  • 软件著作权申请教程(超详细)(2024新版)软著申请
  • 链表面试题(C 语言)
  • 小程序中引入下载到本地的iconfont字体图标加载不出来问题解决
  • 阿里云k8s-master部署CNI网络插件遇到的问题
  • MybatisPlus入门(八)MybatisPlus-DQL编程控制
  • 《重学Java设计模式》之 工厂方法模式
  • UE5.1 控制台设置帧率
  • python-斐波那契数列
  • 【计算机网络】章节 知识点总结
  • 基于STM32的贪吃蛇游戏教学
  • ruoyi若依vue分离版前端资源打包到jar中
  • 使用python向钉钉群聊发送消息