java学习笔记11

20. 字符串类

  • 字符串是指一连串的字符,它是由许多单个字符连接而成。
  • 字符串可以包含任意字符,这些字符必须包含在一对双引号""之内,例如:“abc”.
  • java中封装了3个字符串类,分别是String类、StringBuffer类、StringBuilder类,都在java.lang包中。

20.1 String类的初始化

  • 使用字符串方法前,首先要创建字符串对象,java可以使用2种方式创建字符串对象
    • 使用字符串常量创建对象
    • 使用构造方法创建对象
20.1.1 使用字符串常量初始化
String str1 = "abc";

​ 这种方法用于创建并初始化String对象,比较常用,其中"abc"表示字符串常量,在内存中是不可修改的。

20.1.2 使用构造方法初始化
  • String类常见的构造方法如下表所示:
方法声明功能描述
String()创建一个内容未空的字符串
String(String value)根据指定的字符串value创建对象
String(char[] value)根据指定的字符数组创建对象
String(byte[] value)通过使用平台的默认字符集解码指定的字节数组来构造新的对象
String(byte[] bytes, Charset harset)由指定的字节数组构造一个新的String并指定解码字符集charset
  • 以下是使用构造方法创建字符串对象

    /*** 使用构造方法创建String对的方法** @author root*/public void stringDemo() {// 1. 创建空字符串对象String str = new String();// 2. 创建内容为abcd的字符串对象String str1 = new String("abcd");// 3. 使用字符数组创建字符串对象char[] chars = {'a', 'b', 'c'};String str2 = new String(chars);// 4. 使用字节数组创建字符串对象byte[] bytes = {97, 98, 99};String str3 = new String(bytes);// 5. 使用字节数组创建字符串对象, 同时指定字符集String str4 = new String(bytes, StandardCharsets.UTF_8);System.out.println("str=" + str); // str=System.out.println("str1=" + str1); // str1=abcdSystem.out.println("str2=" + str2); // str2=abcSystem.out.println("str3=" + str3); // str3=abcSystem.out.println("str4=" + str4); // str4=abc}
    

20.2 String类的常见操作

​ 在实际的开发中,String类对象应用是否广泛,同时对字符串的操作也非常重要。下表是String类常用的一些方法:

表20-1 String类常用方法
方法声明功能描述
int indexOf(int ch)返指定字符ch在字符串中第一次出现位置的下标
int lastIndexOf(int ch)返指定字符ch在字符串中最后一次出现位置的下标
int indexOf(String str)返指定字符串str在字符串中第一次出现位置的下标
int lastIndexOf(String str)返指定字符串str在字符串中最后一次出现位置的下标
char charAt(int index)返指符串下标为index的字符,index=[0, str.length()-1]
boolean endsWith(String suffix)判断字符串是否是以指定字符串suffix结尾
boolean equals(Object anObject)判断字符串和anObject字符串的内容是否相等
int length()返回字符串长度
boolean isEmpty()如果字符串长度为0返回true, 否则返回false
boolean startsWith(String prefix)判断字符串是否是以指定字符串prefix开头
boolean contains(CharSequence s)判断字符串是否包含指定字符串序列s
String toLowerCase()字符串转小写字符
String toUpperCase()字符串转大写字符
char[] toCharArray()转换字符串为char数组
static String valueOf(Object obj)将对象obj转换为字符串
static String format(String format, Object… args)使用指定的转换字符串对args参数进行格式化
String replace(CharSequence target, CharSequence replacement)返回一个新字符串,是通过replacement替换所有target得到的
String[] split(String regex)根据参数regex将原来的字符串分割成若干字符串数组
String substring(int beginIndex, int endIndex)截取下标[beginIndex, endIndex)范围的子字符串
String trim()返回去除首尾空格的新字符串
20.2.1 字符串的获取功能
  • 下面的程序是字符串获取的操作,如获得字符串长度,获得指定位置的字符等。

      public void stringDemo1() {String str = "ababcdedcba";// 1. 获得字符串长度System.out.println("字符串长度为: " + str.length()); // 字符串长度为: 11// 2. 获得指定位置的字符System.out.println("字符串中第一个字符为: " + str.charAt(0)); // 字符串中第一个字符为: a// 3. 获得字符首次出现的下标System.out.println("字符串中第一个c字符的下标为: " + str.indexOf('c')); // 字符串中第一个c字符的下标为: 4// 4. 获得字符最后出现的下标System

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/5836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

孤独的城市公路(增加开始结束页面)

致敬 裴总 缺点 没有一个车没有背景音乐后期都会添加 为什么裴总良心 裴总真良心 还有音乐 还是3D 还有开始按钮 还能game 还有结尾 还有结尾提示 import arcadeSCREEN_WIDTH 700 SCREEN_HEIGHT 700 SCREEN_TITLE "孤独的城市公路" MOVEMENT_SPEED 5 …

go http框架下的静态资源代理实现(压缩,缓存验证自定义)

之前在这一篇文章里说了我的第一版静态资源代理,后面我又完善了一下: 上一种方案的问题: 首页未加入自定义代理中依赖了gin框架的file()方法反复访问本地文件,访问文件系统是很消耗性能的 所以本次我做了改进,思路是…

0418EmpTomCat项目 初次使用ajax实现局部动态离职

0418EmpTomCat项目包-CSDN博客 数据库字段: 员工部门表 分页查询; 多条件查询; 添加新员工; ajax点击离职操作效果:

【CTF Web】BUUCTF BUU CODE REVIEW 1 Writeup(代码审计+PHP弱类型漏洞+MD5的0e绕过+反序列化)

BUU CODE REVIEW 1 1 https://github.com/glzjin/buusec_2019_code_review_1 解法 <?php /*** Created by PhpStorm.* User: jinzhao* Date: 2019/10/6* Time: 8:04 PM*/highlight_file(__FILE__);class BUU {public $correct "";public $input ""…

Fabric,一个简洁远程系统管理Python库

Fabric,一个简洁远程系统管理Python库&#xff01; 什么是 Fabric 库&#xff1f; Fabric 是一个 Python 库,用于简化远程系统管理和部署任务的执行.它提供了一种简洁的方式来定义并运行SSH 命令,使得管理远程服务器变得更加高效和便捷. 安装与使用 # 通过 pip 来安装 Fabri…

动态数据结构中的表扩张性:摊还分析、伪代码与C语言实现

动态数据结构中的表扩张性&#xff1a;摊还分析、伪代码与C语言实现 引言表扩张性的概念摊还分析在表扩张性中的应用伪代码示例&#xff1a;TABLE-INSERT操作C语言实现结论 引言 在处理数据结构时&#xff0c;尤其是表&#xff08;或数组&#xff09;&#xff0c;我们经常面临…

Idea报错:无法访问org.springframework.boot.SpringApplication

在开发项目时&#xff0c;常常会遇到这种问题&#xff0c;报错信息如下图所示 版本号与jdk版本号存在对应关系&#xff0c;61.0对应jdk17&#xff0c;52.0对应jdk8 所以是某个依赖的版本太高&#xff0c;降低该依赖的版本即可 具体步骤&#xff1a; ①修改pom.xml中spring b…

【linuxC语言】exec函数族

文章目录 前言一、exec函数族二、示例代码2.1 代码12.2 代码22.3 代码3 总结 前言 在Linux环境下&#xff0c;C语言提供了一组强大的函数族&#xff0c;即exec函数族&#xff0c;用于执行其他程序。这些函数允许程序在运行时加载并执行不同的程序&#xff0c;从而实现了程序之…

使用docker部署nacos2.2.3单节点

docker部署nacos2.2.3 首先nacos要配合mysql进行初始化数据&#xff0c;部署一个mysql5.7版本的。 systemctl stop firewalld && setenforce 0 关闭防火墙和selinuxdocker pull mysql:5.7 && docker pull nacos/nacos-server:v2.2.3 拉取镜像docker …

redis中的集群模式

主从复制、主从同步(解决高并发读的问题) 主从同步原理&#xff1a; 1.全量同步 slave&#xff08;从节点&#xff09;每次请求数据同步会带两个参数&#xff1a;replid和offset。 replid&#xff1a;第一次请求同步时&#xff0c;replid和master的replid不一样&#xff0c;这…

Git Commit命令撤销操作

Git Commit命令撤销操作 在某些时候&#xff0c;通过git commit命令讲代码提交到了暂存区&#xff0c;但还未推送至远程仓库需要进行撤销&#xff0c;可以使用git reset命令来完成 文章目录 Git Commit命令撤销操作1. git commit 撤销操作2. 撤销多次想回到某一次撤销 1. git c…

探索AI工具的巅峰:个人体验与深度剖析

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

[C++] 类和对象 _ 剖析构造、析构与拷贝

一、构造函数 构造函数是特殊的成员函数&#xff0c;它在创建对象时自动调用。其主要作用是初始化对象的成员变量&#xff08;不是开辟空间&#xff09;。构造函数的名字必须与类名相同&#xff0c;且没有返回类型&#xff08;即使是void也不行&#xff09;。 在C中&#xff0…

Vue2动态添加属性方式

Vue2不允许在已经创建的实例上动态添加新的响应式属性;若想实现数据与视图同步更新&#xff0c;可采取下面两种解决方案&#xff1a; 1.使用Vue.set&#xff0c;里面的参数是Vue.set(target,index, value) // 部分代码 export default {data() {return {info: {username: ala…

【Canvas技法】流星雨的实现

【关键点】 流星的绘制&#xff0c;本质上还是绘制一条直线&#xff0c;但在渲染上有差别。 通常绘制直线都是给的固定颜色&#xff0c;绘制流星给的是渐变色&#xff0c;渐变色的开头是与背景色对比度明显的亮色&#xff0c;结尾是与背景色相同的暗色&#xff0c;中间渐变过…

Vue---router实现路由跳转

Vue—router实现路由跳转 目录 Vue---router实现路由跳转基本使用路由跳转html实现路由跳转JS实现路由跳转 基本使用 所谓路由&#xff0c;就是将一个个组件映射到不同的路由url中 首先要将App内的内容换成router-view // App.vue <template><div id"app"…

区间预测 | PSO-RF-KDE的粒子群优化随机森林结合核密度估计多变量回归区间预测(Matlab)

区间预测 | PSO-RF-KDE的粒子群优化随机森林结合核密度估计多变量回归区间预测&#xff08;Matlab&#xff09; 目录 区间预测 | PSO-RF-KDE的粒子群优化随机森林结合核密度估计多变量回归区间预测&#xff08;Matlab&#xff09;效果一览基本介绍程序设计参考资料 效果一览 基…

【八股】UML 2的基础结构和上层结构

UML&#xff08;统一建模语言&#xff09;是一种广泛使用的建模语言&#xff0c;用于软件工程中的系统设计。UML 2是UML的一个重要版本&#xff0c;它扩展了原有的功能&#xff0c;提供了更加丰富和灵活的建模能力。UML 2的结构可以分为两部分&#xff1a;基础结构&#xff08;…

C++ //练习 14.8 你在7.5.1节的练习7.40(第261页)中曾经选择并编写了一个类,为它定义一个输出运算符。

C Primer&#xff08;第5版&#xff09; 练习 14.8 练习 14.8 你在7.5.1节的练习7.40&#xff08;第261页&#xff09;中曾经选择并编写了一个类&#xff0c;为它定义一个输出运算符。 环境&#xff1a;Linux Ubuntu&#xff08;云服务器&#xff09; 工具&#xff1a;vim 代…

WPF中Nlog的使用--能够提取Nlog的日志内容,并定义使用

背景 使用Nlog日志进行本地文件输出,以及进行定时清理删除参考其他文章 在用户本地计算机上进行Nlog输出,或者使用Web的Http的Post请求输出到后端数据库使用File或者Web的数据类型就可以了,但是我这里希望把我的日志进行输出到自己的云端,但是存在如下情况: 1、用户在一天…