`
想学跑的猪
  • 浏览: 15348 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员_字符串

阅读更多

 

 ------- android培训java培训、java基础学习技术总结、期待与您交流! ----------

    

  与字符串相关的类,有String、StringBUffer、StringBuilder。

     String类。

        1.创建String类型对象   String str=new String("abcdefghdef");

       2.下面是String类中常见的一些方法

    public class Test {  
              public static void main(String []args){  
                  String str=new String("abcdefghdef");//定义一个字符串并对其进行初始化  
                  //1.获取  
                  int len=str.length();     //获取字符串str的长度  
                  char ch=str.charAt(3);    // 获取字符串str中位置为3的字符  
                  int i1=str.indexOf('d');  //获取第一次出现字符d的位置  
                  int i2=str.indexOf("def");    //获取字符串str中第一次出现字符串def的位置  
                  int i3=str.indexOf('d', 4);    //获取字符串str中从位置4开始第一次查找到d的位置  
                  int i4=str.indexOf("def", 4);   //获取字符串str中从位置4开始第一次查找到def的位置  
          
                  //2.判断  
                  boolean b1=str.contains("def");    // 判断字符串中是否包含字符串def  
                  boolean b2=str.isEmpty();          //判断字符串是否为空  
                  boolean b3=str.startsWith("abc");   //判断是否以指定字符串开头                               //  
                  boolean b4=str.endsWith("def");       //判断是否以指定字符串结尾  
                  boolean b5=str.equals("abcdef");      //判断字符串与字符串是否相同  
                  //3.转换  
                  char[] chs=new char[]{'a','b','c','d','e'};  
                  String str1=new String(chs);           
                  str1=new String(chs,0,chs.length);   //将指定的字符数组的一部分转换成字符串  
                  char[] chs1=str1.toCharArray();      //将字符串转换成字符数组  
                  byte[] by=str1.getBytes();             //将字符串转化成字节数组  
                  //4.替换  
                  String str2=str.replace('d', 'a');    //将字符串中字符d全部替换成a  
                  //5.切割String[] split(regex);  
                  //6.截取  
                  String str3=str.substring(2,4);        //将字符串str中从2到4的字符截取并付给str3  
                  //7.转换  
                  str.toLowerCase();        //字符串中字符大写转换为小写  
                  str.toUpperCase();        //字符串中字符小写转换为大写  
                  str.trim();               //去除字符串两端的空格  
                  str.compareTo(str1);       //对两个字符串按顺序进行自然比较  
               }  
    }  

 
           3.在程序中只要是用双引号括起来的的都是String类型的对象,String类是final类,String类对象一旦被创建,对象值是不可变的。对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.

 

      

   StringBuffer:是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象
   它只能通过构造函数来建立,
    StringBuffer sb = new StringBuffer();
    note:不能通过付值符号对他进行付值.
    sb = "welcome to here!";//error
   对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.向StringBuffer
   中付值的时候可以通过它的append方法.
   sb.append("hello");

   字符串连接操作中StringBuffer的效率要比String高:

  String str = new String("welcome to ");
  str += "here";
  的处理步骤实际上是通过建立一个StringBuffer,然后调用append(),最后
  再将StringBuffer toString();
  这样的话String的连接操作就比StringBuffer多出了一些附加操作,当然效率上要打折扣.

   并且由于String 对象是不可变对象,每次操作Sting 都会重新建立新的对象来保存新的值.
  这样原来的对象就没用了,就要被垃圾回收.这也是要影响性能的.
 StringBuffer 和StringBuilder的区别:
    java.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。
    StringBuilder。与该类相比,通常应该优先使用 java.lang.StringBuilder类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。
2
6
分享到:
评论

相关推荐

    黑马程序员_(适合初学者入门的Java基础视频)

    7. **字符串处理**:详细解析String类,包括字符串的创建、操作和比较,以及StringBuilder和StringBuffer的使用。 8. **多线程**:介绍线程的概念,讲解如何创建和控制线程,以及同步机制,如synchronized关键字和...

    黑马程序员_Java基础辅导班教程课件[第01期]第13天

    5. **字符串**:深入学习String类的常用方法,以及如何操作字符串。 6. **异常处理**:介绍如何使用try-catch语句捕获和处理运行时错误。 7. **IO流**:教授输入输出流的使用,包括文件读写、对象序列化和反序列化等...

    黑马程序员_2小时教你写一个安卓程序[第03天]课件源码

    在本课程中,“黑马程序员”将引导我们逐步学习如何在短短两小时内编写一个基础的安卓应用程序。这是一门针对初学者的安卓编程教程,重点在于快速掌握安卓开发的基础概念和实践技能。第03天的课件源码包含了构建安卓...

    黑马程序员_struts2框架2016版视频_struts2_day01笔记

    - **commons-lang3**: 提供字符串和数据操作的公共方法。 - **javassist**: 字节码操作库。 #### 1.4 Struts2入门理论 **JavaEE设计模式** 对于理解Struts2的工作原理非常重要。其中,**前端控制器模式**是Struts2...

    黑马程序员_hibernate框架开发2016版讲义和笔记资料_day03

    同时,Criteria API提供了一种动态构建查询的方式,无需书写字符串,更易避免SQL注入。 5. 引入懒加载和级联操作:懒加载是Hibernate优化性能的重要手段,通过延迟加载策略,只有在真正需要时才加载关联对象。级联...

    黑马程序员_毕向东_Java基础视频教程第18天-11-IO流(文本文件读取方式二).zip

    5. **Scanner的其他功能**:`Scanner`不仅限于读取文本文件,还可以处理标准输入(System.in)、字符串、数值类型等。它提供了多种方法如`nextInt()`、`nextDouble()`、`nextBoolean()`等,方便地读取不同类型的数据...

    B站黑马程序员Python教程学习笔记.zip

    在B站黑马程序员的Python教程中,你将深入理解Python的基础概念,包括: 1. **变量与数据类型**:Python支持多种数据类型,如整型(int)、浮点型(float)、字符串(str)和布尔型(bool)。此外,还有列表(list...

    毕向东13字符串01

    在第一部分“黑马程序员_毕向东_Java基础视频教程第13天-01-String(概述).avi”中,讲解了字符串的基础知识。字符串在Java中是不可变的对象,这意味着一旦创建,就不能改变其内容。它们是通过`String`类或`...

    黑马程序员Python视频中代码、课后习题等第二章内容

    在“黑马程序员Python视频中代码、课后习题等第二章内容”这个资源包中,我们聚焦于Python编程语言的学习,特别是第二章的核心知识点。这一章通常会涵盖基础语法和重要概念,对于初学者来说是至关重要的。下面,我们...

    黑马程序员入学面试题

    - `StringBuffer`:线程安全的可变字符串,适合多线程环境下的字符串操作。 - `StringBuilder`:非线程安全的可变字符串,效率高于StringBuffer。 #### 39. 集合 Java集合框架提供了丰富的数据结构,包括List、Set...

    黑马程序员基础测试题答案

    1、 编写一个函数,函数内输出一个字符串,并在主函数内调用它。 2、 编写程序计算12+22+32+....+1002的和. 3、 以下代码哪个是正确的?为什么? a. byte b = 1 + 1; b. byte b = 1; b = b + 1; c. byte b = 1;...

    字符串1303

    - `黑马程序员_毕向东_Java基础视频教程第13天-06-String(字符串练习1).avi`可能包含对上述概念的实践应用和练习题解答。 - `黑马程序员_毕向东_Java基础视频教程第13天-05-String(常见功能-比较和去除空格).avi`...

    前端学习笔记-黑马程序员JS

    "前端学习笔记-黑马程序员JS" 本资源主要介绍了 JavaScript 的基本概念和语法,包括变量、数据类型、运算符、流程控制、数组、函数、对象、内置对象等知识点。 变量 在 JavaScript 中,变量可以在三种位置书写:...

    黑马程序员入学Java精华总结

    ### 黑马程序员入学Java精华总结 #### 一、Java概述与基础知识 1. **何为编程?** - 编程是指通过编写计算机能够理解的指令来解决问题或完成特定任务的过程。这些指令通常被组织成算法,并使用某种编程语言实现。...

    C# 黑马程序员视频 简单记事本

    在这个“C#黑马程序员视频简单记事本”项目中,我们看到的是一个基础教学资源,旨在教授初学者如何使用C#构建一个简单的记事本程序。虽然描述中提到这个视频可能缺失了一部分,但提供的代码可以作为补充学习材料。 ...

    【黑马面试宝典】虐面试官神器之必备黑马程序员面试宝典V2.51

    "【黑马面试宝典】虐面试官神器之必备黑马程序员面试宝典V2.51"是为准备面试的程序员提供的一份宝贵的资源,它涵盖了JavaSE基础、面向对象、多态以及异常处理等多个核心知识点。本文将详细解析这些内容,帮助你更好...

    字符串1306

    在本教程"字符串1306"中,我们将深入学习Java中的字符串处理,特别是通过`StringBuffer`类来实现字符串的高效修改和管理。本教程对应于Java基础视频教程的第13天,由知名教育机构黑马程序员的讲师毕向东讲解。 首先...

    字符串1302

    在Java编程语言中,字符串(String)是一个至关重要的概念,它被广泛用于数据...在观看“黑马程序员_毕向东_Java基础视频教程第13天-02-String(常见功能-获取和判断).avi”时,建议结合实例进行练习,加深理解和记忆。

    黑马程序员Python视频中代码、课后习题等第三章内容

    在“黑马程序员Python视频中代码、课后习题等第三章内容”这个资源包中,我们聚焦于Python编程语言的学习,特别是围绕第三章的主题展开。Python作为一种高级编程语言,以其简洁明了的语法和强大的功能深受程序员喜爱...

Global site tag (gtag.js) - Google Analytics