课时49:字符串与字符

简介: 本课程主要通过实例演示了如何实现字符串与字符数组的转换,并强调了在处理中文时使用Char类型的重要性。最后,讲解了如何判断字符串中是否全部由数字组成。1.方法介绍2.字符串与字符的转换

课时49:字符串与字符

 

摘要:本课程主要通过实例演示了如何实现字符串与字符数组的转换,并强调了在处理中文时使用Char类型的重要性。最后,讲解了如何判断字符串中是否全部由数字组成

1. 方法介绍

2. 字符串与字符的转换

 

下面我们学习字符串与字符的操作。在JDK1.9之前,所有的String类都是利用字符数组实现了包装的处理,所以在String类中提供有相应的处理转换方法,这些方法包含有构造方法与普通方法两类。

 

01. 方法介绍

 

首先从构造开始学习,构造方法中可以找接收字符数组的方法。点击打开查看可知,该方法明确描述该处接收字符数,该方法将传入的字符数组变为字符串。

image.png

No.

方法名称

类型

作用

1

public String(char [] value)

构造

将传入的字符数组变为字符串

2

public String(char[] value,

int offset,int count)

构造

将部分字符数组变为字符串。

3

Public char CharAt(int index)

普通

获取指定索引位置的字符。

4

public char[] toChar Array()

普通

将字符串中的数据以字符数组的形式返回。

以后看到“offset”这个单词时描述的是起点。

范例:现在观察CharAt()方法。

public class stringDemo{
public static void main(string args[]){
String str=www.mldn.cn;
char c=str.CharAt(5);
System.out.println(c);
}
}

运行上述代码,结果如图。

image.png

结果输出“l”。利用CharAt()方法可以获取指定索引位置的字符,但是程序中的索引下标都是从“0”开始的。

 

02. 字符串与字符的转换

 

在程序语言之中,最早一直强调的是字符串应该使用字符数组来进行描述。所以,这一操作在String类方法中也是有所体现的。

范例:实现字符串与字符数组的转换。

public class stringDemo{
public static void main(string args[]){
String str=“helloworld”;
char [] result =str. toChar Array(); //将字符串变为字符数组。
for (int x=0;x<result.length;x++){
result[x] -= 32; // 编码减少32。
}
//将处理后的字符数组交给String变为字符串。
String newStr= new string(result);
System.out.println(newStr);
}
}

运行上述代码,结果如图。

image.png

字母转为大写,代码执行成功。如果不想把全部的字符数组都变成字符串,可以对代码做如下修改:

public class stringDemo{
public static void main(string args[]){
String str=“helloworld”;
char [] result =str. toChar Array(); //将字符串变为字符数组。
for (int x=0;x<result.length;x++){
result[x] -= 32; // 编码减少32。
}
//将处理后的字符数组交给String变为字符串。
String newStr= new string(result);
System.out.println(newStr);
System.out.println(newStr String(result,0,5));
}
}

image.png

此时输出结果为“HELLO”,只将部分字符变为大写。若现在需要进行做一个验证功能,要求为判断某一个字符串中的数据是否全部由数字所组成。那么此时可以采用如下的思路:

(1) 如果要想判断字符串中的每一位,最好的做法是将字符串变为字符数组。

(2) 可以判断每一个字符是否在数字的范围之内('0’~'9’);

(3) 如果有一位不是数字则表示验证失败。


范例:实现字符串的检查。

Public class StringDemo{
public static void main(string args[]){
String str ="helloworld";
System.out.println(isNumber(str)?"由数字所组成":"不是由数字所组成");
//该方法主要是判断字符串是否由数字所组成
public static baolean isNumber(string str){
char [] result=str.toCharArray();
// 将字符串变为字符数组//依次判断
for(int x=0;x<result.length;x++){
if(result[x]<'0' || result[x]>'9');{
return false;//后面不再判断
}
}
return true ;
}
}

代码的运行结果如图。

image.png

如果继续修改代码:

Public class StringDemo{
public static void main(string args[]){
String str ="helloworld";
System.out.println(isNumber(str)?"由数字所组成":"不是由数字所组成");
System.out.println(isNumber(“123”)?"由数字所组成":"不是由数字所组成");
//该方法主要是判断字符串是否由数字所组成
public static baolean isNumber(string str){
char [] result=str.toCharArray();
// 将字符串变为字符数组//依次判断
for(int x=0;x<result.length;x++){
if(result[x]<'0' || result[x]>'9');{
return false;//后面不再判断
}
}
return true ;
}
}

输出的结果为“由数字所组成”。到此,我们实现了简单的逻辑判断。我们要知道这种字符串与字符之间的转换非常成功的,而且大家一定要记住,我们在讲课中重点强调过一句话,在实际开发之中,处理中文的时候往往使用 Char 类型,因为其可以包含中文数据,这是使用字符的主要原因。

 

相关文章
|
9月前
|
Java
课时47:主方法组成分析
主要讲解了Java中的主方法及其组成。首先,介绍了主方法的访问权限,包括public、private和static等关键字。然后,通过实例演示了如何使用位名称调用程序,以及如何在编译后执行。接着,讲解了如何设置启动参数,并通过空格分割将参数输出。
99 11
课时47:主方法组成分析
|
9月前
|
人工智能 自然语言处理 测试技术
多模态慢思考:分解原子步骤以解决复杂数学推理
在人工智能领域,多模态大语言模型(MLLMs)处理图像和文本等多模态数据表现出色,但在复杂数学推理上存在不足。为此,研究者提出“AtomThink”框架,通过引入“慢思考”能力提升MLLMs的数学推理表现。该框架包含CoT注释引擎、原子步骤微调策略及搜索策略,有效解决了高质量视觉数学数据缺乏的问题,并通过AtomMATH数据集验证了其显著性能提升。尽管面临生成高质量注释和计算资源等挑战,AtomThink为多模态数学推理提供了新思路,有望推动MLLMs在复杂数学任务中的应用和发展。
249 3
|
9月前
|
数据可视化 测试技术 API
前后端分离开发:如何高效调试API?有工具 vs 无工具全解析
在前后端分离的开发模式中,API 调试的效率直接影响项目的质量和交付速度。通过本文的对比分析,我们可以看到无工具调试模式虽具备灵活性和代码复用能力,但在操作便利性和团队协作上稍显不足。而传统的外部调试工具带来了可视化、高效协作与扩展性,却可能存在工具切换带来的开发链路断层问题。Apipost-Hepler 融合了两者的优势,让开发者无需离开熟悉的 IDEA 环境,就能享受可视化调试工具的强大功能。
305 5
|
11月前
产品经理-面试问题(实习)
这份文档主要讨论了实习面试中的常见问题,指出市面上的“面试100问”多针对C端产品,而B端和G端产品的面试则更注重实际工作经验。文中列举了几个典型的实习面试问题,如介绍实习经历、遇到的困难及解决方法、最佳项目以及竞争优势等,并提供了回答这些问题的思路和建议。文档还引导读者查阅更多相关资料,如高频分级面试和初级面试问题。
264 5
|
9月前
|
人工智能 自然语言处理 搜索推荐
HiFox AI:一站式 AI 应用平台,多模型快速接入,自由选用
HiFox AI 是一站式AI应用平台,整合了30多个主流AI模型,提供文本生成、对话交流、图片生成等多种应用场景。平台内置1000+预构建AI应用,支持无代码搭建个性化应用和复杂工作流,帮助用户高效处理重复任务,显著提升工作效率。无论是普通用户还是技术专家,都能在HiFox AI上找到适合自己的解决方案,实现“人人都能使用AI”的愿景。
|
9月前
|
SQL 关系型数据库 网络安全
Navicat Premium 17 最新版下载与配置:5分钟完成企业级数据库工具部署
Navicat Premium 17 是一款支持多种主流数据库(如 MySQL、Oracle、PostgreSQL 等)的多数据库管理工具,提供可视化数据建模、SQL 编辑和数据同步等功能。试用版提供 14 天全功能体验,商业版支持跨平台使用。安装环境要求 Windows 10/11 或 macOS 12.0+,最低配置为 4GB 内存。下载并解压安装包后,按步骤启动安装程序、接受许可协议、自定义安装路径并完成安装。首次运行时需激活许可证并配置数据库连接。常见问题包括无法写入注册表、试用期续费及连接数据库权限问题。高级功能涵盖 SSH 通道加速、自动化任务调度和性能调优建议。
2579 19
|
10月前
|
SQL JSON 数据可视化
基于 DIFY 的自动化数据分析实战
本文介绍如何使用DIFY搭建数据分析自动化流程,实现从输入需求到查询数据库、LLM分析再到可视化输出的全流程。基于经典的employees数据集和DIFY云端环境,通过LLM-SQL解析、SQL执行、LLM数据分析及ECharts可视化等模块,高效完成数据分析任务。此方案适用于人力资源分析、薪酬管理等数据密集型业务,显著提升效率并降低成本。
13927 16
|
10月前
|
人工智能 大数据 双11
春节护航完美收官,中国邮政点赞阿里云
春节护航完美收官,中国邮政点赞阿里云
242 11
|
前端开发 数据可视化 Java
SpringBoot的4中常见入参形式错误解析
在使用SpringBoot进行前后端接口对接时,常遇到如500、400等请求错误,本文总结了四个常见的复杂请求类型及其解决方案,包括实体嵌套List提交、普通文件上传、List提交及数组Array提交,详细展示了正确的前端与后端代码实现,帮助开发者避免常见错误,提高开发效率。
268 0
SpringBoot的4中常见入参形式错误解析
|
Android开发 iOS开发 C#
Xamarin:用C#打造跨平台移动应用的终极利器——从零开始构建你的第一个iOS与Android通用App,体验前所未有的高效与便捷开发之旅
【8月更文挑战第31天】Xamarin 是一个强大的框架,允许开发者使用单一的 C# 代码库构建高性能的原生移动应用,支持 iOS、Android 和 Windows 平台。作为微软的一部分,Xamarin 充分利用了 .NET 框架的强大功能,提供了丰富的 API 和工具集,简化了跨平台移动应用开发。本文通过一个简单的示例应用介绍了如何使用 Xamarin.Forms 快速创建跨平台应用,包括设置开发环境、定义用户界面和实现按钮点击事件处理逻辑。这个示例展示了 Xamarin.Forms 的基本功能,帮助开发者提高开发效率并实现一致的用户体验。
491 0

热门文章

最新文章