零基础学习Java 06

简介: 零基础学习Java 06

String

String类在java.lang包下,所以使用的时候不需要导包。

 

String构造方法

字符串查找

char charAt(int index),输入位置index,找单个字符

1. public static void main(String[] args) {
2. String s1 = "hello";
3. char ch = s1.charAt(1);
4.         System.out.println(ch);//e
5.     }

int indexOf(int ch)   ,返回ch字符第一次出现的位置下标,没有就返回-1

1. int index = s1.indexOf('l');
2.         System.out.println(index);//2

int indexOf(int ch, int fromIndex),从fromIndex位置开始找ch字符第一次出现的位置,没有就返回-1

1. int index = s1.indexOf('l',4);
2.         System.out.println(index);//-1
3. 
4. int index1 = s1.indexOf('l',3);
5.         System.out.println(index1);//3

int indexOf(String str,int formIndex),从formIndex开始,找Str字符串第一次出现的位置,返回其字符串首字母下标,没有返回-1

1. public static void main(String[] args) {
2. String s2 = "helloxawllxhxawllxh";
3. 
4. int index2 = s2.indexOf("xawl",6);
5.         System.out.println(index2);//12
6.     }

int indexOf(String str,int formIndex),从formIndex开始,找Str字符串第一次出现的位置,返回其字符串首字母下标,没有返回-1

1. public static void main(String[] args) {
2. String s2 = "helloxawllxhxawllxh";
3. 
4. int index2 = s2.indexOf("xawl",6);
5.         System.out.println(index2);//12
6.     }

int lastIndexOf(int ch),从后往前找字符ch,返回从后往前第一次出现ch字符的下标,没有找到返回-1

1. public static void main(String[] args) {
2. String s2 = "helloxawllxhxawllxh";
3. 
4. int index3 = s2.lastIndexOf('a');
5.         System.out.println(index3);//13
6.     }

int lastIndexOf(int ch,int fromIndex),从fromIndex开始,从后往前找字符ch,返回从后往前第一次出现ch字符的下标,没有找到返回-1

1. public static void main(String[] args) {
2. String s2 = "helloxawllxhxawllxh";
3. 
4. int index3 = s2.lastIndexOf('a',7);
5.         System.out.println(index3);//6
6.     }

int laseIndexOf(String str),从后往前找,返回字符串str第一次出现位置的首字母下标,没有找到返回-1

1. public static void main(String[] args) {
2. String s2 = "helloxawllxhxawllxh";
3. 
4. int index4 = s2.lastIndexOf("xawl");
5.         System.out.println(index4);//12
6.     }

int laseIndexOf(String str,int formIndex),从fromIndex开始,从后往前找,返回字符串str第一次出现位置的首字母下标,没有找到返回-1

1. public static void main(String[] args) {
2. String s2 = "helloxawllxhxawllxh";
3. 
4. int index4 = s2.lastIndexOf("xawl",9);
5.         System.out.println(index4);//5
6.     }

字符串截取

从字符串中截取后面字符串的内容,通过substring,

1. public static void main(String[] args) {
2. String str = "adsasdasdasdasd";
3. String ret = str.substring(4);
4.         System.out.println(ret);//sdasdasdasd
5.     }

如果是要截取指定部分内容,可以指定其左右下标范围,但是注意范围是不包括右的[左,右)

1. public static void main(String[] args) {
2. String str = "adsasdasdasdasd";
3. String ret = str.substring(4,7);//截取[4,7)里面的字符
4.         System.out.println(ret);//sda
5.     }

字符串替换

使用replace将字符串中字符进行替换

1. public static void main(String[] args) {
2. String str1 = "xawlxawlxawlxawl";
3. String ret = str1.replace('a','B');
4.         System.out.println(ret);//xBwlxBwlxBwlxBwl
5.         System.out.println(str1);//xawlxawlxawlxawl
6.     }

使用replace或replaceAll将字符串中字符串进行替换

1. public static void main(String[] args) {
2. String str1 = "xawlxawlxawlxawl";
3. String ret = str1.replace("xa","B");
4. String ret1 = str1.replaceAll("xa","B");
5.         System.out.println(ret);//BwlBwlBwlBwl
6.         System.out.println(ret1);//BwlBwlBwlBwl
7.         System.out.println(str1);//xawlxawlxawlxawl
8.     }

使用replaceFrist将字符串中字符进行替换

1. public static void main(String[] args) {
2. String str1 = "xawlxawlxawlxawl";
3. 
4. String ret1 = str1.replaceFirst("xa","B");
5.         System.out.println(ret1);//Bwlxawlxawlxawl
6.     }

字符串拆分

可以将一个完整的字符串按照指定的分隔符,分隔为若干个字符串,用spllit

1. public static void main(String[] args) {
2. String str1 = "Hello this is xawl rjgc professional";
3.         String[] ret = str1.split(" ");
4. for (String s : ret) {
5.             System.out.println(s);
6.         }
7.     }

将字符串以指定的格式,拆分为limit组  

1. public static void main(String[] args) {
2. String str1 = "Hello this is xawl rjgc professional";
3.         String[] ret = str1.split(" ",3);
4. for (String s : ret) {
5.             System.out.println(s);
6.         }
7.     }

这里还要注意,有些特殊字符(| + * . ,)作为分割符可能无法正确切分, 需要加上转义.

1. String str2 = "192.188.12.1";
2.         String[] ret1 = str2.split("\\.");
3. for (String s1: ret1) {
4.             System.out.println(s1);
5.         }

如果是一个字符串中有多个分隔符,那么用 | 作为连字符

1. String str3 = "avasda asda&sad";
2.         String[] ret2 = str3.split(" |&");
3. for (String s2: ret2) {
4.             System.out.println(s2);
5.         }

字符串修改

1. long start = System.currentTimeMillis();
2. String s = "" ;
3. for (int i = 0; i < 100000; ++i) {
4.             s += i;
5.         }
6. long end = System.currentTimeMillis();
7.         System.out.println(end - start);

 

相关文章
|
18天前
|
设计模式 架构师 Java
Java开发工程师转架构师需要学习什么
Java开发工程师转型为架构师需掌握多项技能:精通Java及框架、数据库与分布式系统;熟悉设计模式与架构模式;积累项目经验;提升沟通与领导力;持续学习新技术;培养系统设计与抽象能力;了解中间件及开发工具;并注重个人特质与职业发展。具体路径应结合个人目标与实际情况制定。
42 18
|
1月前
|
监控 Java 调度
【Java学习】多线程&JUC万字超详解
本文详细介绍了多线程的概念和三种实现方式,还有一些常见的成员方法,CPU的调动方式,多线程的生命周期,还有线程安全问题,锁和死锁的概念,以及等待唤醒机制,阻塞队列,多线程的六种状态,线程池等
102 6
【Java学习】多线程&JUC万字超详解
|
2月前
|
前端开发 Java 编译器
【前端学java】如何从前端视角快速学习Maven
【8月更文挑战第12天】如何从前端视角快速学习Maven
43 2
【前端学java】如何从前端视角快速学习Maven
|
2月前
|
存储 算法 Java
Java零基础(1) - 从零开始学习数组
【8月更文挑战第1天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
34 1
|
2月前
|
Java 测试技术 开发者
Java零基础教学(07):学习正确的命名规范
【8月更文挑战第7天】Java零基础教学篇,手把手实践教学!
94 0
|
3月前
|
设计模式 算法 Oracle
Java语言学习路径及学习资源推荐
Java语言学习路径及学习资源推荐
|
4月前
|
缓存 NoSQL Java
Redis系列学习文章分享---第四篇(Redis快速入门之Java客户端--商户查询缓存+更新+双写一致+穿透+雪崩+击穿+工具封装)
Redis系列学习文章分享---第四篇(Redis快速入门之Java客户端--商户查询缓存+更新+双写一致+穿透+雪崩+击穿+工具封装)
57 0
|
4月前
|
存储 NoSQL Java
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
Redis系列学习文章分享---第三篇(Redis快速入门之Java客户端--短信登录+session+验证码+拦截器+登录刷新)
68 0
|
4月前
|
存储 NoSQL Java
Redis系列学习文章分享---第二篇(Redis快速入门之Java客户端--Jedis+连接池+SpringDataRedis+RedisTemplate+RedisSerializer+Hash)
Redis系列学习文章分享---第二篇(Redis快速入门之Java客户端--Jedis+连接池+SpringDataRedis+RedisTemplate+RedisSerializer+Hash)
184 0
|
4月前
|
Java Apache
学习Java中的日志系统设计与优化
学习Java中的日志系统设计与优化
下一篇
无影云桌面