一、创建字符串

1、声明字符串

在Java语言中的字符串必须在一对“ ”(双引号)之内。

例如:

"33"、"Hello"、"世界"

2、创建字符串

String类即字符串类型,并不是Java的基本数据类型,但可以像基本数据类型一样使用,用双引号括起来进行声明。

(1)String(char a[])用数组创建字符串

char arr[]={'n','b','a'};
String str=new String(arr);//以上操作相等于 String str=new String("nba");

(2)String(char a[],int offset,int length)提取字符数组

offset开始提取字符的位置,length提取字符的长度。

char arr[]={'a','b','c','d','e','f',g};
String str=new String(arr,2,4);//以上操作相等于 String str=new String("cdef");

(3)String str="value"

String str=new String("abcd");

二、连接字符串

1、连接多个字符串

使用“+”运算符可完成对多个字符串连接的功能。

String str1="aa";
String str2="bb";
String str=str1+str2;
System.out.println(str);//输出结果:aabb

2、连接其他数据类型

字符串也可同其他基本数据类型进行连接。

String str1="葫芦娃";
int i=7;
String str2="兄弟";
System.out.println(str1+i+str2);//输出结果:葫芦娃7兄弟

三、获取字符串信息

1、获取字符串长度

使用String类的length()方法可获取声明的字符串对象的长度。

语法如下: str.length();

String str1="Hello World";int str=str1.length();
System.out.println(str);//输出结果:11

2、字符串查找

String类提供了两种查找字符串的方法,即indexOf()与lastIndexOf()方法。这两种方法都允许在字符串中搜索指定条件的字符或字符串。

(1)indexOf(String s)

查询字符串首次出现的索引。

String str1="Hello World";int str=str1.indexOf("H");
System.out.println(str);//输出结果:0

(2)lastIndexOf(String str)

查询字符串最后一次出现的索引。(从后面开始数,包括空格)

String str1="Hello World";int str=str1.lastIndexOf("o");
System.out.println(str);//输出结果:7

3、获取指定索引位置的字符

使用charAt()方法可将指定索引处的字符返回。

语法如下: str.charAt(int index)

str:任意字符串。 index:整型值,用于指定要返回字符的下标。

String str1="Hello World";char str=str1.charAt(1);System.out.println(str);//输出结果:e

四、字符串操作

1、获取子字符串

通过String类的substring()方法可对字符串进行截取。这些方法的共同点就是都利用字符串的下标进行截取,并应明确字符串下标是从0开始的。

(1)substring(int beginIndex)

 String str1="Hello World";String str=str1.substring(2);System.out.println(str);//输出结果:llo World

(2)substring(int beginIndex, int endIndex)

 String str1="Hello World";String str=str1.substring(0,2);System.out.println(str);//输出结果:He

2、去除空格

trim()方法返回字符串的副本,忽略前导空格和尾部空格

语法如下: str.trim()

 String str1="   Hello World";System.out.println(str1);String str=str1.trim();System.out.println(str);/*输出结果:Hello World
Hello World
*/

3、字符串替换

replace()方法可实现将指定的字符或字符串替换成新的字符或字符串。

语法如下: str.replace(char oldChar,char newChar)

oldChar:要替换的字符或字符串。

newChar:用于替换原来字符串的内容。

     String str1="Hello World";String str=str1.replace("l", "L");System.out.println(str);//输出结果:HeLLo WorLd

4、判断字符串的开始与结尾

startsWith()方法与endsWith()方法分别用于判断字符串是否以指定的内容开始或结束。

这两个方法的返回值都为boolean类型。

 String str1="123123";boolean b1=str1.startsWith("12");  //判断b1为“12”开头boolean b2=str1.endsWith("12");  //判断b2为“12”结束System.out.println(b1);System.out.println(b2);/*输出结果:
true
false
*/

5、判断字符串是否相等

判断字符串是否相等有equals()、equalsIgnoreCase()两种方法,而又有各自的规则,使用不好就会出错,所以一定要区分好什么时候用哪种方法。

(1)equals()

     String str1="Hello World";String str2="hello world";boolean b1=str1.equals(str2);System.out.println(b1);//输出结果:false

(2)equalsIgnoreCase()    不区分大小写比较

     String str1="Hello World";String str2="hello world";boolean b1=str1.equalsIgnoreCase(str2);System.out.println(b1);//输出结果:true

6、按字典顺序比较两个字符串

compareTo()方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值,按字典顺序将此String对象表示的字符序列与参数字符串所表示的字符序列进行比较。

7、字母大小写转换

字符串的toLowerCase()方法可将字符串中的所有字符从大写字母改写为小写字母,而toUpperCase()方法可将字符串中的小写字母改写为大写字母。

(1)toLowerCase()

     String str1="Hello World";String str=str1.toLowerCase();System.out.println(str);//输出结果:hello world

(2)toUpperCase

     String str1="Hello World";String str=str1.toUpperCase();System.out.println(str);//输出结果:HELLO WORLD

8、字符串分割

split()方法根据指定的分割符对字符串进行分割,并将分割后的结果存放在字符串数组中。

(1)split(String str)

 String str1="He.llo.Wor.ld";String[] str=str1.split("\\.");for(String a:str) {System.out.println(a);}
/*输出结果:
He
llo
Wor
ld
*/

(2)split(String str,int limit)

 String str1="He.llo.Wor.ld";String[] str=str1.split("\\.",3);for(String a:str) {System.out.println(a);
/*输出结果:
He
llo
Wor.ld
*/

五、格式化字符串

String类的静态format()方法用于创建格式化的字符串。

(1)format(String format,object.......)

     Date date=new Date();String year=String.format("%tY", date);System.out.println("今年是:"+year);//输出结果:今年是:2021

(1)format(Local l,String format,object.......)

如果Local  l为null则不进行本地化

1、日期和时间字符串格式化

2、常规类型格式化

六、正则表达式

1、判断是否符合正则表达式的方法

使用String类的matches()方法进行判断。

boolean matches(String regex)

regex:指定的正则表达式

 String rexx="\\w+@+\\w+(\\.\\w{2,3})*\\.\\w{2,3}";String str="22226262@qq.com";String str1="2222@";if(str.matches(rexx)){System.out.println(str+"是合法邮箱");}if(str1.matches(rexx)){System.out.println(str+"是合法邮箱");}//输出结果:22226262@qq.com是合法邮箱

2、正则表达式的元字符

3、正则表达式的限定符

4、方括号中元字符的含义

七、字符串生成器

1、StringBuilder类

StringBuilder类,即字符串生成器,新创建的StringBuilder对象初始容量是16个字符,可以自行指定初始长度,也可以动态地执行添加、删除和插入等字符串的编辑操作,大大提高了频繁增加字符串的效率。

2、StringBuilder类的常用方法

StringBuilder类的构造方法有很多,主要是参数上的区别,这里我们主要介绍几种在编程中经常会用到的方法。

(1)StringBuilder append(String str)方法

     StringBuilder bf=new StringBuilder("Hello World");bf.append("--aaa");System.out.println(bf);//输出结果:Hello World--aaa

(2)StringBuilder append(StringBuffer sb)方法

     StringBuilder bf=new StringBuilder("Hello World");bf.append(1111);System.out.println(bf);//输出结果:Hello World1111

(3)StringBuilder insert(int offset, String str) 方法

     StringBuilder bf=new StringBuilder("Hello World");bf.insert(2, 26262);System.out.println(bf);//输出结果:He26262llo World

(4)StringBuilder delete(int start, String end)方法

     StringBuilder bf=new StringBuilder("Hello World");bf.delete(0, 2);System.out.println(bf);//输出结果:llo World

Java基础知识----字符串相关推荐

  1. 八门神器java版本_【修改教程】java基础知识字符串处理_八门神器

    [Java基础知识]字符串处理1.获取字符串的长度 String s = "AIDE"; System.out.println(s "长度为:" s.lengt ...

  2. Java基础知识(五) 字符串与数组

    Java基础知识 字符串与数组 1. 字符串的创建与存储的机制是什么 2. "==".equals和hashCode有什么区别 3. String.StringBuffer.Str ...

  3. 第二十九节:Java基础知识-类,多态,Object,数组和字符串

    前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...

  4. java里面string什么意思_「Java基础知识」Java中的字符串是什么

    原标题:「Java基础知识」Java中的字符串是什么 字符串顾名思义就是一些字符组合在一起组成的一串数据,称作字符串,在Java中字符串用双引号包围起来,格式为String string = &quo ...

  5. 【java json基础】字符串转json json转字符串 json数组转换 【java基础知识】【实用】【一看就会】

    原文:[java json基础]字符串转json json转字符串 json数组转换 [java基础知识][实用][一看就会] 读书就是:从薄读厚,再从厚读薄的过程. 文比较长,各讲述如下: 若是新手 ...

  6. Java基础看jvm,JAVA基础知识|java虚拟机(JVM)

    一.JVM简介 java语言是跨平台的,兼容各种操作系统.实现跨平台的基石就是虚拟机(JVM),虚拟机不是跨平台的,所以不同的操作系统需要安装不同的jdk版本(jre=jvm+类库:jdk=jre+开 ...

  7. 【转】Java基础知识整理

    本博文内容参考相关博客以及<Java编程思想>整理而成,如有侵权,请联系博主. 转载请注明出处:http://www.cnblogs.com/BYRans/ PDF版下载链接:<Ja ...

  8. java基础知识之初识java

    java基础知识之初识java JAVA基础课后总结 一 1.计算机程序 定义:程序(Program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合. 2.指令 定义:指令就是指示机 ...

  9. [JSP暑假实训] 一.MyEclipse安装及JAVA基础知识

    本系列文章是作者暑假给学生进行实训分享的笔记,主要介绍MyEclipse环境下JSP网站开发,包括JAVA基础.网页布局.数据库基础.Servlet.前端后台数据库交互.DAO等知识.非常基础的文章, ...

最新文章

  1. Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解
  2. WPF简单的口算案例
  3. css @media 响应式布局
  4. ppt 胡事民 计算机图形学_从相机标定到SLAM,极简三维视觉六小时课程视频(附PPT)...
  5. 这是 1000 万程序员都想要的格子衫!
  6. [BZOJ3297][USACO2011 Open]forgot
  7. 电脑怎么让图片颜色反转?怎么调图片反色效果?
  8. Flash 第九章 运动补间动画
  9. RabbitMQ从入门到实战(图文并茂)
  10. Ubuntu 18.04.2 LTS Bionic Beaver 发布
  11. hdu4215 Moles
  12. 【Bug解决】curl: (7) Failed connect to 192.168.159.133:8888; No route to host
  13. Ubuntu16.04安装Redshift色温调节工具
  14. ubuntu先anaconda中python3与ros共存时opencv报错
  15. 大数据开发工程师需要具备哪些技能?
  16. Java常用10种设计模式详解
  17. Nginx分布式与集群概述
  18. “还完花呗,再也不用吃土!”是真的吗?
  19. 视频教程-Access2013数据库入门教程2窗体部分-MySQL
  20. AI专题:第一章 人工智能之入门基本方法

热门文章

  1. ubuntu下ffmpeg图片转视频
  2. BinaryWriter
  3. 黑马程序员视频教程学习mybatis框架常用注释SQL语句学习笔记?
  4. 快速打开cmd的方法(win7) window小合集
  5. 数据采集爬虫ip代理基本原理-飞蚁代理
  6. Intellij IDEA误删文件如何恢复
  7. 美国商务旅游白本面签经历分享
  8. OOM和StackOverFlow的区别
  9. 源代码防泄密加密介绍
  10. 宏基因组测序流程(不完全版)