【蓝桥杯Java_C组·从零开始卷】第四节(附)、字符串常用函数

简介: 【蓝桥杯Java_C组·从零开始卷】第四节(附)、字符串常用函数

字符串由来

通过以下编码可以看出,字符串实际就是字符数组。


char chars[]={'a','b','c'};
String s=new String(chars);
System.out.println(s);
int len=s.length();
System.out.println(len);

image.png

字符串转成byte数组

String s = "Hello world";
byte[] bytes = s.getBytes();
for (byte b : bytes) {
  System.out.print((char)b);
}

image.png

常用字符串函数列表:

length()//取得字符串的长度


substring()//字符串截取


concat() //连接两个字符串


replace()//替换


trim()//去掉起始和结尾的空格


valueOf()//转换为字符串


toLowerCase()//转换为小写


toUpperCase()//转换为大写


toCharArray()//转char数组


equals()//比较两个字符串区分大小写


equalsIgnoreCase()//比较两个字符串不区分大小写


indexOf()//查找字符或者子串第一次出现的地方


lastIndexOf()//查找字符或者子串是后一次出现的地方


split()//字符串分割


substring

package Action;
public class demo {
  public static void main(String[] args) {
  String str="I HAVE A DREAM!";
  String s = str.substring(2, 2+4);
  System.out.println(s);
  }
}

image.png

replace

package Action;
public class demo {
  public static void main(String[] args) {
  String str="I HAVE A DREAM!";
  String s = str.replace("DREAM", "GOOD IDEA");
  System.out.println(s);
  }
}

image.png

trim

package Action;
public class demo {
  public static void main(String[] args) {
  String str="\tI HAVE A DREAM!\t"; 
  String s = str.trim();
  System.out.println(s);
  }
}

image.png

toCharArray

package Action;
public class demo {
  public static void main(String[] args) {
  String str = "89dsa dady8)ILuhd9usa)(*YGIUhdusa hoi";
  char[] array = str.toCharArray();
  int low = 0;
  int up = 0;
  int num = 0;
  int other = 0;
  for (char c : array) {
    if (c >= 'a' && c <= 'z') {
    low++;
    } else if (c >= 'A' && c <= 'Z') {
    up++;
    } else if (c >= '0' && c <= '9') {
    num++;
    } else {
    other++;
    }
  }
  System.out.println(str.length());
  System.out.println(low);
  System.out.println(up);
  System.out.println(num);
  System.out.println(other);
  }
}

image.png

toLowerCase与toUpperCase

package Action;
public class demo {
  public static void main(String[] args) {
  String str="I HAVE A DREAM!";
  String lowerCase = str.toLowerCase();
  System.out.println(lowerCase);
  String upperCase = str.toUpperCase();
  System.out.println(upperCase);
  }
}

image.png

indexOf

package Action;
import java.util.UUID;
public class demo {
  public static void main(String[] args) {
  String str = UUID.randomUUID().toString().replaceAll("-", "");
  String fileName = str.concat(".jpg");
  int indexOf = fileName.indexOf(".jpg");
  System.out.println(indexOf);
  System.out.println(fileName.substring(indexOf,fileName.length()));
  }
}

image.png

split

package Action;
import java.util.UUID;
public class demo {
  public static void main(String[] args) {
  String str = UUID.randomUUID().toString();
  System.out.println(str);
  String[] split = str.split("-",str.length());
  for (String string : split) {
    System.out.println(string);
  }
  }
}


image.png

image.png

相关文章
|
3月前
|
SQL JSON Java
告别字符串拼接:用Java文本块优雅处理多行字符串
告别字符串拼接:用Java文本块优雅处理多行字符串
379 108
|
3月前
|
存储 Java Go
对比Java学习Go——函数、集合和OOP
Go语言的函数支持声明与调用,具备多返回值、命名返回值等特性,结合`func`关键字与类型后置语法,使函数定义简洁直观。函数可作为一等公民传递、赋值或作为参数,支持匿名函数与闭包。Go通过组合与接口实现面向对象编程,结构体定义数据,方法定义行为,接口实现多态,体现了Go语言的简洁与高效设计。
|
5月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
348 14
|
5月前
|
SQL JSON Java
告别拼接噩梦:Java文本块让多行字符串更优雅
告别拼接噩梦:Java文本块让多行字符串更优雅
552 82
|
9月前
|
存储 缓存 安全
Java字符串缓冲区
字符串缓冲区是用于处理可变字符串的容器,Java中提供了`StringBuffer`和`StringBuilder`两种实现。由于`String`类不可变,当需要频繁修改字符串时,使用缓冲区更高效。`StringBuffer`是一个线程安全的容器,支持动态扩展、任意类型数据转为字符串存储,并提供多种操作方法(如`append`、`insert`、`delete`等)。通过这些方法,可以方便地对字符串进行添加、插入、删除等操作,最终将结果转换为字符串。示例代码展示了如何创建缓冲区对象并调用相关方法完成字符串操作。
248 13
|
9月前
|
存储 缓存 安全
Java 字符串详解
本文介绍了 Java 中的三种字符串类型:String、StringBuffer 和 StringBuilder,详细讲解了它们的区别与使用场景。String 是不可变的字符串常量,线程安全但操作效率较低;StringBuffer 是可变的字符串缓冲区,线程安全但性能稍逊;StringBuilder 同样是可变的字符串缓冲区,但非线程安全,性能更高。文章还列举了三者的常用方法,并总结了它们在不同环境下的适用情况及执行速度对比。
209 17
|
11月前
|
算法 Java C++
【潜意识Java】蓝桥杯算法有关的动态规划求解背包问题
本文介绍了经典的0/1背包问题及其动态规划解法。
370 5
|
2月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
174 1
|
2月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
199 1