作业2 Java String类的基本用法

Java字符串详解
本文深入解析了Java中的字符串类型,详细介绍了String类的定义、特性及其不可变性。文章列举并解释了String类的多种方法,如字符串比较、长度获取、连接、截取、查找、字符获取、转换、编码、比较、分割、替换等功能,为Java开发者提供了全面的字符串操作指南。

字符串类型属于引用数据类型,Java中用String表示字符串类型。
string是final所修饰的。代表着string这个类不能有子类。(也就是指类中对字符串操作的功能是不能被我们复写)String类对象创建后不能修改,由0或多个字符组成,包含在一对双引号之间。
1.在Java中,字符串其实就是一个String类的对象,可以这样来定义一个字符串:

String str1="HelloJava";//第一种方法
String str2=new String("HelloJava");//第二种方

String类的一些方法
1.判断两个字符相等
public boolean equals(Object anObject)比较源String和anObject内容是否相等,返回值将会是一个boolean值

 public static void main(String[] args) {
        String str1=new String("HelloJava");
        String str2=new String("Hello");
        System.out.println(str1.equals(str2));
        }

输出结果:false
字符串不相等返回false,字符串相等返回true
equalsIgnoreCase()

 public static void main(String[] args) {
        String str1=new String("HelloJava");
        String str2=new String("hellojava");
        System.out.println(str1.equalsIgnoreCase(str2));
        }

输出结果:true
字符串不相等返回false,字符串相等返回true
用法类似equals(),只不过比较时忽略大小写

2.求一个字符串的长度
用length方法,返回值是int类型,返回字符串长度
int length()

public static void main(String[] args) {
        String str="abcd";
        System.out.println(str.length());
        }

输出结果:4

3.将指定字符串连接到此字符串的结尾
String concat(String str)
返回值是string类型

public static void main(String[] args) {
        String str = "abc";
        str = str.concat("123");
        System.out.println(str);
        }

输出结果:abc123

4.用String类的substring方法可以提取字符串中的子串,该方法有两种常用参数:
1)public String substring(int beginIndex)//该方法从beginIndex位置起,从当前字符串中取出剩余的字符作为一个新的字符串返回。
2)public String substring(int beginIndex, int endIndex)//该方法从beginIndex位置起,从当前字符串中取出到endIndex-1位置的字符作为一个新的字符串返回。

public static void main(String[] args) {
        String str1 = new String("abhdhue");
        String str2 = str1.substring(2);
        String str3 = str1.substring(2,5);
        System.out.println(str2);
        System.out.println(str3);
        }

输出结果:hdhue、hdh

5.判断此字符串是否存在某个字符(串)
boolean contains()
存在在此字符串内返回true,否则返回false

public static void main(String[] args) {
        String str = "abc3fg";
        System.out.println(str.contains("bc"));
        System.out.println(str.contains("o"));
        }

输出结果:true 、false

6.根据下标获取字符串的某个字符(可以获取某个特定位置的字符)
char charAt(int index)
返回当前字符串中指定位置的字符

public static void main(String[] args) {
        String str="abh4g";
        char c=str.charAt(2);
        System.out.println (c );
        }

输出结果:h

7.把此字符串转换成一个新的char数组
char[] toCharArray()

 public static void main(String[] args) {
        String str = "This is a String.";
        char[] arr = str.toCharArray();
        System.out.println(arr);
        }

输出结果:This is a String.

8.getBytes()

用平台默认的编码方式对String进行编码,并将结果储存到一个新的byte数组中。

public static void main(String[] args) {
        String str1 = "hello";
        byte[] array;
        array = str1.getBytes();
        for(byte x:array){
            System.out.println("x="+x);
        }

输出结果:x=104
x=101
x=108
x=108
x=111

9.int compareTo()
该方法是对字符串内容按字典顺序进行大小比较,通过返回的整数值指明当前字符串与参数字符串的大小关系。
若当前对象比参数大则返回正整数,反之返回负整数,相等返回0

public static void main(String[] args) {
        String s1 = "abcd";
        String s2 = "abce";
        String s3 = "Abc";
        String s4 = "abcdefg";
        System.out.println(s1.compareTo(s2));
        System.out.println(s1.compareTo(s3));
        System.out.println(s4.compareTo(s1));
        System.out.println(s4.compareTo(s2));
        }

输出结果:-1、32、3、1

10.将字符串分割成字符串数组
String[] split(String str)

public static void main(String[] args) {
        String str = "sgs#jkc#eer";
        String[] str1 = str.split("#");
        for (int i = 0; i < str1.length; i++) {
            System.out.println(str1[i]);
        }

输出结果:sgs、jkc、eer

11.替换字符串
public String replace(char oldChar, charnewChar)
//用字符newChar替换当前字符串中所有的oldChar字符,
//并返回一个新的字符串。

public String replaceFirst(String regex,String replacement)
//该方法用字符replacement的内容替换当前字符串中遇到的
//第一个和字符串regex相匹配的子串,应将新的字符串返回。

public String replaceAll(String regex,String replacement)
//该方法用字符replacement的内容替换当前字符串中遇到的所有
//和字符串regex相匹配的子串,应将新的字符串返回。

public static void main(String[] args) {
        String str = "hjdfjdskdd";
        String str1 = str.replace('h','g');
        String str2 =str.replace("hj","xxx");
        String str3 =str.replaceFirst("d","c");
        String str4 =str.replaceAll("hj","xxx");
        System.out.println(str1+"\n"+str2+"\n"+str3+"\n"+str4)
        }

输出结果:gjdfjdskdd、xxxdfjdskdd、hjcfjdskdd、xxxdfjdskdd

### 头歌 Java 实训 String 使用教程 示例代码 在头歌 Java 实训中,`String` 的使用是一个重要的学习内容。以下是一些与 `String` 相关的基础知识和示例代码,结合提供的引用[^1]进行说明。 #### 1. `String` 基本概念 在 Java 中,`String` 是一个不可变的,表示字符串对象。每个字符串都被视为字符序列的只读集合。一旦创建了一个 `String` 对象,其内容就不能被修改。如果需要对字符串进行修改,可以使用 `StringBuilder` 或 `StringBuffer` 。 ```java // 创建两个相同的字符串对象 String str1 = new String("张三"); String str2 = new String("张三"); // 比较两个对象的引用是否相同 System.out.println(str1 == str2); // 出 false,因为它们是不同的对象 // 比较两个字符串的内容是否相同 System.out.println(str1.equals(str2)); // 出 true,因为内容相同 ``` 上述代码展示了如何通过 `new` 关键字创建字符串对象,并演示了 `==` 和 `equals()` 方法的区别。`==` 比较的是对象的引用,而 `equals()` 比较的是字符串的内容。 #### 2. 常见的 `String` 方法 以下是 `String` 中一些常用的内置方法及其功能: - **`length()`**:返回字符串的长度。 - **`charAt(int index)`**:返回指定索引位置的字符。 - **`substring(int beginIndex, int endIndex)`**:返回从 `beginIndex` 到 `endIndex - 1` 的子字符串。 - **`toUpperCase()` 和 `toLowerCase()`**:将字符串转换为大写或小写。 - **`replace(char oldChar, char newChar)`**:用新字符替换旧字符。 - **`split(String regex)`**:根据指定的正则表达式拆分字符串。 ```java // 示例代码展示常用方法 String str = "hello world"; // 获取字符串长度 System.out.println("Length: " + str.length()); // 11 // 获取指定索引位置的字符 System.out.println("Character at index 0: " + str.charAt(0)); // 出 'h' // 获取子字符串 System.out.println("Substring from index 6 to 11: " + str.substring(6, 11)); // 出 'world' // 转换为大写 System.out.println("Uppercase: " + str.toUpperCase()); // 出 'HELLO WORLD' // 替换字符 System.out.println("Replace 'o' with 'a': " + str.replace('o', 'a')); // 出 'hella warld' // 拆分字符串 String[] parts = str.split(" "); for (String part : parts) { System.out.println(part); // 出 'hello' 和 'world' } ``` #### 3. 字符串比较 除了 `equals()` 方法外,还可以使用其他方法来比较字符串: - **`equalsIgnoreCase(String anotherString)`**:忽略大小写比较两个字符串。 - **`compareTo(String anotherString)`**:按字典顺序比较两个字符串,返回整数值(负数、零或正数)。 - **`startsWith(String prefix)` 和 `endsWith(String suffix)`**:检查字符串是否以指定前缀或后缀开头或结尾。 ```java // 示例代码展示字符串比较 String str1 = "Hello"; String str2 = "hello"; // 忽略大小写的比较 System.out.println(str1.equalsIgnoreCase(str2)); // 出 true // 按字典顺序比较 System.out.println(str1.compareTo(str2)); // 出负值,因为 'H' 小于 'h' // 检查前缀和后缀 System.out.println(str1.startsWith("He")); // 出 true System.out.println(str1.endsWith("lo")); // 出 true ``` #### 4. 字符串拼接 可以通过多种方式实现字符串拼接: - 使用加号 (`+`) 运算符。 - 使用 `String.concat(String str)` 方法。 - 使用 `StringBuilder` 或 `StringBuffer` 。 ```java // 示例代码展示字符串拼接 String str1 = "Hello"; String str2 = "World"; // 使用加号运算符 String result1 = str1 + " " + str2; System.out.println(result1); // 出 'Hello World' // 使用 concat 方法 String result2 = str1.concat(" ").concat(str2); System.out.println(result2); // 出 'Hello World' // 使用 StringBuilder StringBuilder sb = new StringBuilder(); sb.append(str1).append(" ").append(str2); System.out.println(sb.toString()); // 出 'Hello World' ``` ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值