Day_1:Java学习(一):核心类库(1)

一、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.Bytebyte
java.lang.Shortshort
java.lang.Integerint
java.lang.Longlong
java.lang.Floatfloat
java.lang.Doubledouble
java.lang.Booleanboolean
java.lang.Characterchar

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)常用方法

方法声明功能介绍
Integer(int value)根据参数指定的整数来构造对象(已过时)
@Deprecated(since="9")
Integer(String s)根据参数指定的字符串来构造对象(已过时)
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(double value)根据参数指定的浮点数据来构造对象(已过时)
Double(String s)根据参数指定的字符串来构造对象(已过时)
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类是抽象类,是上述类的父类

3、Boolean类

(1)常用常量

常量类型和名称功能介绍
public static final Boolean FALSE对应基值为false的对象
public static final Boolean TRUE对应基值为true的对象
public static final Class TYPE表示boolean类型的Class实例

(2)常用方法

方法声明功能介绍
Boolean(boolean value)根据参数指定的布尔数值来构造对象(已过时)
Boolean(String s)根据参数指定的字符串来构造对象(已过时)
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)常用方法

方法声明功能介绍
Character(char value)根据参数指定的字符串数据来构造对象(已过时)
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)用于实现取商和余数的运算

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值