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

牛顿插值法【python,算法】

牛顿插值法是一种构建插值多项式的方法,它利用一系列已知的数据点来估算区间内任意点的函数值。这种方法的特点是通过计算差商(divided differences)来逐步构建插值多项式,具有较好的计算效率和承袭性,即在添加或删除数…

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

文章目录 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;反射工厂模式 总结 其实工厂模式就是用一个代理类帮…

Linux x86_64平台指令替换函数 text_poke_smp/bp

文章目录 前言一、text_poke_early1.1 text_poke_early简介1.2 用途 二、text_poke_smp2.1 简介2.1.1 text_poke_smp函数2.2.2 stop_machine_text_poke简介2.2.3 text_poke函数 2.2 用途 三、text_poke_smp 内核hook 前言 Linux x86_64平台指令替换函数有两种类型&#xff1a;…

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

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

【Docekr】容器自动重启/取消自动重启

Docekr 容器自动重启/取消自动重启 文章目录 Docekr 容器自动重启/取消自动重启Docker 重启模式Docker 更新容器 Docker 重启模式 Docker的restart可以控制容器的重启模式&#xff0c;其有以下几个值&#xff1a; # 默认策略&#xff0c;容器退出时不重启容器 --restartno# 在…

用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;这里就不…

常用排序算法_06_归并排序

1、基本思想 归并排序采用分治法 (Divide and Conquer) 的一个非常典型的应。归并排序的思想就是先递归分解数组&#xff0c;再合并数组。归并排序是一种稳定的排序方法。 将数组分解最小之后&#xff08;数组中只有一个元素&#xff0c;数组有序&#xff09;&#xff1b;然后…

Spring Boot + liteflow 居然这么好用!实战

在我们的日常开发中&#xff0c;经常会遇到一些需要串行或并行处理的复杂业务流程。 那我们该如何利用Spring Boot结合liteflow规则引擎来简化我们的业务流程 先看一个实战案例&#xff01;&#xff01; 在电商场景下&#xff0c;当订单完成后&#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("我的")}// 做平板适配…

文心一言:探索AI写作的新境界

在人工智能飞速发展的今天&#xff0c;AI写作助手已经成为许多写作者、内容创作者和营销专家的重要工具。"文心一言"作为一个先进的AI写作平台&#xff0c;以其强大的语言理解和生成能力&#xff0c;为用户提供了从文本生成到编辑、优化等一系列服务。本文将介绍如何…

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

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

深入Django(七)

Django的数据库迁移系统 引言 在前六天的教程中&#xff0c;我们介绍了Django的基本概念、模型、视图、模板、URL路由和表单系统。今天&#xff0c;我们将讨论Django的数据库迁移系统&#xff0c;它是管理和跟踪数据库变化的关键组件。 Django数据库迁移概述 Django的数据库…

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

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

论文创新的几种思路

选题是论文创新的基石&#xff0c;它决定了研究的方向和深度。一个新颖的选题不仅能够吸引读者和评审的注意&#xff0c;还能为学术界带来新的视角和思考。选题创新要求研究者具有敏锐的洞察力&#xff0c;能够识别和捕捉到那些尚未被充分探索或有待深入研究的问题。 选题创新…