Java零基础入门-字符串
前言
Java是一门非常强大的编程语言,在计算机领域拥有广泛的应用。作为Java的入门阶段,掌握字符串的基本概念以及使用方法是非常重要的,它也是Java程序中经常使用的一种数据类型。
本文将从Java字符串的定义、创建、内容操作等方面进行详细阐述,给读者带来更加全面深入的认识。
摘要
本文主要介绍Java字符串的定义、创建、内容操作等方面,包括如何创建字符串、如何获取字符串的长度、如何进行字符串的连接和分割、如何进行字符串的查找和替换等。
简介
Java字符串是指一串字符的序列,它是Java中的一种基本数据类型。字符串可以是任何字符集合,例如数字、字母、特殊字符等。字符串在Java中是不可变的,一旦被创建,就无法改变其内容。
Java字符串类提供了一系列方法,可以对字符串进行操作,如创建、连接、分割、查找、替换等。使用这些方法,可以方便地对字符串进行处理。
源代码解析
创建字符串
Java提供了两种创建字符串的方式:直接赋值和使用String类的构造方法。
// 直接赋值
String str1 = "hello world";
// 使用构造方法
String str2 = new String("hello world");
获取字符串的长度
Java中使用length()
方法获取字符串的长度。
String str = "hello world";
int len = str.length();
System.out.println(len);
字符串连接
Java中使用+
或concat()
方法来实现字符串连接。
String str1 = "hello";
String str2 = "world";
String str3 = str1 + str2;
String str4 = str1.concat(str2);
System.out.println(str3);
System.out.println(str4);
字符串分割
Java中使用split()
方法对字符串进行分割。
String str = "hello,world,java";
String[] arr = str.split(",");
for (String s : arr) {
System.out.println(s);
}
字符串查找
Java中使用indexOf()
方法查找字符串中指定字符或子串的位置。
String str = "hello world";
int index = str.indexOf("o");
System.out.println(index);
字符串替换
Java中使用replace()
方法对字符串进行替换。
String str = "hello world";
String newStr = str.replace("world", "java");
System.out.println(newStr);
应用场景案例
实现字符串加密
public static String encrypt(String str, int key) {
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
chars[i] = (char) (chars[i] + key);
}
return new String(chars);
}
public static String decrypt(String str, int key) {
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
chars[i] = (char) (chars[i] - key);
}
return new String(chars);
}
实现字符串倒序输出
public static String reverse(String str) {
char[] chars = str.toCharArray();
int left = 0;
int right = chars.length - 1;
while (left < right) {
char temp = chars[left];
chars[left] = chars[right];
chars[right] = temp;
left++;
right--;
}
return new String(chars);
}
优缺点分析
优点
- 字符串在Java中具有很高的应用价值,是一种非常常用的数据类型。
- Java字符串类提供了丰富的方法,可以对字符串进行各种操作,非常方便实用。
- 字符串在Java中是不可变的,这样就可以大大提高程序的安全性。
缺点
- 字符串在Java中是不可变的,这就意味着每次对字符串进行修改时,都会创建一个新的字符串对象,这可能会消耗较多的系统资源和内存。
类代码方法介绍
String类
构造方法
String()
:产生内容为空的字符串String(byte[] bytes)
:使用平台默认字符集将byte数组转换为字符串String(byte[] bytes, Charset charset)
:使用指定字符集将byte数组转换为字符串String(byte[] bytes, int offset, int length)
:使用平台默认字符集将byte数组的一部分转换为字符串String(char[] value)
:使用字符数组中的字符序列创建字符串String(char[] value, int offset, int count)
:使用字符数组的一部分创建字符串String(int[] codePoints, int offset, int count)
:使用Unicode字符数组的一部分创建字符串String(String original)
:创建与字符串参数相同的字符串String(StringBuffer buffer)
:使用StringBuffer中的字符序列创建字符串String(StringBuilder builder)
:使用StringBuilder中的字符序列创建字符串
常用方法
charAt(int index)
:返回指定索引处的字符compareTo(String anotherString)
:按字典序比较两个字符串,相等返回0,大于返回正数,小于返回负数concat(String str)
:将指定字符串连接到原字符串末尾contains(CharSequence s)
:判断字符串中是否包含指定字符串endsWith(String suffix)
:判断字符串是否以指定字符串结尾equals(Object anObject)
:将此字符串与指定对象进行比较equalsIgnoreCase(String anotherString)
:将此字符串与指定字符串进行比较,不考虑大小写getBytes()
:使用平台的默认字符集将此字符串编码为byte序列,并将结果存储到一个新的byte数组中indexOf(int ch)
:返回指定字符第一次出现的位置indexOf(String str)
:返回指定字符串第一次出现的位置isEmpty()
:判断此字符串是否为空lastIndexOf(int ch)
:返回指定字符最后一次出现的位置lastIndexOf(String str)
:返回指定字符串最后一次出现的位置length()
:返回此字符串的长度replace(char oldChar, char newChar)
:返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的replaceAll(String regex, String replacement)
:使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串split(String regex)
:根据给定正则表达式的匹配拆分此字符串startsWith(String prefix)
:测试此字符串是否以指定的前缀开头substring(int beginIndex)
:返回一个新的字符串,它是此字符串从指定位置 beginIndex 处开始的子字符串substring(int beginIndex, int endIndex)
:返回一个新字符串,它是一个此字符串从指定的 beginIndex 处开始,直到索引 endIndex - 1 处的字符子串toLowerCase()
:将此字符串转换为小写字母toUpperCase()
:将此字符串转换为大写字母trim()
:返回字符串的副本,忽略前导空白和尾部空白
测试用例
public class StringTest {
public static void main(String[] args) {
// 创建字符串
String str1 = "hello world";
String str2 = new String("hello world");
// 获取字符串的长度
int len = str1.length();
System.out.println(len);
// 字符串连接
String str3 = str1 + " " + str2;
String str4 = str1.concat(str2);
System.out.println(str3);
System.out.println(str4);
// 字符串分割
String str5 = "hello,world,java";
String[] arr = str5.split(",");
for (String s : arr) {
System.out.println(s);
}
// 字符串查找
String str6 = "hello world";
int index = str6.indexOf("o");
System.out.println(index);
// 字符串替换
String str7 = "hello world";
String newStr = str7.replace("world", "java");
System.out.println(newStr);
// 加密和解密字符串
String str8 = "password";
String encryptStr = encrypt(str8, 5);
System.out.println(encryptStr);
String decryptStr = decrypt(encryptStr, 5);
System.out.println(decryptStr);
// 字符串倒序输出
String str9 = "hello world";
String reversedStr = reverse(str9);
System.out.println(reversedStr);
}
public static String encrypt(String str, int key) {
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
chars[i] = (char) (chars[i] + key);
}
return new String(chars);
}
public static String decrypt(String str, int key) {
char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++) {
chars[i] = (char) (chars[i] - key);
}
return new String(chars);
}
public static String reverse(String str) {
char[] chars = str.toCharArray();
int left = 0;
int right = chars.length - 1;
while (left < right) {
char temp = chars[left];
chars[left] = chars[right];
chars[right] = temp;
left++;
right--;
}
return new String(chars);
}
}
总结
本文介绍了Java字符串的定义、创建、内容操作等方面,包括如何创建字符串、如何获取字符串的长度、如何进行字符串的连接和分割、如何进行字符串的查找和替换等。同时也通过应用场景案例和常用方法介绍,帮助读者更加全面深入地了解字符串的使用。
在使用字符串时,需要注意它的不可变性和创建新字符串可能带来的性能和内存开销。在实际开发中,应该根据具体情况,选择适当的字符串处理方法。
标签:Java,入门,int,chars,str,字符串,String From: https://blog.51cto.com/u_15700799/8460869