第一百四十五节 Java数据类型教程 - Java字符串类型

Java数据类型教程 - Java字符串类型

零个或多个字符的序列称为字符串。

在Java程序中,字符串由java.lang.String类的对象表示。

String类是不可变的。 String对象的内容在创建后无法修改。

String类有两个伴随类,java.lang.StringBuilder和java.lang.StringBuffer。伴随类是可变的。如果我们要修改字符串的内容,我们应该使用它们。

字符串字面量

字符串字面值由用双引号括起来的零个或多个字符序列组成。所有字符串文字都是String类的对象。

下面列出了字符串字面量的示例

""                         // An  Empty string
"Hello"                    // A  string literal  consisting of  5  characters
"Just a string literal"    

我们可以将两个多个字符串文字加到一个字符串文字。

"Hello" + "Hi"

字符串文字不能分成两行。

"He
llo"          // A  compiler error

要断开两行中的“Hello",请使用字符串连接运算符(+)中断它。

"He" + "llo"

或者

"He"
+ "llo"

在字符串文字中转义序列字符

我们可以使用所有转义序列字符形成一个字符串文字。

要在字符串文字中包括换行符和回车字符。使用\ n和\ r,如下所示:

"\n"      // A  string literal  with  a  line  feed
"\r"      // A  string literal  with  a  carriage return

Unicode转义字符串字面量

字符也可以表示为\ uxxxx形式的Unicode转义,其中x是十六进制数字(0-9或A-F)。

在字符串文字中,字符“A”(第一个大写英文字母)也可以写为“\ u0041”,例如,Apple和\ u0041pple在Java中被视为相同。


 

Java数据类型教程 - Java字符串创建/长度

创建字符串对象

String类包含许多可用于创建String对象的构造函数。

默认构造函数创建一个以空字符串作为其内容的String对象。

例如,以下语句创建一个空的String对象,并将其引用分配给emptyStr变量:

String  emptyStr = new String();

String类包含一个构造函数,它接受另一个String对象作为参数。

String str1 = new String();
String str2 = new String(str1); // Passing a  String as  an  argument

现在str1代表与str2相同的字符序列。在这一点上,str1和str2都代表一个空字符串。我们也可以传递一个字符串字面量到这个构造函数。

String str3 = new String("");
String str4 = new String("Have fun!");

在执行这两个语句之后,str3将引用一个String对象,它有一个空字符串作为其内容,而str4将引用一个String对象,它有“Have fun!作为其内容。

字符串的长度

String类包含一个length()方法,该方法返回String对象中的字符数。

方法length()的返回类型是int。空字符串的长度为零。

public class Main {public static void main(String[] args) {String str1 = new String();String str2 = new String("Hello");// Get the length of str1 and str2 int len1 = str1.length();int len2 = str2.length();// Display the length of str1 and str2System.out.println("Length of  \"" + str1 + "\" = " + len1);System.out.println("Length of  \"" + str2 + "\" = " + len2);}
}

上面的代码生成以下结果。


 

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

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

相关文章

python-开关灯(赛氪OJ)

[题目描述] 假设有 N 盏灯(N 为不大于 5000 的正整数),从 1 到到 N 按顺序依次编号,初始时全部处于开启状态;第一个人( 1 号)将灯全部关闭,第二个人( 2 号)将…

海睿思问数(TableGPT):开创企业新一代指标应用模式

1 指标建设对企业经营管理数字化的价值分析 指标是将海量数据中关键信息提炼和挖掘出来,以数据为载体展示企业经营管理和分析中的统计量。它通过分析数据,形成一个具有度量值的汇总结果,使得业务状态可以被描述、量化和分解。指标通常由度量…

竞赛选题 协同过滤电影推荐系统

文章目录 1 简介1 设计概要2 课题背景和目的3 协同过滤算法原理3.1 基于用户的协同过滤推荐算法实现原理3.1.1 步骤13.1.2 步骤23.1.3 步骤33.1.4 步骤4 4 系统实现4.1 开发环境4.2 系统功能描述4.3 系统数据流程4.3.1 用户端数据流程4.3.2 管理员端数据流程 4.4 系统功能设计 …

2024/07/05

1、梳理笔记 2、课堂习题 1、循环输入一个5位数&#xff0c;判断它是不是回文数。当输入0时循环结束。 即12321是回文数&#xff0c;个位与万位相同&#xff0c;十位与千位相同。 #include<stdio.h> int main(int argc, char const *argv[]) {while(1){int num0;printf(…

绿色金融相关数据合集(2007-2024年 具体看数据类型)

数据类型&#xff1a; 1.绿色债券数据&#xff1a;2014-2023 2.绿色信贷相关数据&#xff1a;2007-2022 3.全国各省及地级市绿色金融指数&#xff1a;1990-2022 4.碳排放权交易明细数据&#xff1a;2013-2024 5.绿色金融试点DID数据&#xff1a;2010-2023 数据来源&#…

【设计模式】工厂模式(定义 | 特点 | Demo入门讲解)

文章目录 定义简单工厂模式案例 | 代码Phone顶层接口设计Meizu品牌类Xiaomi品牌类PhoneFactory工厂类Customer 消费者类 工厂方法模式案例 | 代码PhoneFactory工厂类 Java高级特性---工厂模式与反射的高阶玩法方案&#xff1a;反射工厂模式 总结 其实工厂模式就是用一个代理类帮…

万界星空科技机械加工行业MES解决方案

机械加工行业作为制造业的重要组成部分&#xff0c;面临着生产效率、成本控制和产品质量提升等多重挑战。为了应对这些挑战&#xff0c;引入并实施制造执行系统&#xff08;MES&#xff09;成为了行业的必然选择。本文将详细介绍一种针对机械加工行业的MES解决方案&#xff0c;…

用MySQL+node+vue做一个学生信息管理系统(二):创建MySQL数据表、创建HTML用户列表页面

MySQL代码 CREATE DATABASE students;USE students;CREATE TABLE student( id INT COMMENT 学号, name VARCHAR(32) COMMENT 姓名, sex VARCHAR(8) COMMENT 性别, class VARCHAR(64) COMMENT 班级 )SHOW TABLES;下面介绍一下Vue框架的element-ui的使用方法&#xff0c;这里就不…

go 为什么是抢占式调度

GMP 模型 gmp模型是 golang 中用于调度管理 goroutine 的调度器。 调度器的发展史 在 Go 语言中&#xff0c;Goroutine 早期是没有设计成抢占式的&#xff0c;早期 Goroutine 只有读写、主动让出、锁等操作时才会触发调度切换。 这样有一个严重的问题&#xff0c;就是垃圾回…

鸿蒙笔记导航栏,路由,还有axios

1.导航组件 导航栏位置可以调整&#xff0c;导航栏位置 Entry Component struct t1 {build() {Tabs(){TabContent() {Text(qwer)}.tabBar("首页")TabContent() {Text(发现内容)}.tabBar(发现)TabContent() {Text(我的内容)}.tabBar("我的")}// 做平板适配…

【Springer出版 | EI稳定检索】第五届物联网、人工智能与机械自动化国际学术会议 (IoTAIMA 2024,7月19-21)

由浙江工业大学主办&#xff0c;第五届物联网、人工智能与机械自动化国际学术会议 (IoTAIMA 2024) 将于2024年7月19-21日在浙江杭州召开。 会议旨在为从事物联网、人工智能与机械自动化的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术&#xff0c;了解学…

基于java+springboot+vue实现的药店管理系统(文末源码+Lw)285

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;药品信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能满足广…

SSM家庭理财个人理财系统-JAVA【数据库设计、源码、开题报告】

第一章 绪论 1.1 课题背景、目的及意义 从 20 世纪末以来&#xff0c;在全球经济日趋一体化的背景之下&#xff0c;中国经济也得到了飞速的发展&#xff0c;家庭收入也快速增长。居民的消费结构发生了巨大变化&#xff0c;购置房产、旅游、汽车消费、教育等成为居民消费重点。…

一维前缀和的实现

这是C算法基础-基础算法专栏的第十一篇文章&#xff0c;专栏详情请见此处。 引入 我们用朴素做法求一维数组的区间和时&#xff0c;一般是从前向后循环累加&#xff0c;它的时间复杂度为&#xff0c;当求区间和的次数过多&#xff0c;则会有超时的可能&#xff0c;那有没有时间…

算法设计练笔

T1、给定由n个整数&#xff08;可能为负数&#xff09;组成的序列a1,a2,...,an&#xff0c;求该序列子段和的最大值。当所有整数均为负数时&#xff0c;其最大子段和为0。 【输入】 第一行一个整数&#xff0c;表示n的值, 1<n<100; 第二行n个整数&#xff0c;表示a1,a2,.…

【Unity URP】通过代码动态添加URP渲染通道RendererFeature

URP的渲染通道RendererFeature可以很方便的实现一些渲染问题,比如渲染顺序问题,遮挡后的材质替换等等。 那么我们如何通过代码来动态添加和修改呢? 首先我们需要获取到当前的URP配置文件,在对配置文件进行添加 1.通过反射获取当前UniversalRendererData 我们通过Graphic…

中国移动中国联通中国电信数字化转型营销销售讲师培训老师讲授AIGC大模型人工智能5G云算力网络云网终端AIGC人工智能宽带政企物联网专线 IDC智慧城市

唐兴通 数字化商业创新顾问、新媒体营销专家、数字化销售增长教练、沃顿商学院演讲嘉宾。全球创新增长战略大家EM罗杰斯&#xff08;创新的扩散&#xff09;、杰弗里摩尔&#xff08;跨越鸿沟&#xff09;、亨利切萨布鲁夫&#xff08;开放式创新&#xff09;在中国合作者。《…

gitee代码初次上传步骤

ps. 前提是已经下载安装gitee 一、在本地项目目录下空白处右击&#xff0c;选择“Git Bash Here” 二、初始化 git init 三、添加、提交代码&#xff08;注意add与点之间的空格&#xff09; git add . git commit -m 添加注释 四、连接、推送到gitee仓库 git remote add …

Java——IO流(二)-(4/7):不同编码读取乱码的问题,转换流-InputStreamReader、OutputStreamWriter

目录 不同编码读取出现乱码的问题 转换流 InputStreamReader(字符输入转换流) 实例演示(1) OutputStreamWriter(字符输出转换流) 实例演示(2) 不同编码读取出现乱码的问题 如果代码编码和被读取的文本文件的编码是一致的&#xff0c;使用字符流读取文本文件时不会出现乱…

【Mac】adobe CameraRaw 16 for mac(ps插件RAW处理工具)软件介绍

软件介绍 Adobe Camera Raw是一款专为处理和编辑数字照片原始文件&#xff08;RAW文件&#xff09;而设计的插件&#xff0c;它提供了丰富的功能来调整和优化图像。以下是它的主要特点和功能&#xff1a; 支持广泛的RAW格式&#xff1a; Adobe Camera Raw 16 支持处理来自各…