学习Java的第十天

本章来讲一下什么是字符串

一、什么是字符串

在Java中,最常见的基本类型就是字符串了,哪哪都能见到,如输入语句,输出语句等!那么,什么是字符串呢,字符串就是String类,String类是Java中表示字符串的类。它是不可变的,一旦创建了一个字符串对象,就无法修改它。

二、String类和StringBuilder类有什么区别?

  • String类和StringBuilder类的最主要区别在于可变性。String类是不可变的,一旦创建了一个字符串对象,就无法修改它。而StringBuilder类是可变的,可以在缓冲区中修改字符串,而不必创建新的对象。
  • 另一个区别在于性能。由于String类是不可变的,对字符串进行操作时需要创建新的字符串对象,这可能会导致性能问题。StringBuilder类是可变的,可以避免这种问题,因此它的性能比String类更好。

三、创建字符串

1、创建一个String对象,并初始化一个值。

String类是不可改变的,一旦创建了一个String对象,它的值就不能改变了。
如果想对字符串做修改,需要使用StringBuffer&StringBuilder类。

//直接创建方式
String str1 = "abc";
//提供一个 字符数组 参数来初始化字符串
char[] strarray = {'a','b','c'};
String str2 = new String(strarray);

 char为字符类型,String为字符串类型
String字符串是用" "来包含串的, char是用’ '来包含单字符的
String内部用来存储的结果是一个char字符数组

String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上:

String s1 = "Runoob";              // String 直接创建
String s2 = "Runoob";              // String 直接创建
String s3 = s1;                    // 相同引用
String s4 = new String("Runoob");   // String 对象创建
String s5 = new String("Runoob");   // String 对象创建

2、如何将一个整数转换为字符串

可以使用Integer类的toString()方法将一个整数转换为字符串

int i = 123;
String s = Integer.toString();

3、如何将一个字符串转换为整数

可以使用Integer类的parseInt()方法将一个字符串转换为整数

String s = "123";
int i = Integer.parseInt(s);

四、字符串的常用方法

1、获取字符串长度

用于获取有关对象的信息的方法称为访问器方法。

String 类的一个访问器方法是 length() 方法,它返回字符串对象包含的字符数。

下面的代码执行后,len 变量等于 14:

public class StringDemo {public static void main(String args[]) {String site = "www.runoob.com";int len = site.length();System.out.println( "菜鸟教程网址长度 : " + len );}
}

2、连接字符串

String 类提供了连接两个字符串的方法:

string1.concat(string2);

示例:

public class StringDemo {public static void main(String args[]) {     String string1 = "菜鸟教程网址:";     System.out.println("1、" + string1 + "www.runoob.com");  }
}

3、字符串查找

int indexOf(String s):字符串s在指定字符串中首次出现的索引位置,如果没有检索到字符串s,该方法返回-1
int lastIndexOf(String s):字符串s在指定字符串中最后一次出现的索引位置,如果没有检索到字符串s,该方法返回-1;如果s是空字符串,则返回的结果与length方法的返回结果相同,即返回整个字符串的长度。

int idx = str.indexOf("a");//字符a在str中首次出现的位置
int idx = str.lastIndexOf("a");

4、获取指定位置的字符串

char charAt(int index)方法:返回指定索引出的字符

String str = "abcde";
char thischar = str.charAt(3);//索引为3的thischar是"d"

5、获取子字符串

String substring()方法:实现截取字符串,利用字符串的下标索引来截取(字符串的下标是从0开始的,在字符串中空格占用一个索引位置)

  • substring(int beginIndex):截取从指定索引位置开始到字符串结尾的子串
  • substring(int beginIndex, int endIndex):从beginIndex开始,到endIndex结束(不包括endIndex)
String str = "abcde";
String substr1 = str.substring(2);//substr1为"cde"
String substr2 = str.substring(2,4);//substr2为"cd"

6、去除字符串首尾的空格

String trim()方法

String str = " ab cde ";
String str1 = str.trim();//str1为"ab cde"

在这就不一一给你介绍了,想了解更多方法的作用可以查看Java API文档 

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

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

相关文章

市场复盘总结 20240314

仅用于记录当天的市场情况,用于统计交易策略的适用情况,以便程序回测 短线核心:不参与任何级别的调整,采用龙空龙模式 一支股票 10%的时候可以操作, 90%的时间适合空仓等待 二进三: 进级率中 25% 最常用的…

【计算机视觉】一、计算机视觉概述

文章目录 一、计算机视觉二、计算机视觉与其它学科领域的关系1、图像处理2、计算机图形学3、模式识别4、人工智能(AI)5、神经生理学与认知科学 三、计算机视觉的应用1. 人脸识别2. 目标检测3. 图像生成4. 城市建模5. 电影特效6. 体感游戏动作捕捉7. 虚拟…

【学一点RISC-V】RISC-V IMSIC

IMSIC RISC-V AIA 文档 第三章 Incoming MSI Controller (IMSIC) 传入 MSI 控制器(IMSIC)是一个可选的 RISC-V 硬件组件,与 hart 紧密相连,每个 hart 有一个 IMSIC。IMSIC 接收并记录 Hart 的传入消息信号中断 (MSI),并…

《深入解析 C#》—— C# 2 部分

文章目录 第二章 C# 22.1 泛型&#xff08;*&#xff09;2.2 default 和 typeof&#xff08;*&#xff09;2.3 可空值类型2.3.1 Nullable<T> 结构体&#xff08;framework 支持&#xff09;2.3.2 装箱&#xff08;CLR 支持&#xff09;2.3.3 “?”后缀&#xff08;语法支…

算法50:动态规划专练(力扣514题:自由之路-----4种写法)

题目: 力扣514 &#xff1a; 自由之路 . - 力扣&#xff08;LeetCode&#xff09; 题目的详细描述&#xff0c;直接打开力扣看就是了&#xff0c;下面说一下我对题目的理解: 事例1&#xff1a; 输入: ring "godding", key "gd" 输出: 4. 1. ring的第…

前端页面兼容pc和手机端设置,等比例缩小

html页面 <meta name"viewport" content"widthdevice-width, initial-scale0, user-scalableyes,shrink-to-fitno">vue 在public里面的index.html里面设置 <meta name"viewport" content"widthdevice-width,initial-scale1.0,use…

【单调栈】代码随想录算法训练营第五十九天 |503.下一个更大元素II, 42. 接雨水 (待补充)

503.下一个更大元素II 1、题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 2、文章讲解&#xff1a;代码随想录 3、题目&#xff1a; 给定一个循环数组&#xff08;最后一个元素的下一个元素是数组的第一个元素&#xff09;&#xff0c;输出每个元素的下一个…

IDC服务商趋势

市场前景与趋势 随着云计算和大数据的发展&#xff0c;行业市场的规模正在不断增长。企业对服务器设备的需求不断增加。同时&#xff0c;由于服务器设备的价格较高且维护成本较高&#xff0c;许多企业更倾向于将服务器设备托管给专业的服务提供商&#xff0c;以降低成本并提高…

宝妈在家带孩子还是出去工作?足不出户,两者如何兼顾?

我是电商珠珠 很多女性生完孩子之后&#xff0c;就在家当家庭主妇带孩子。部分人舍不得吃穿&#xff0c;把从老公那里要来的钱都给孩子买了东西。自己也想过要出去工作&#xff0c;但是空窗期太久&#xff0c;觉得自己什么都不会&#xff0c;没有企业会要。 前段时间有一个硕…

C++类和对象一

#include <iostream> using namespace std;//设计一个学生类 class CStudent {public: //公有成员void InputData(){cout << "请输入学号";cin >> sno;cout << "请输入姓名";cin >> sname;cout << "请输入分…

我把Spring Cloud的超详细资料介绍给你,面试官不会生气吧?geigei

Spring Cloud 五大组件 Eureka服务注册与发现 白嫖资料 服务治理 在传统的RPC远程调用框架中&#xff0c;管理每个服务与服务之间的依赖关系比较复杂&#xff0c;管理也复杂&#xff0c;所以需要使用服务治理&#xff0c;管理服务于服务之间依赖关系&#xff0c;可以实现服务…

6. 面向对象(重点)

1 面向对象 1.1 了解对象 学习面向对象编程都先我们需要先思考三个问题: 1.1.1 面向对象的好处? Java作者詹姆斯.高斯林说过**万物皆对象**汽车的数据可以找汽车对象处理手机数据可以找手机对象处理学生的数据可以找学生对象处理使用面向对象编程符合人类思维习惯, 就好比…