当前位置: 首页 > news >正文

Java第二阶段---16字符串---第一节 String

1.特性介绍

String 类位于 java.lang 包中,无需引入,直接使用即可。

String 类是由 final 修饰的,表示String 类是一个最终类,不能够被继承。

String 类构建的对象不可再被更改

示例

package com.cyx.string;public class Example1 {public static void main(String[] args) {//当使用一个字面量给字符串赋值时,首先会去字符串常量池中检测是否存在这个字面量。如果存在//则直接使用这个字面量的地址赋值即可。如果不存在,则需要再字符串常量池中创建这个字面量,然后//再将地址赋值过去即可。String s = "超用心";s += "在线教育";//这里的字符串拼接动作发生在堆内存上System.out.println(s);}}

2.常用构造方法

public String(String original); public String(char value[]); public String(char value[], int offset, int count); public String(byte bytes[]); public String(byte bytes[], int offset, int length); public String(byte bytes[], Charset charset); 

示例

package com.cyx.string;import java.nio.charset.Charset;public class Example2 {public static void main(String[] args) {String s ="超用心在线教育";System.out.println(s);//如果有上面的代码的话 下面代码就只创建一个对象 因为常量池有已有对象了//这里会创建两个对象:一个是字面量会在常量池中创建一个对象,//另一个是new String("")构造方法创建出来的对象String s1 = new String("超用心在线教育");System.out.println(s1);char[] values = {'a','d','m','i','n'};String s2 = new String(values);System.out.println(s2);//在使用这个构造方法时必须要考虑到数组下标越界的可能性String s3 = new String(values,1,3);//offset代表跳过 count代表跳过之后数几个System.out.println(s3);//字节可以存储整数,字符也可以使用整数表示,这个整数就是ASCII码对于的整数值byte[] bytes = {97,98,99,100,101,102};String s4 = new String(bytes);System.out.println(s4);String s5 = new String(bytes,2,3);System.out.println(s5);Charset charset = Charset.forName("UTF-8");//构建UTF-8字符集String s6 = new String(bytes,charset);//代表 bytes 使用的是UTF-8字符集System.out.println(s6);}}

3. 常用方法

获取长度

public int length(); //获取字符串的长度    

字符串比较

public boolean equals(Object anObject);//比较两个字符串是否相同 
public boolean equalsIgnoreCase(String anotherString);//忽略大小比较两个字符串是 否相同

字符串大小写转换

public String toLowerCase();//转换为小写 
public String toUpperCase();//转换为大写

示例

package com.cyx.string;public class Example3 {public static void main(String[] args) {    String s1 = "超用心在线教育";int length = s1.length();//获取字符串的长度System.out.println(length);String s2 = "abc";String s3 = "abc";String s4 = "ABC";System.out.println(s2 == s3);//字符串之间进行比较时,首先会查看两个字符串的长度是否一致,如果一致,再看其中的每一个字符是否相同System.out.println(s2.equals(s3));System.out.println(s2.equals(s4));System.out.println(s2.equalsIgnoreCase(s4));String s5 = s2.toUpperCase();System.out.println(s5);String s6 = s4.toLowerCase();System.out.println(s6);}}

获取字符在字符串中的下标

public int indexOf(int ch); //获取指定字符在字符串中第一次出现的下标 
public int lastIndexOf(int ch);//获取指定字符在字符串中最后一次出现的下标

获取字符串在字符串中的下标

public int indexOf(String str);//获取指定字符串在字符串中第一次出现的下标 
public int lastIndexOf(String str);//获取指定字符串在字符串中最后一次出现的下标 

获取字符串中的指定下标的字符

public char charAt(int index);

示例

package com.cyx.string;public class Example4 {public static void main(String[] args) {String s = "kliey@aliyun.com";int number = 'a';System.out.println(number);//'@' => char => int//求指定字符串中第一次出现的下标位置int index1 = s.indexOf('@');//相互兼容的数据类型之间可以发生自动类型转换System.out.println(index1);int index2 = s.lastIndexOf('@');System.out.println(index2);int index3 = s.indexOf('.');//相互兼容的数据类型之间可以发生自动类型转换int index4 = s.lastIndexOf('.');boolean case1 = (index1 == index2);//保证只有一个@boolean case2 = (index3 == index4);//保证只有一个.boolean case3 = (index3 - index2 > 1);//@必须在.的前面boolean case4 = (index1 > 0 && index3 < s.length()-1);//@不能在最开始 .不能在末尾if(case1 && case2 && case3 && case4){System.out.println("字符串"+ s +"是一个邮箱地址");}System.out.println(s.charAt(0));}
}

 

相关文章:

Java第二阶段---16字符串---第一节 String

1.特性介绍 String 类位于 java.lang 包中&#xff0c;无需引入&#xff0c;直接使用即可。 String 类是由 final 修饰的&#xff0c;表示String 类是一个最终类&#xff0c;不能够被继承。 String 类构建的对象不可再被更改 示例 package com.cyx.string;public class Ex…...

<十六>Ceph mon 运维

Ceph 集群有故障了&#xff0c;你执行的第一个运维命令是什么&#xff1f; 我猜测是ceph -s 。无论执行的第一个命令是什么&#xff0c;都肯定是先检查Mon。 在开始之前我们有必要介绍下Paxos协议&#xff0c;毕竟Mon就是靠它来实现数据唯一性。 一&#xff1a; Paxos 协议 1…...

【网络安全初识】——互联网发展史

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络安全】 本专栏旨在分享学习网络安全的一些学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; ipconfig&#xff1a;显示当…...

Windows和Linux内存共享机制

Windows和Linux内存共享机制 引言1.Windows写操作读操作 2.Linux写操作读操作 3.Shell使用 tmux 运行 write 和 read说明 引言 在嵌入式开发领域&#xff0c;内存共享机制作为不同操作系统间实现高效数据交换的重要手段&#xff0c;尤其在对实时性和可靠性要求极高的环境中更为…...

windows@命令行中获取环境变量取值不展开取值(原值)

文章目录 命令行中获取环境变量取值获取不展开的值具体实现注解 封装为函数版本1版本2 命令行中获取环境变量取值 这里主要讨论获取未展开的值本来获取未展开的值应该作为默认选项,至少有合适的api方便直接调用,但是不知道微软怎么想的,让这个任务变得不直接 获取不展开的值 …...

如何找到多平台内容爆款进行批量复刻?

为了进一步扩大品牌社媒影响力&#xff0c;在消费者做决策的时候&#xff0c;能够第一时间出现在首选位置。持续在抖音、小红书、b站、公众号等各大社媒平台&#xff0c;产生连续的、正向的高质量品牌曝光&#xff0c;是非常重要的。如何进行这种多平台品牌影响力的提升呢&…...

【UML】- 用例图(结合银行案例解释其中的奥义)

目录 一、相关介绍 作用&#xff1a; 组成&#xff1a; 关系 二、使用具体银行案例解释各组成部分的含义 1、系统 2、参与者 3、用例 4、关联关系 5、扩展关系 6、泛化&#xff08;继承&#xff09;关系 三、成品 一、相关介绍 作用&#xff1a; 用例图可以描述一个…...

浅谈UI自动化

⭐️前言⭐️ 本篇文章围绕UI自动化来展开&#xff0c;主要内容包括什么是UI自动化&#xff0c;常用的UI自动化框架&#xff0c;UI自动化原理等。 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f349;博主将持续更新学习记录收获&#xff0c;友友们有任何问题…...

三、k8s快速入门之Kubectl 命令基础操作

⭐️创建Pod [rootmaster ~]# kubectl run nginx --imageharbor.tanc.com/library/ngix:latest kubectl run --generatordeployment/apps.v1 is DEPRECATED and will be rmoved in a future version. Use kubectl run --generatorrun-pod/v1 or kbectl create instead. deplo…...

深度学习-BP算法详解

BP&#xff08;Back Propagation&#xff0c;反向传播&#xff09;是训练神经网络的重要算法之一。它通过计算误差并将误差反向传播&#xff0c;以更新神经网络中的权重和偏置&#xff0c;进而使模型更好地拟合数据。 1. BP算法的基本原理 反向传播的基本思想是&#xff1a; …...

Java审计对比工具JaVers使用

最近有个需求&#xff0c;需要将页面的内容生成excel或者word文档&#xff0c;而且每次的修改都需要生成新的版本&#xff0c;同时需要记录每次修改变化的内容。我们会把每次的修改的内容提交赋值给一个java对象&#xff0c;同时存储到数据库一条新数据&#xff0c;对应数据表一…...

unity中预制体的移动-旋转-放缩

unity中预制体的移动-旋转-放缩 左上侧竖栏图标介绍Tools(手形工具)Move Tool(移动工具&#xff0c;单位米)Rotate Tool(旋转工具&#xff0c;单位角度)Scale Tool(缩放工具&#xff0c;单位倍数)Rect Tool(矩形工具)Transform Tool(变换工具)图标快捷键对照表工具使用的小技巧…...

【压力测试】如何确定系统最大并发用户数?

一、明确测试目的与了解需求 明确测试目的&#xff1a;首先需要明确测试的目的&#xff0c;即为什么要确定系统的最大并发用户数。这通常与业务需求、系统预期的最大用户负载以及系统的稳定性要求相关。 了解业务需求&#xff1a;深入了解系统的业务特性&#xff0c;包括用户行…...

ubuntu常用基本指令简记

一、在线帮助 1、help Linux命令可以分为内部命令和外部命令&#xff0c;内部命令就是由Linux默认Shell-bash提供的命令&#xff0c;而非bash提供的命令就是外部命令。 对于内部命令&#xff0c;可以使用help命令来获取帮助 形式为 help 指令 2、man 在日常使用中碰到的绝…...

【解决方案】用git reset --hard重置了提交但是发现reset了一些本不该reset的内容,是不是寄了?

使用 git reset --hard [commit_id] 命令后&#xff0c;所有的更改&#xff08;包括暂存区和工作区的更改&#xff09;都会被重置到指定的提交。如果想要撤销这个操作&#xff0c;恢复到重置之前的状态&#xff0c;可以尝试以下方法&#xff1a; 1. 使用 Git Reflog 恢复 Git…...

ACM模式下Java读取控制台输入注意事项及输出规范化

背景 在ACM模式下。需要我们去接受输入的参数&#xff0c;一般是使用Scanner去读取控制台输入的参数System.in。 不熟悉的情况下&#xff0c;很容易出现问题&#xff0c;针对常见的问题做一个总结。 一、nextXxx 如next&#xff0c;nextInt&#xff0c;nextFloat&#xff0c…...

面试题整理 2

总结了本次面试遇到的值得整理记录的面试题。 目录 变量赋值判断 变量判断 Foreach使用 Mysql优化策略 合理的索引设计 查询优化 数据表结构设计 配置优化 合理使用事务 定期维护数据库 使用缓存 监控与性能分析 Redis主从复制 介绍 配置 示例 Redis 数据类型…...

华为自研仓颉编程语言官网上线 首个公测版本开放下载

仓颉编程语言官网正式公开上线&#xff0c;同时首个公测版本开放下载。本次仓颉编程语言官网上线了首页、在线体验、文档、学习、下载、动态以及三方库共六个模块&#xff0c;可供开发和学习和体验。 据悉&#xff0c;仓颉编程语言是在今年6月的华为开发者大会上正式公布&…...

NVR监测软件/设备EasyNVR多品牌NVR管理工具/设备对城市安全有哪些具体益处?

在智慧城市的建设中&#xff0c;各种先进的技术系统正发挥着越来越重要的作用。其中&#xff0c;NVR监测软件/设备EasyNVR作为一种高效的视频边缘计算网关&#xff0c;不仅能够实现视频数据的采集、编码和存储&#xff0c;还能与其他智慧城市系统进行深度集成&#xff0c;共同推…...

MFC工控项目实例二十八模拟量信号每秒采集100次

用两个多媒体定时器&#xff0c;一个定时0.1秒计时&#xff0c;另一个定时0.01秒用来对模拟量信号采集每秒100次。 1、在SEAL_PRESSUREDlg.h中添加代码 class CSEAL_PRESSUREDlg : public CDialo { public:CSEAL_PRESSUREDlg(CWnd* pParent NULL); // standard constructor&a…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...

云原生周刊:k0s 成为 CNCF 沙箱项目

开源项目推荐 HAMi HAMi&#xff08;原名 k8s‑vGPU‑scheduler&#xff09;是一款 CNCF Sandbox 级别的开源 K8s 中间件&#xff0c;通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度&#xff0c;为容器提供统一接口&#xff0c;实现细粒度资源配额…...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...