一、API使用:
1、英文版本,Java官方提供,可直接下载:https://www.oracle.com/java/technologies/javase-jdk15-doc-downloads.html
2、中文版本,第一节课程软件文件夹中提供。
二、常用包:java.base模块中
1、java.lang包(浪包):由Java虚拟机自动导入,不用import。常用的:System类、String类。。。。
2、java.util包:Java语言工具包。常用的:Scanner\Random\List....
3、java.io包:大量读写文件相关。常用的:FileInputStream、FileOutputStream...
4、java.net包:网络包,大量网络编程相关的类。常用的:ServerSocket、Socket...
5、java.sql包:大量操作数据库的类和接口。常用的:DriverManager、Connection...
....
三、java.base.lang.Object类
1、是所有类层次结构的根类,定义java类时没有extends修饰,均认为extends Object,方法均继承。
2、常用方法:
方法声明 | 功能介绍 |
Object() | 使用无参构造方法对象 |
boolean equals(Obiect obj) | 用于判断调用对象是否与参数对象相等。 该方法默认比较两个对象的地址是否相等,与“==”运算符的效果一致。(按住Ctrl移动鼠标在方法名上点击鼠标左键——打开源码) 若希望比较两个对象的内容,则需要重写该方法。 该方法被重写后,则应该重写hashCode方法保证结果一致。 优化:非null对象使用。x.equals(null)=false 同一指向状况。 |
int hashCode() | 用于获取调用对象的哈希码值(内存地址编号) 若两个对象调用equals方法相等,则各自调用该方法的结果必相等。 若两个调用对象equals方法不相等,则调用该方法的结果应该不相同。 为了使得该方法与equals方法保持一致,需要重写该方法。 |
String toString() | 用于获取调用对象的字符串形式 该方法默认返回的字符串为:包名@哈希码值的十六进制 为了返回更有意义的数据,需要重写该方法 使用print或println打印引用或字符串拼接引用都会自动调用该方法。System.out.println(s1); |
Class<?> getClass() | 用于返回调用对象执行时的Class实例,反射机制使用 |
name != null ? name.equals(student.name) : student.name == null;
三元运算符(条件 ? 表达式1 : 表达式2)
四、包装类:对基本数据类型进行包装。
包装类 | 对应基本类型 |
java.lang.Byte | byte |
java.lang.Short | short |
java.lang.Integer | int |
java.lang.Long | long |
java.lang.Float | float |
java.lang.Double | double |
java.lang.Boolean | boolean |
java.lang.Character | char |
1、Integer类
(1)常用变量
常量类型和名称 | 功能介绍 |
public static final int MAX_VALUE | 表示int类型可以描述的最大值,即2^31-1 |
public static final int MIN_VALUE | 表示int类型可以描述的最小值,即-2^31 |
public static final int SIZE | 表示int类型采用二进制补码形式的位数 |
public static final int BYTES | 表示int类型所占的字节个数 |
public static final Class TYPE | 表示int类型的Class实例 |
(2)常用方法
方法声明 | 功能介绍 |
|
@Deprecated(since="9") |
|
|
int intValue() | 获取调用对象中的整数数值并返回(拆箱) |
static Integer valueOf(int i) | 根据参数指定整数值得到Integer类型对象(装箱) |
boolean equals(Object obj) | 比较调用对象与参数指定的对象是否相等 |
String toString() | 返回描述调用对象数值的字符串形式 |
static int parseInt(String s) | 将字符串类型转换为int类型并返回 |
static String toString(int i) | 获取参数指定整数的十进制字符串形式 |
static String toBinaryString(int i) | 获取参数指定整数的二进制字符串形式 |
static String toHexString(int i) | 获取参数指定整数的十六进制字符串形式 |
static String toOctalString(int i) | 获取参数指定整数的八进制字符串形式 |
(3)自动装箱拆箱
//从Java5开始增加了自动装箱和拆箱机制 Integer it5 = 100; //直接通过赋值运算符实现自动装箱 int ib = it5; //直接通过赋值运算符实现自动拆箱
(4)自动装箱池:大小可以通过JVM修改,调优部分会讲解。
/**
* Cache to support the object identity semantics of autoboxing for values between
* -128 and 127 (inclusive) as required by JLS.
*
* The cache is initialized on first usage. The size of the cache
* may be controlled by the {@code -XX:AutoBoxCacheMax=<size>} option.
* During VM initialization, java.lang.Integer.IntegerCache.high property
* may be set and saved in the private system properties in the
* jdk.internal.misc.VM class.
*/
private static class IntegerCache {
static final int low = -128;
static final int high;
static final Integer cache[];
static {
// high value may be configured by property
int h = 127;
2、Double类
(1)常用变量
常量类型和名称 | 功能介绍 |
public static final int SIZE | 表示double类型的二进制位数 |
public sttaic final int BYTES | 表示double类型的字节个数 |
public static final Class TYPE | 表示double类型的Class实例 |
(2)常用方法
方法声明 | 功能介绍 |
|
|
|
|
double doubleValue() | 获取调用对象中的浮点数据并返回 |
static Double valueOf(double d) | 根据参数指定浮点数据得到Double类型对象 |
boolean equals(Object obj) | 比较调用对象与参数指定的对象是否相等 |
String toString() | 返回描述调用对象数值的字符串形式 |
static double parseDouble(String s) | 将字符串类型转换为double类型并返回 |
boolean isNaN() | 判断调用对象的数值是否为非数字 |
扩展:java.lang.Number类是抽象类,是上述类的父类
- 已知直接子类:
AtomicInteger
,AtomicLong
,BigDecimal
,BigInteger
,Byte
,Double
,DoubleAccumulator
,DoubleAdder
,Float
,Integer
,Long
,LongAccumulator
,LongAdder
,Short
3、Boolean类
(1)常用常量
常量类型和名称 | 功能介绍 |
public static final Boolean FALSE | 对应基值为false的对象 |
public static final Boolean TRUE | 对应基值为true的对象 |
public static final Class TYPE | 表示boolean类型的Class实例 |
(2)常用方法
方法声明 | 功能介绍 |
|
|
|
|
boolean booleanValue() | 获取调用对象中的布尔数值并返回(拆箱) |
static Boolean valueOf(boolean b) | 根据参数指定布尔数值得到Boolean类型对象(装箱) |
boolean equals(Object obj) | 比较调用对象与参数指定的对象是否相等 |
String toString() | 返回描述调用对象数值的字符串形式 |
static boolean parseBoolean(String s) | 将字符串类型转换为boolean类型并返回 |
要学会查询手册和源码
4、Character类
(1)常用变量
常量类型和名称 | 功能介绍 |
public static final int SIZE | 表示char类型的二进制位数 |
public static final int BYTES | 表示char类型的字节个数 |
public static final Class TYPE | 表示char类型的Class实例 |
(2)常用方法
方法声明 | 功能介绍 |
|
|
char charValue() | 获取调用对象中的字符数据并返回(拆箱) |
static Character valueOf(char c) | 根据参数指定字符数据得到Character类型对象(装箱) |
boolean equals(Object obj) | 比较调用对象与参数指定的对象是否相等 |
String toString() | 返回描述调用对象数值的字符串形式 |
static boolean isUpperCase(char ch) | 判断参数指定字符串是否为大写字符 |
static boolean isLowerCase(char ch) | 判断参数指定字符串是否为小写字符 |
static boolean isDigit(char ch) | 判断参数指定字符串是否为数字字符 |
static char toUpperCase(char ch) | 判断参数指定字符转换为大写字符 |
static char toLowerCase(char ch) | 判断参数指定字符转换为小写字符 |
5、总结
- 基本数据类型转换为对应包装类的方法(装箱:构造方法(过时)、静态方法valueOf),亦都有自动装箱
- 包装类对象转换为基本数据类型的方法(拆箱:调用包装类中的xxxValue方法),亦都有自动拆箱
- 字符串转换为基本数据类型的方法(静态方法parseXxx)
五、数学处理类
1、Math类:java.lang.Math类主要用于提供执行数学运算的方法
(1)常用方法:都是静态方法,用类名.调用。
方法声明 | 功能介绍 |
static int max(int a,int b) | 返回两个参数中的最大值 |
static int min(int a,int b) | 返回两个参数中的最小值 |
static double pow(double a,double b) | 返回第一个参数的幂 |
static int abs(int a) | 返回参数指定数值的绝对值 |
static long round(double a) | 返回参数四舍五入的结果 |
static double sqrt(double a) | 返回参数的平方根 |
static double random() | 返回0.0到1.0的随机数 |
2、BigDecimal类:java.math.BigDecimal实现精确计算。
(1)常用方法:
方法声明 | 功能介绍 |
BigDecimal(String val) | 根据参数指定的字符串来构造对象 |
BigDecimal add(BigDecimal augend) | 用于实现加法运算 |
BigDecimal substract(BigDecimal substrahend) | 用于实现减法运算 |
BigDecimal multiply(BigDecimal multiplicand) | 用于实现乘法运算 |
BigDecimal divide(BigDecimal divisor) | 用于实现除法运算 |
3、BigInteger类:java.math.BigInteger计算比long类型还要大的整数数据
(1)常用方法
方法声明 | 功能介绍 |
BigInteger(String val) | 根据参数指定的字符串来构造对象 |
BigInteger add(BigInteger val) | 用于实现加法运算 |
BigInteger subtract(BigInteger val) | 用于实现减法运算 |
BigInteger multiply(BigInteger val) | 用于实现乘法运算 |
BigInteger divide(BigInteger val) | 用于实现除法运算 |
BigInteger remainder(BigInteger val) | 用于实现取余运算 |
BigInteger[] divideAndRemainder(BigInteger val) | 用于实现取商和余数的运算 |