亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

Java 字符串

Java 字符串

在本教程中,我们将通过示例了解 Java 字符串、如何创建字符串以及 String 类的各种方法。

在Java中,字符串是一个字符序列。例如,“你好” 是一个包含一系列字符 'h' 的字符串 , 'e' , 'l' , 'l' , 和 'o' .

我们使用双引号 在 Java 中表示一个字符串。例如,

// create a string
String type = "Java programming";

在这里,我们创建了一个名为 type 的字符串变量 .变量用字符串 Java Programming 初始化 .


示例:在 Java 中创建字符串

class Main {
  public static void main(String[] args) {
    
    // create strings
    String first = "Java";
    String second = "Python";
    String third = "JavaScript";

    // print strings
    System.out.println(first);   // print Java
    System.out.println(second);  // print Python
    System.out.println(third);   // print JavaScript
  }
}

在上面的示例中,我们创建了三个名为 first 的字符串 , , 和 第三个 .在这里,我们直接创建类似于原始类型的字符串。

但是,还有另一种创建 Java 字符串的方法(使用 new 关键词)。我们将在本教程的后面部分了解这一点。

注意 :Java 中的字符串不是原始类型(如 int , char , ETC)。相反,所有字符串都是名为 String 的预定义类的对象 .

而且,所有字符串变量都是 String 的实例 类。


Java 字符串操作

Java String 提供了各种方法来对字符串执行不同的操作。我们将研究一些常用的字符串操作。

1.获取字符串的长度

要查找字符串的长度,我们使用 length() 字符串的方法。例如,

class Main {
  public static void main(String[] args) {

    // create a string
    String greet = "Hello! World";
    System.out.println("String: " + greet);

    // get the length of greet
    int length = greet.length();
    System.out.println("Length: " + length);
  }
}

输出

String: Hello! World
Length: 12

在上面的例子中,length() 方法计算字符串中的字符总数并返回。要了解更多信息,请访问 Java String length()。


2.连接两个 Java 字符串

我们可以使用 concat() 在 Java 中连接两个字符串 方法。例如,

class Main {
  public static void main(String[] args) {

    // create first string
    String first = "Java ";
    System.out.println("First String: " + first);

    // create second
    String second = "Programming";
    System.out.println("Second String: " + second);

    // join two strings
    String joinedString = first.concat(second);
    System.out.println("Joined String: " + joinedString);
  }
}

输出

First String: Java 
Second String: Programming     
Joined String: Java Programming

在上面的示例中,我们创建了两个名为 first 的字符串 和 .注意声明,

String joinedString = first.concat(second);

这里,concat() 方法加入 second first 的字符串 字符串并将其分配给 joinedString 变量。

我们还可以使用 + 连接两个字符串 Java中的运算符。要了解更多信息,请访问 Java String concat()。


3.比较两个字符串

在 Java 中,我们可以使用 equals() 来比较两个字符串 方法。例如,

class Main {
  public static void main(String[] args) {

    // create 3 strings
    String first = "java programming";
    String second = "java programming";
    String third = "python programming";

    // compare first and second strings
    boolean result1 = first.equals(second);
    System.out.println("Strings first and second are equal: " + result1);

    // compare first and third strings
    boolean result2 = first.equals(third);
    System.out.println("Strings first and third are equal: " + result2);
  }
}

输出

Strings first and second are equal: true
Strings first and third are equal: false

在上面的示例中,我们创建了 3 个名为 first 的字符串 , , 和 第三个 .在这里,我们使用 equal() 检查一个字符串是否等于另一个字符串的方法。

equals() 方法在比较字符串时检查字符串的内容。要了解更多信息,请访问 Java String equals()。

注意 :我们也可以使用 == 比较两个字符串 Java中的运算符。但是,这种方法不同于 equals() 方法。要了解更多信息,请访问 Java String ==vs equals()。


Java 字符串中的转义字符

转义字符用于转义字符串中存在的一些字符。

假设我们需要在字符串中包含双引号。

// include double quote 
String example = "This is the "String" class";

由于字符串由双引号表示 ,编译器会处理 "This is the " 作为字符串。所以上面的代码会报错。

为了解决这个问题,我们使用转义字符 \ 在爪哇。例如,

// use the escape character
String example = "This is the \"String\" class.";

现在转义字符告诉编译器转义 双引号 并阅读全文。


Java 字符串是不可变的

在 Java 中,字符串是不可变的 .这意味着,一旦我们创建了一个字符串,就无法更改该字符串。

为了更深入地理解它,考虑一个例子:

// create a string
String example = "Hello! ";

在这里,我们创建了一个名为 example 的字符串变量 .该变量包含字符串 "Hello!" .

现在假设我们要更改字符串。

// add another string "World"
// to the previous tring example
example = example.concat(" World");

在这里,我们使用 concat() 添加另一个字符串 World 的方法 到上一个字符串。

看起来我们能够更改前一个字符串的值。但是,这不是 true .

让我们看看这里发生了什么,

  1. JVM 获取第一个字符串 "Hello!"
  2. 通过添加 "World" 创建一个新字符串 到第一个字符串
  3. 分配新字符串 "Hello! World" 示例 变量
  4. 第一个字符串 "Hello!" 保持不变

使用新关键字创建字符串

到目前为止,我们已经在 J​​ava 中创建了类似于原始类型的字符串。

由于 Java 中的字符串是对象,我们可以使用 new 创建字符串 关键字也是。例如,

// create a string using the new keyword
String name = new String("Java String");

在上面的例子中,我们创建了一个字符串 name 使用 new 关键字。

在这里,当我们创建一个字符串对象时,String() 构造函数被调用。要了解有关构造函数的更多信息,请访问 Java 构造函数。

注意 :String 类提供了各种其他构造函数来创建字符串。要了解更多信息,请访问 Java String(Java 官方文档)。


示例:使用 new 关键字创建 Java 字符串

class Main {
  public static void main(String[] args) {

    // create a string using new
    String name = new String("Java String");

    System.out.println(name);  // print Java String
  }
}

使用文字 vs new 关键字创建字符串

现在我们知道了如何使用字符串文字和 new 创建字符串 关键字,让我们看看它们之间的主要区别是什么。

在 Java 中,JVM 维护一个 字符串池 将其所有字符串存储在内存中。字符串池有助于重用字符串。

1. 在使用字符串字面量创建字符串时,

String example = "Java";

在这里,我们直接提供字符串的值 (Java )。因此,编译器首先检查字符串池,看字符串是否已经存在。

2.使用new关键字创建字符串时,

String example = new String("Java");

这里没有直接提供字符串的值。因此,一个新的 "Java" 即使 "Java" 也会创建字符串 已经存在于内存池中。


Java String 的方法

除了上面提到的之外,Java 中还有各种字符串方法。以下是其中一些方法:

方法 说明
包含() 检查字符串是否包含子字符串
substring() 返回字符串的子字符串
加入() 使用分隔符连接给定的字符串
替换() 用指定的新字符替换指定的旧字符
replaceAll() 替换所有匹配正则表达式模式的子字符串
replaceFirst() 替换第一个匹配的子串
charAt() 返回指定位置的字符
getBytes() 将字符串转换为字节数组
indexOf() 返回指定字符在字符串中的位置
compareTo() 按字典顺序比较两个字符串
compareToIgnoreCase() 比较两个字符串忽略大小写差异
修剪() 删除所有前导和尾随空格
格式() 返回一个格式化的字符串
split() 将字符串分解为字符串数组
toLowerCase() 将字符串转换为小写
toUpperCase() 将字符串转换为大写
valueOf() 返回指定参数的字符串表示
toCharArray() 将字符串转换为 char 数组
匹配() 检查字符串是否匹配给定的正则表达式
startsWith() 检查字符串是否以给定字符串开头
endsWith() 检查字符串是否以给定字符串结尾
isEmpty() 检查字符串是否为空
实习生() 返回字符串的规范表示
contentEquals() 检查字符串是否等于charSequence
hashCode() 返回字符串的哈希码
subSequence() 从字符串中返回一个子序列

java

  1. C# 字符串
  2. Java 运算符
  3. Java 接口
  4. Java 枚举字符串
  5. Java try-with-resources
  6. Java 注释
  7. Java String charAt() 方法及示例
  8. Java String endsWith() 方法及示例
  9. Java String replace()、replaceAll() 和 replaceFirst() 方法
  10. Java String toLowercase() 和 toUpperCase() 方法
  11. 如何在 Java 中将字符转换为字符串(示例)
  12. 如何使用递归在 Java 中反转字符串