目录
一、String 类介绍
Java中的String类是一个不可变的字符串类,用于表示一系列字符。由于该类是不可变的,因此它的每个方法都会返回一个新的字符串对象,而不是修改原始对象。
String类有许多常用的方法,例如:
- length():返回字符串的长度。
- charAt(int index):返回指定索引处的字符。
- equals(Object obj):将此字符串与指定对象进行比较。
- substring(int beginIndex, int endIndex):返回一个子字符串,包括起始索引,但不包括结束索引。
- indexOf(String str):返回序列str在此字符串中第一次出现的索引。
- toUpperCase():将字符串转换为大写字母形式。
- toLowerCase():将字符串转换为小写字母形式。
下面是一个使用String类的示例代码:
public class StringExample {
public static void main(String[] args) {
String str1 = "Hello";
String str2 = "World";
String str3 = str1 + " " + str2;
System.out.println(str3); // 输出 "Hello World"
int len = str3.length(); // 获取字符串长度
char ch = str3.charAt(6); // 获取指定索引的字符
boolean equal = str1.equals("hello"); // 比较两个字符串是否相等
String subStr = str3.substring(6, 11); // 截取子字符串
int index = str3.indexOf("World"); // 查找字符串
String upper = str1.toUpperCase(); // 转换成大写
String lower = str2.toLowerCase(); // 转换成小写
System.out.println("字符串长度:" + len);
System.out.println("第6个字符:" + ch);
System.out.println("str1和\"hello\"是否相等:" + equal);
System.out.println("子字符串:" + subStr);
System.out.println("\"World\"出现的位置:" + index);
System.out.println("大写形式:" + upper);
System.out.println("小写形式:" + lower);
}
}
在这个示例中,我们定义了三个字符串对象:str1、str2和str3,其中str3是由str1和str2连接而成。然后使用String类的各种方法获取字符串的长度、指定索引处的字符、比较字符串是否相等、截取子字符串、查找子串在字符串中的位置以及字符串大小写转换等。最终输出结果如下:
Hello World
字符串长度:11
第6个字符:W
str1和"hello"是否相等:false
子字符串:World
"World"出现的位置:6
大写形式:HELLO
小写形式:world
可以看出,程序首先输出了str3的值,然后依次输出各种String类的方法的执行结果。
二、什么是 Java 基础数据类型
Java的数据类型指的是Java语言中所支持的所有基本类型和引用类型。
Java中的基本类型分为以下8种:
- byte:字节型,占用1个字节(8位),取值范围为-128到127。
- short:短整型,占用2个字节(16位),取值范围为-32768到32767。
- int:整型,占用4个字节(32位),取值范围为-2147483648到2147483647。
- long:长整型,占用8个字节(64位),取值范围为-9223372036854775808到9223372036854775807。
- float:单精度浮点型,占用4个字节(32位),取值范围约为-3.40282347E+38到3.40282347E+38。
- double:双精度浮点型,占用8个字节(64位),取值范围约为-1.79769313486231570E+308到1.79769313486231570E+308。
- char:字符型,占用2个字节(16位),表示Unicode编码的字符。
- boolean:布尔型,只有两个取值:true和false。
除了基本类型外,Java还支持引用类型,包括类、接口、数组以及枚举等。其中类和接口是Java语言的核心概念,是构建复杂程序的基础,而数组和枚举则是对基本类型的扩充和补充。
引用类型在Java中是指一个对象(Object),这个对象可以是已经定义好的类、接口等,也可以是自己定义的类或者数组。在使用引用类型时,需要先创建出该类型的对象,并将其赋值给变量。然后就可以通过对象调用相应的属性和方法了。在Java中,使用new关键字可以创建出一个对象,并返回该对象的引用。
例如:
String str = new String("Hello, world!"); // 创建一个字符串对象,并将其引用赋值给str变量
System.out.println(str); // 输出字符串对象的内容
在这个示例中,我们创建了一个字符串对象,并将其引用赋值给变量str,然后通过输出语句输出该字符串对象的内容。
三、String 属于基础的数据类型吗
Java中的String是一种特殊的对象类型,而不是基本数据类型。虽然使用起来类似于基本数据类型,但在Java中,只有8种基本数据类型,它们分别是:byte、short、int、long、float、double、boolean和char。
String类型在Java内部实际上是一个类,它实现了CharSequence、Serializable和Comparable接口,有自己的构造函数和方法。在Java中声明String类型变量时,实际上是创建了一个指向某个字符串对象的引用变量。也就是说,String类型变量存储的是字符串对象的引用地址,而不是字符串本身。
由于String类型在Java中非常常用,因此Java对其进行了优化,使得String类型的使用更加方便和高效。例如,Java中的字符串常量池(String Pool)可以避免重复创建相同的字符串对象,并且Java字符串对象是不可变的,这意味着一旦一个字符串对象被创建,就无法修改其内容。这些优化措施使得Java中处理字符串变得非常高效和安全。