1. API

1.1 API概述

2. String

String常用类的常用方法

String字符串变量的创建:

声明:     String 变量名;

String str;

声明并初始化:  String 变量名="初始值";

String str = "挨点博客";

String常用方法:

1、int length();  语法:字符串变量名.length();  返回值为 int 类型。得到一个字符串的字符个数(中、英、空格、转义字符皆为字符,计入长度)

2、char charAt(值);  语法 :字符串名.charAt(值);  返回值为 char 类型。从字符串中取出指定位置的字符

3、char  toCharArray();  语法 :字符串名.toCharArray();  返回值为 char 数组类型。将字符串变成一个字符数组

4、int indexOf("字符")  语法 :字符串名.indexOf("字符");字符串名.indexOf("字符",值);查找一个指定的字符串是否存在,返回的是字符串的位置,如果不存在,则返回-1 。

    in lastIndexOf("字符") 得到指定内容最后一次出现的下标

5、toUpperCase();  toLowerCase();字符串大小写的转换

6、String[] split("字符")  根据给定的正则表达式的匹配来拆分此字符串。形成一个新的String数组。

7、boolean equals(Object anObject)  语法 :字符串变量名.wquals(字符串变量名);  返回值为布尔类型。所以这里用 if 演示。比较两个字符串是否相等,返回布尔值

8、trim();  去掉字符串左右空格  replace(char oldChar,char newChar);新字符替换旧字符,也可以达到去空格的效果一种。

9、String substring(int beginIndex,int endIndex)  截取字符串

10、boolean equalsIgnoreCase(String) 忽略大小写的比较两个字符串的值是否一模一样,返回一个布尔值

11、boolean contains(String) 判断一个字符串里面是否包含指定的内容,返回一个布尔值

12、boolean startsWith(String)  测试此字符串是否以指定的前缀开始。返回一个布尔值

13、boolean endsWith(String)  测试此字符串是否以指定的后缀结束。返回一个布尔值

14、上面提到了replace方法,接下继续补充一下  String replaceAll(String,String) 将某个内容全部替换成指定内容,   String repalceFirst(String,String) 将第一次出现的某个内容替换成指定的内容

2.1 String概述

2.2 String构造方法

Java中的String构造方法
常见的几种

代码示例:

运行结果:

2.3 String对象的特点

String在内存中的过程:
main方法执行

String s1出现在栈内存中

在堆内存中new一片字符空间,将数组chs(001)赋值给s1(002),s1就指向chs。

和上面一样,先在栈内存中存放s2,后在堆内存中new一片空间(003),最后将chs(001)赋值给s2(003)

s1和s2比较是不相同的,因为两个对象的地址是不相同的,输出false

将String s3存放在栈内存中,值(“abc”)存放在堆内存中的常量池(004)中

String s4存放在栈内存中,因为它的值(“abc”)和s3的值是一模一样的,所以它的值也是常量池中的004(“abc”)

比较s3和s4,因为两个对象的地址是相同的,所以输出true

比较s1和s3,因为两个对象的地址是不相同的,所以输出false

2.4 字符串的比较

代码示例:

运行结果:

2.4.1 字符串的遍历

代码示例:

运行结果:

2.5 通过帮助文档查看String中的方法

3. StringBuilder

3.1 StringBuilder概述

先执行main方法,然后String s,常量池中添加"hello",s +=“wordl”;=s = s + “word”;常量池中没有word创建一个。

输出"helloword"

.但是

StringBuilder概述

3.2 StringBuilder的构造方法

3.3 StringBuilder的添加和反转

代码示例:

因为sb.append(“hello”)返回的是对象自己,所以这行代码也是StringBuilder sb2 = sb;但是这个sb对象是有值(hello)的。
所以他俩都是hello,比较也是相同的

因为append返回的是对象本身,所以我们完全可以不用对象接受。

运行结果:

我们还可以采用另一种方法叫做链式编程
因为append返回的是对象本身,所以我们还可以使用方法。

运行结果:

也是一样的。

3.4 StringBuilder和String相互转换

为什么要相互转换?
因为StringBuilder有两个比较好用的方法,一个是append和revers,而String想使用这个两个方法是直接使用不了的。
所以我们要把StringBuilder转为String,使用完后我们还要将String转为StringBuilder。

代码示例,将StringBuilder转化为String:

运行结果:

代码示例,将String转化为StringBuilder:

运行结果:

3.5 通过帮助文档查看StringBuilder中的方法

4. StringBuffer

StringBuffer对象则代表一个字符序列可变的字符串,当一个StringBuffer被创建以后,通过StringBuffer提供的append()、insert()、reverse()、setCharAt()、setLength()等方法可以改变这个字符串对象的字符序列。一旦通过StringBuffer生成了最终想要的字符串,就可以调用它的toString()方法将其转换为一个String对象。

StringBuffer b = new StringBuffer("123");
b.append("456");
// b打印结果为:123456
System.out.println(b);

5. String、StringBuffer和StringBuilder的区别

String、StringBuffer和StringBuilder的区别

区别02

Java基础00-字符串14的更多相关文章

  1. java基础练习 字符串,控制流,日历,日期等

    1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...

  2. 再回首,Java温故知新(八):Java基础之字符串

    字符串是Java中使用频率最高的类,但是它却不属于基本类型,而是预定义了String类来表示.从String类的源码可以看到,String是基于char[]实现的,而且Java中的String是不可变 ...

  3. Java基础(00)

    Java发展史 Java之父:詹姆斯.高斯林(James Gosling). SUN(Stanford University Network 斯坦福大学网络公司)产物. 1995年5月23日,java ...

  4. Java基础 -- 连接字符串时,使用+还是StringBuilder

    结论 1-源代码中使用的+连接,实际上都使用的是StringBuilder. 2-用jad工具反编译,好处之一就是可以同时生成字节码和源代码.这样可以进行对照研究. ----------------- ...

  5. 【Java基础】【14正则表达式&常用工具类】

    14.01_常见对象(正则表达式的概述和简单使用) A:正则表达式 是指一个用来描述或者匹配一系列符合某个语法规则的字符串的单个字符串.其实就是一种规则.有自己特殊的应用. 作用:比如注册邮箱,邮箱有 ...

  6. Java基础篇--字符串处理(StringBuffer)

    字符串处理 在Java中最常将字符串作为String类型对象来处理.同时String中也提供了很多操作字符串的函数(可自行查阅资料),而本篇将介绍StringBuffer如何操作字符串. String ...

  7. JAVA基础,字符串

    字符串String(一个字符数组,常量,不可变): 1. 创建并初始化字符串: 1). 使用字符串常量直接初始化 String s="hello!"; 2). 使用构造方法创建并初 ...

  8. java基础4_字符串

    一 字符串 Java字符串关键字是String,是一个类,创建新的字符串即创建一个新的对象. 1.字符串的声明及初始化. String str; //只做声明 String str1="aa ...

  9. Java基础知识强化14:Java死亡竞赛题目解析

      一个小型网站上发布了一个称为Java“死亡竞赛”的新项目.测验发布后,超过20000位开发者参加了测验.网站以20道关于Java的多选题为主.我们得到了众多开发者的测验统计数据,今天,我们非常乐意 ...

  10. JAVA基础之字符串和面向对象

    * [String 类] * 1. String类位于java.lang包中,java.lang是java的语言包,使用时无须导包,自动导入. * * 2.拿到一个字符串对象: * ①字面量声明:St ...

随机推荐

  1. OpenCV 查找轮廓

    本文将结合实例代码,介绍 OpenCV 如何查找轮廓.获取边界框. 代码: contours.py OpenCV 提供了 findContours 函数查找轮廓,需要以二值化图像作为输入.并指定些选项 ...

  2. 分布式调度任务-ElasticJob

    一:问题的引出与复现 在一个风和日丽的工作日,公司运营发现系统的任务数据没有推送执行,整个流程因此停住了.我立马远程登陆服务器,查看日志,好家伙,系统在疯狂的打印相同的一段日志:c.d.d.j.i.e ...

  3. h264和h265多维度区别

    h264和h265多维度区别 1.  概述 h265旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽即可播放相同质量的视频,很多朋友不知道h264和h265如何区别,下面让我们一起来了解一下 ...

  4. 如何在框架外部自定义C++ OP

    如何在框架外部自定义C++ OP 通常,如果PaddlePaddle的Operator(OP)库中没有所需要的操作,建议先尝试使用已有的OP组合,如果无法组合出您需要的操作,可以尝试使用paddle. ...

  5. MinkowskiEngine基准测试

    MinkowskiEngine基准测试 介绍卷积层和小型U网络的前馈和后馈通过时间.可以将具有相同张量步幅,步幅和内核偏移的内核映射重新用于其他层,可以在大型nueral网络中使用的所有层上,分摊此页 ...

  6. MinkowskiNonlinearities非线性

    MinkowskiNonlinearities非线性 MinkowskiReLU class MinkowskiEngine.MinkowskiReLU(*args, **kwargs) __init ...

  7. 短波红外(SWIR)相机camera

    短波红外(SWIR)相机camera AVs Can't Drive Everywhere. Can TriEye's SWIR Camera Help? TriEye的短波红外(SWIR)摄像机能否 ...

  8. Python分析离散心率信号(下)

    Python分析离散心率信号(下) 如何使用动态阈值,信号过滤和离群值检测来改善峰值检测. 一些理论和背景 到目前为止,一直在研究如何分析心率信号并从中提取最广泛使用的时域和频域度量.但是,使用的信号 ...

  9. python常识系列14-->正则表达式基础之re模块

    前言 勤奋的含义是今天的热血,而不是明天的决心,后天的保证. 一.正则表达式是什么? 描述了一种字符串匹配的模式(pattern) 功能一:用来检查一个字符串串是否含有某种子字符串 功能二:将匹配的子 ...

  10. 重新整理 mysql 基础篇————— mysql 事务[三]

    前言 简单整理一下事务. 正文 事务有四大特性: 1.原子性(atomicity) 一个事务必须被视为一个不可分割的最小单元. 2.一致性(consistency) 数据库总是从一个一致性的状态转换到 ...