一 关于类的定义格式的关键字总结
定义的关键字 | 含义 |
---|---|
class | 普通类 |
abstract class | 抽象类 |
interface | 接口 |
enum | 枚举类 |
继承类或者实现接口的关键字 | 含义 |
---|---|
extends | 继承类(只支持单继承) |
implements | 实现接口(可以多实现,多个接口之间用 逗号 分隔) |
比较项 | 普通类 | 抽象类 | 接口 |
---|---|---|---|
定义关键字 | class | abstract | interface |
继承或实现的关键字 | extends | extends | implements |
成员字段 | 变量常量 | 变量常量 | 常量 |
构造器 | 即能定义也能实例化 | 能定义不能实例化 | 即不能定义也不不能实例化 |
成员方法 | 实体方法、静态方法 | 实体方法、静态方法、抽象 | 抽象 |
二 常用类
1 java.lang包:
① 含义:java语言包 ,是Java中唯一一个不需要import 导入的包
② 常用类:System类 、String 类(StringBuffer、StringBuilder)、Math、包装类…
2 java.util包:
① 含义:java工具包
② 常用类:Scanner 类、Arrays类、UUID类、Date类、Calendar类、BigDecimal类、集合类…
3 java.io包
① 含义:java IO流包
② 常用类:IO流类、File类
三 介绍
1 System类
作用:java为了适应不同的操作系统(Windows、Linux、Max OS)创建
// 从键盘录入数据
System.in
// 从系统输出
System.out
// 将指定数组从指定位置开始,复制到目标数组的指定位置
arraycopy(原数组,原数组起始位置,目标数组,目标数组起始位置,复制长度)
2 Math类
作用:基础数学操作类
// π
PI
// 平方根
sqrt
// 随机数
random
3 包装类
由于常用类成员需要对象.调用;但基本数据类型无法生成对象,因此java通过中关于基本数据类型的包装类,实例化对象,调用方法。其依然是对基本类型的操作,依然符合基本数据类型的取值范围
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
由于java中byte的取值范围是[-128,127]之间,使用Integer进行赋值的,如果在这个范围之内,则是在真内存中完成赋值,因此可以使用==比较值是否一致,如果在取值范围之外,Integer底层会使用 new Integer(int num)构造器完成赋值,也就是在堆内存中赋值,因此需要使用equals方法完成比较
四 包装类数据类型转换
1 包装类与基本数据类型的转换
① 基本数据类型转换为包装类
public class Test {
// 基本数据类型转包装类
public static void main(String[] args) {
// 方式一:通过包装类构造器public Integer(int num)
int num =8;
Integer it1 = new Integer(num);
// 方式二:自动装箱
Integer it2 = 8;
// 方式三:通过Integer类提供的方法
// public static Integer valueOf(int num);
Integer it3 = Integer.valueOf(num);
}
}
② 包装类转换为基本数据类型
public class Test {
// 包装类转基本数据类型
public static void main(String[] args) {
// 方式一:自动拆箱
Integer it1 = new Integer(49);
int num1 = it1;
// 方式二:通过Integer类提供的方法
// public int intValue();
int num2 = it1.intValue();
}
}
2 包装类与String类型相互转换
① 包装类转换为String
public class Test {
// 包装类转String
public static void main(String[] args) {
// 方式一:+号拼接String类型变量
String str1="qwe";
Integer it1 = Integer.valueOf(49);
String newstr=str1+it1;
// 方式二:通过包装类对象调用对应的方法
// public String toString();
String srt2=it1.toString();
}
}
② String转换为包装类
public class Test {
// String转包装类
public static void main(String[] args) {
// 方式一:通过包装类的构造器完成转换
// public Integer(String str)
// String转数值类型时,String类型需要是数值
// String类型无法转换为char或Character
// String转Boolean或boolean时,若值不是true或false一律转换为false(表示错误转换)
// 当String为true或false时,转换结果为布尔类型
Boolean flag= new Boolean(new String("true"));
// 方式二:通过包装类调用对应的方法
// public static Integer valueOf()
Integer it=Integer.valueOf(new String("77"));
}
}
3 String与基本数据类型转换
① 基本数据类型转换为String
public class Test {
// 基本数据类型转String
public static void main(String[] args) {
// 方式一:通过+号拼接String类型
String str1="";
System.err.println(str1+77);
// 方式二:由String类提供对应的方法
// public static String valueOf(int num)
String str2=String.valueOf(77);
System.err.println(str2);
}
}
② String类型转换为基本数据类型
public class Test {
// String转基本数据类型
public static void main(String[] args) {
// 通过包装类提供的方法
// public static int parseInt(String value)
int num=Integer.parseInt(new String("66"));
}
}