Chiriri's blog Chiriri's blog
首页
  • Java

    • JavaSE
    • JavaEE
    • 设计模式
  • Python

    • Python
    • Python模块
    • 机器学习
  • Golang

    • Golang
    • gRPC
  • 服务器

    • Linux
    • MySQL
    • NoSQL
    • Kubernetes
  • 项目

    • 传智健康
    • 畅购商城
  • Hadoop生态

    • Hadoop
    • Zookeeper
    • Hive
    • Flume
    • Kafka
    • Azkaban
    • Hbase
    • Scala
    • Spark
    • Flink
  • 大数据项目

    • 离线数仓
  • 青训营

    • 第四届青训营
  • HTML

    • HTML
    • JavaScript
  • Vue

    • Vue2
    • TypeScript
    • Vue3
    • Uni-APP
  • 数据结构与算法
  • C语言
  • 考研数据结构
  • 计算机组成原理
  • 计算机操作系统
  • Java基础

    • Java基础
    • Java集合
    • JUC
    • JVM
  • 框架

    • Spring
    • Dubbo
    • Spring Cloud
  • 数据库

    • MySQL
    • Redis
    • Elasticesearch
  • 消息队列

    • RabbitMQ
    • RocketMQ
  • 408

    • 计算机网络
    • 操作系统
    • 算法
  • 分类
  • 标签
  • 归档
  • 导航站
GitHub (opens new window)

Iekr

苦逼后端开发
首页
  • Java

    • JavaSE
    • JavaEE
    • 设计模式
  • Python

    • Python
    • Python模块
    • 机器学习
  • Golang

    • Golang
    • gRPC
  • 服务器

    • Linux
    • MySQL
    • NoSQL
    • Kubernetes
  • 项目

    • 传智健康
    • 畅购商城
  • Hadoop生态

    • Hadoop
    • Zookeeper
    • Hive
    • Flume
    • Kafka
    • Azkaban
    • Hbase
    • Scala
    • Spark
    • Flink
  • 大数据项目

    • 离线数仓
  • 青训营

    • 第四届青训营
  • HTML

    • HTML
    • JavaScript
  • Vue

    • Vue2
    • TypeScript
    • Vue3
    • Uni-APP
  • 数据结构与算法
  • C语言
  • 考研数据结构
  • 计算机组成原理
  • 计算机操作系统
  • Java基础

    • Java基础
    • Java集合
    • JUC
    • JVM
  • 框架

    • Spring
    • Dubbo
    • Spring Cloud
  • 数据库

    • MySQL
    • Redis
    • Elasticesearch
  • 消息队列

    • RabbitMQ
    • RocketMQ
  • 408

    • 计算机网络
    • 操作系统
    • 算法
  • 分类
  • 标签
  • 归档
  • 导航站
GitHub (opens new window)
  • JavaSE

    • Java简介
    • 基础语法
    • 数据类型
    • 变量
    • 运算符
    • 输入输出
    • 流程控制
    • 循环语句
    • idea中的辅助键
    • 数组
    • 方法
    • 面向对象基础
    • 字符串
      • API
      • String
      • String 构造方法
      • String 对象的特点
      • 字符串的比较
      • 遍历字符串
      • 统计字符次数
      • StringBuilder
        • 构造方法
        • 添加和反转方法
        • 链式编程
      • String与Stringbuilder相互转换
    • ArrayList集合
    • 继承
    • 修饰符
    • 多态
    • 抽象
    • 接口
    • 类名作为形参和返回值
    • 内部类
    • Api
    • 异常
    • 集合
    • 泛型
    • Set集合和比较器
    • 树
    • 哈希
    • 可变参数
    • 创建不可变的集合
    • Stream流
    • 方法引用
    • File
    • 多线程
    • 多线程高级
    • 网络编程
    • 类加载器
    • 反射
    • XML
    • 枚举
    • 注解
    • 单元测试
    • 日志
    • HTTP协议
    • Servlet
    • 请求对象
    • 响应对象
    • Cookie
    • Session
    • JSP
    • Listener
    • JDBC
  • JavaEE

  • Linux

  • MySQL

  • NoSQL

  • Python

  • Python模块

  • 机器学习

  • 设计模式

  • 传智健康

  • 畅购商城

  • 博客项目

  • JVM

  • JUC

  • Golang

  • Kubernetes

  • 硅谷课堂

  • C

  • 源码

  • 神领物流

  • RocketMQ

  • 短链平台

  • 后端
  • JavaSE
Iekr
2021-05-09
目录

字符串

# 字符串

# API

概述 API (Application Progarmming Interface): 应用程序编程接口

sc.nextLine () 返回是一个字符串类型的值

# String

String 类在 java.lang 包下,使用的时候不需要导包

String 类代表字符串,java 中所有的字符串文字都被为此类的实例,java 中所有双引号字符串的偶数 String 类的对象

字符串不可变,它们的值在创建后不能被更改

虽然 String 的值是不可变,但它们可以被共享

字符串效果上相当于字符串数据 (char []), 但是底层原理是字节数据 (byte [])

JDK8 以前是字符数据,JDK9 及以后是字节数组

# String 构造方法

  • pubilic String () 创建一个空白字符串对象,不含有任何内容

  • pubilc String (char [] chs) 根据字符数组的内容,来创建字符串对象

  • pubilc String (byte [] bys) 根据字节数组的内容,来创建字符串对象

  • String s =“abc” 直接以赋值方式创建字符串对象

# String 对象的特点

通过 new 创建的字符串对象,每次 new 都会申请一个内存空间,虽然内存相同但内容地址不相同

以 “” 赋值方式创建的字符串对象,只有字符序列相同,jvm 都只会建立一个 String 对象,并在字符串池中维护

# 字符串的比较

使用 == 作比较

基本类型:比较的是数据值是否相同

引用类型:比较的是地址值是否相同

字符串是对象,它比较内容是否相同,是通过一个方法来实现的,这个方法叫:equals ()

  • public boolean equals (Object anObject): 将此字符串与指定对象进行比较

# 遍历字符串

根据索引获取字符串的指定字符

public char charAt(int index);
1

返回指定索引出的 char 值,字符串的索引也从 0 开始

获取字符串的长度

public int lengh(); //返回此字符串的长度
1

数组的长度:数组名.length

字符串的长度:字符串对象.length

# 统计字符次数

假如ch是一个字符,我要判断它属于大写字母,小写字母,还是数字,直接判断该字符是否在对应的范围即可
大写字母:ch>='A' && ch<='Z'
小写字母: ch>='a' && ch<='z'
数字: ch>='0' && ch<='9'
1
2
3
4

# StringBuilder

如果对字符串进行拼接操作,因为字符串是不可变类型,每次拼接都会构建一个新的 string 对象,我们可以使用 StringBuilder 类来解决浪费内存空间问题

StringBuilder 是一个可变的字符串类

# 构造方法

  • pubilc StringBuilder () 创建一个空白的可变字符串对象,没有任何内容

  • pubilc StringBuilder (String str) 根据字符串的内容,来创建可变字符串对象

# 添加和反转方法

  • public StringBuilder append (任意类型); 添加数据,并返回对象本身

  • public StringBuilder reverse (); 返回相反的字符序列

# 链式编程

如果一个对象被调用后返回对象自己本身,那么可以根据返回的对象继续调用方法

如 str.append ().append ().append ().append ();

因为 str 是 StringBuilder 对象,而 StringBuilder 对象的 append 方法是添加数据后并返回对象本身,所以可以写为链式编程

# String 与 Stringbuilder 相互转换

  • public String toString () 通过 tostring () 可以把 stringbuilder 转换为 string

  • pubilc stringbuilder (string s) 通过构造方法可以实现把 string 转换为 stringbuilder

编辑 (opens new window)
上次更新: 2023/12/06, 01:31:48
面向对象基础
ArrayList集合

← 面向对象基础 ArrayList集合→

最近更新
01
k8s
06-06
02
进程与线程
03-04
03
计算机操作系统概述
02-26
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Iekr | Blog
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式