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. 开源项目核心商城(CoreShop)

    帮小伙伴推一下他的开源项目作者是@大灰灰 核心商城(CoreShop)Beta 支持可视化布局的.Net小程序商城 [![star](https://gitee.com/CoreUnion/CoreS ...

  2. 面阿里P7,竟问这么简单的题目?

    关于作者:程序猿石头(ID: tangleithu),来自十八县贫困农村(查看我的逆袭之路),BAT某厂P7,是前大疆(无人机)技术主管,曾经也在创业公司待过,有着丰富的经验. 本文首发于微信公众号, ...

  3. nologin用户执行命令

    使用su su -s 是指定shell,这里www用户是nologin用户,是没有默认的shell的,这里指定使用/bin/bash, -c 后面接需要运行的命令, 后面www是用www用户来运行 s ...

  4. 10分钟内基于gpu的目标检测

    10分钟内基于gpu的目标检测 Object Detection on GPUs in 10 Minutes 目标检测仍然是自动驾驶和智能视频分析等应用的主要驱动力.目标检测应用程序需要使用大量数据集 ...

  5. C++ folly库解读(三)Synchronized —— 比std::lock_guard/std::unique_lock更易用、功能更强大的同步机制

    目录 传统同步方案的缺点 folly/Synchronized.h 简单使用 Synchronized的模板参数 withLock()/withRLock()/withWLock() -- 更易用的加 ...

  6. npm install 动不动卡住咋办?

    Hello 我是大粽子 孩子静消消,必定在作妖.我这三天静消消,也是在憋大招. 提前预告下,最近和视频号的文档正在较劲,剩下的功能大家猜猜.暂时没有留言功能,可以私信回复,猜对的下次购买时提我大名10 ...

  7. Java学习——强调一下编程风格

    讲完了Java的基础语法,大家就可以编写简单的程序代码了,这里有必要强调一下编程风格. 代码风格虽然不影响程序的运行,但对程序的可读性却非常重要.自己编写的程序要让别人看懂,首先在排版方面要非常注意. ...

  8. 关于web移动端定位

    最近在做一个搜索附近3公里所有超市信息(已经录入数据库的超市信息)的功能.思路很简单只是获取用户当前地理位置(经纬度),通过sql语句筛选出3公里范围内的所有超市信息,然后传递到前台页面展示出来.但是 ...

  9. 拦截导弹(CDQ分治,DP)

    很好的题,值得细细说,(果然又是个假期望)....... 首先我们提取信息,显然这是个三维偏序问题 用简单的DP式子表示需要满足 f[i]=max(f[1--j]+1)(v[j]<v[i],h[ ...

  10. bzoj1925 地精部落

    神题! 地精部落 内存限制:128 MiB 时间限制:1000 ms 标准输入输出     题目描述 传说很久以前,大地上居住着一种神秘的生物:地精. 地精喜欢住在连绵不绝的山脉中.具体地说,一座长度 ...