零基础学习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);

 

相关文章
|
22天前
|
存储 Oracle Java
java零基础学习者入门课程
本课程为Java零基础入门教程,涵盖环境搭建、变量、运算符、条件循环、数组及面向对象基础,每讲配示例代码与实践建议,助你循序渐进掌握核心知识,轻松迈入Java编程世界。
211 0
|
2月前
|
Java API 容器
Java基础学习day08-2
本节讲解Java方法引用与常用API,包括静态、实例、特定类型方法及构造器引用的格式与使用场景,并结合代码示例深入解析。同时介绍String和ArrayList的核心方法及其实际应用。
140 1
|
29天前
|
IDE Java 编译器
java编程最基础学习
Java入门需掌握:环境搭建、基础语法、面向对象、数组集合与异常处理。通过实践编写简单程序,逐步深入学习,打牢编程基础。
158 0
|
29天前
|
负载均衡 Java API
grpc-java 架构学习指南
本指南系统解析 grpc-java 架构,涵盖分层设计、核心流程与源码结构,结合实战路径与调试技巧,助你从入门到精通,掌握高性能 RPC 开发精髓。
154 7
|
2月前
|
Java
Java基础学习day08-作业
本作业涵盖Java中Lambda表达式的应用,包括Runnable与Comparator接口的简化实现、自定义函数式接口NumberProcessor进行加减乘及最大值操作,以及通过IntProcessor处理整数数组,实现遍历、平方和奇偶判断等功能,强化函数式编程实践。
64 5
|
2月前
|
Java 程序员
Java基础学习day08
本节讲解Java中的代码块(静态与实例)及其作用,深入介绍内部类(成员、静态、局部及匿名)的定义与使用,并引入函数式编程思想,重点阐述Lambda表达式及其在简化匿名内部类中的应用。
121 5
|
2月前
|
Java
Java基础学习day07-作业
本作业包含六个Java编程案例:1)动物类继承与多态;2)加油卡支付系统;3)员工管理类设计;4)学生信息统计接口;5)USB设备控制;6)家电智能控制。综合运用抽象类、接口、继承、多态等面向对象技术,强化Java基础编程能力。
165 3
|
2月前
|
Java
Java基础学习day06-作业
本内容为Java基础学习作业,涵盖两个案例:一是通过Card类及其子类GoldenCard、SilverCard实现加油卡系统,体现封装与继承;二是通过Shape类及子类Circle、Rectangle演示多态与方法重写,强化面向对象编程理解。
66 1
|
2月前
|
设计模式 存储 Java
Java基础学习day07
本节讲解Java中的final关键字、单例设计模式、枚举类、抽象类与接口。涵盖常量定义、单例写法(饿汉式/懒汉式)、枚举特点及应用场景,以及抽象类与接口的使用与区别,助力掌握核心面向对象编程思想。
129 1
|
2月前
|
Java
Java基础学习day05-作业
本文为Java基础学习第五天作业,通过五个案例练习类与对象的定义、构造方法、set/get方法及成员方法的应用。涵盖女友、学生、教师、手机和电影等类的设计与测试,强化面向对象编程基础。
72 2