一、包装类:基本类型的"华丽变身"
概念:
对应8种基本类型的引用类型,支持null值,可参与泛型、集合操作,实现基本类型与字符串互转。
语法&代码示例:
public class WrapperTest {
public static void main(String[] args) {
// 装箱:基本类型转包装类
Integer num1 = Integer.valueOf(10);
Integer num2 = 20; // 自动装箱
// 拆箱:包装类转基本类型
int num3 = num1.intValue();
int num4 = num2; // 自动拆箱
// 字符串转基本类型
int num5 = Integer.parseInt("30");
System.out.println(num1 + num2 + num3 + num4 + num5); // 90
}
}
二、String、StringBuffer、StringBuilder:字符串三兄弟
概念:
String不可变,适合少量字符串操作;StringBuffer线程安全、效率低,StringBuilder非线程安全、效率高,二者均可变,适合频繁修改字符串。
语法&代码示例:
public class StringTest {
public static void main(String[] args) {
String str = "Java";
str += "进阶"; // 生成新字符串对象
System.out.println(str); // Java进阶
StringBuffer sb = new StringBuffer("Java");
sb.append("进阶"); // 直接修改原对象,线程安全
System.out.println(sb); // Java进阶
StringBuilder sbd = new StringBuilder("Java");
sbd.append("进阶"); // 直接修改原对象,效率高
System.out.println(sbd); // Java进阶
}
}
三、静态关键字static:独属于类的"特殊标识"
概念:
修饰变量、方法、代码块,属于类而非对象,可直接通过类名调用,静态代码块随类加载执行且仅执行一次。
语法&代码示例:
public class StaticTest {
// 静态变量
private static String className = "Java进阶班";
// 普通变量
private String name;
// 静态代码块
static {
System.out.println("静态代码块执行");
}
// 静态方法
public static void showClassName() {
System.out.println(className);
// 静态方法不能调用非静态成员
// System.out.println(name); 报错
}
public static void main(String[] args) {
// 直接通过类名调用静态成员
StaticTest.showClassName();
System.out.println(StaticTest.className);
StaticTest obj = new StaticTest();
obj.name = "小明";
System.out.println(obj.name);
}
}