当前位置: 首页 > 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…...

Codex+Coze自动化工作流实战

Codex&#xff08;特指OpenAI的编程特化AI Agent&#xff09;与Coze&#xff08;扣子&#xff09;平台的结合&#xff0c;能够实现从自然语言描述到可运行自动化流程的端到端生成。其核心在于利用Codex强大的代码理解和生成能力&#xff0c;来编写、调试并封装符合Coze平台规范…...

手把手教你用Python3运行seeyon_exp工具,一键检测致远OA常见漏洞

手把手教你用Python3运行seeyon_exp工具进行致远OA漏洞检测 在当今企业数字化办公环境中&#xff0c;协同办公系统承载着大量核心业务数据&#xff0c;其安全性至关重要。致远OA作为国内广泛使用的办公自动化平台&#xff0c;近年来曝光的多个高危漏洞引起了安全从业者的高度关…...

AI微型赛车:从车道线检测到PID控制,手把手实现端侧自动驾驶

1. 项目概述&#xff1a;当AI遇见指尖上的速度与激情最近在创客圈和AI应用领域&#xff0c;一个结合了硬件、软件与智能算法的项目正悄然兴起&#xff0c;那就是“AI驱动的自动微型赛车”。这听起来像是科幻电影里的场景&#xff0c;但如今&#xff0c;借助开源硬件和成熟的机器…...

CircuitMind框架:突破LLM在数字电路设计中的布尔优化障碍

1. 项目概述&#xff1a;CircuitMind框架的创新价值在数字电路设计领域&#xff0c;布尔优化一直是硬件工程师面临的核心挑战。传统设计流程中&#xff0c;工程师需要手动应用卡诺图、奎因-麦克拉斯基算法等技巧来优化门级网表&#xff0c;这一过程既耗时又高度依赖专家经验。近…...

正点原子STM32MP135实战——OP-TEE安全启动与设备树深度适配

1. OP-TEE与STM32MP135开发板简介 第一次接触OP-TEE时&#xff0c;我也被这个专业名词唬住了。简单来说&#xff0c;它就像是你手机里的保险箱&#xff0c;专门用来存放和处理敏感信息&#xff08;比如指纹、支付密码&#xff09;。在STM32MP135这块开发板上实现OP-TEE&#xf…...

保姆级教程:手把手教你用ROS话题转发搞定CARLA与Autoware的传感器数据对齐

保姆级教程&#xff1a;手把手教你用ROS话题转发搞定CARLA与Autoware的传感器数据对齐 当你在深夜的实验室里终于让CARLA仿真器和Autoware自动驾驶系统分别跑通时&#xff0c;那种成就感可能持续不到30秒——因为接下来你会发现&#xff0c;CARLA输出的传感器数据在Autoware中就…...

2026年选对工作钢格板厂家,这三大核心标准决定你的采购成败

在工业厂房、化工厂、电厂等生产场景中&#xff0c;工作钢格板作为至关重要的安全承重平台与通道&#xff0c;其产品质量直接关系到人员安全与生产稳定。2026年的制造业竞争愈发激烈&#xff0c;供应链选择也更为审慎。面对市场上琳琅满目的供应商&#xff0c;您是否正为找到一…...

The import xxx.xxx.xxx is never used

The import xxx.xxx.xxx is never used List is a raw type. References to generic type List<E> should be parameterized Dead code The value of the local variable d is not used代码洁癖啊&#xff0c;为啥这些这么多黄色警告都不处理呢。 没有用的代码&#xff0…...

Firefly-RK3399从Ubuntu 16.04到自定义Rootfs:手把手教你编译内核与打包固件

Firefly-RK3399从Ubuntu 16.04到自定义Rootfs&#xff1a;手把手教你编译内核与打包固件 在嵌入式开发领域&#xff0c;能够自主定制系统镜像是一项极具价值的能力。Firefly-RK3399作为一款性能强大的开发板&#xff0c;其开放的架构为开发者提供了深度定制的可能性。本文将带你…...

为什么你的Perplexity自定义主题总被覆盖?揭秘其CSS优先级陷阱与3层覆盖防护机制

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Perplexity自定义主题失效的典型现象与归因初判 当用户在 Perplexity 桌面端或浏览器扩展中配置了 CSS 主题&#xff08;如通过 userChrome.css 或注入式样式脚本&#xff09;&#xff0c;却未观察到预期视觉…...