JavaSe常用API

1.访问权限符大小

public>protected>空>private

2.构造代码块、静态代码块、局部代码块

2.1构造代码块:
格式:{}
位置:类中,方法外
执行:每次执行构造方法之前都会执行一次
使用场景:例如我们统计对象的个数,也就是每次执行构造方法之前要执行的代码就可以放在构造代码块中。
2.2.静态代码块:
格式:static{ }
位置:类中,方法外
执行:随着类加载而执行,并且只执行一次。
使用场景:例如读取配置文件中的数据,加载驱动。程序中只执行一次的程序就可以放在静态代码块中。
**执行优先级:静态代码块>构造代码块>构造方法**
2.3局部代码块
格式:{}
位置:方法中
执行:调用方法,执行到了局部代码块的时候执行
使用场景:节省内存空间,没有太多意义。
**3.Object类的概述**
java.lang.object类是Java语言中的根类,所有类的父类。如果一个类没有特别指定父类,默认继承自Object类。

public String toString():返回该对象的字符串表示
特点:
1.toString()方法返回的字符串内容格式为:类的全路径+@+十六进制数的地址值。
2.直接打印对象名,其实就是打印对象调用toString()方法返回的字符串内容。
3.如果打印对象的时候,不希望打印的是地址值这种形式的字符串?解决:重写toString()方法。
Object类的equals方法:
public boolean equals(Object obj)。指示其他某个对象是否与此对象“相等”。特点: 比较的是2个对象的内存地址是否相等。

4.DateFormat类

概述:java.text.DateFormat是日期/时间格式化子类的抽象类。
作用:完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
-格式化:按照指定的格式,把Date对象转换为String对象
-解析:按照指定的格式,把String对象转换为Date对象
特点:由于DateFormat是抽象类无法创建对象,所以只能使用子类SimpleDateFormat

构造方法:最常用 SimpleDateFormat(String pattern) : 用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。 参数pattern是一个字符串,代表日期时间的自定义格式。
日期格式:
y 年
M 月
d 日
H 时
m 分
s 秒
常见的日期格式:yyyy年MM月dd日HH时mm分ss秒
常见的日期格式第二种:yyyy-MM-dd HH:mm:ss

成员方法:(重要)
1.public Date parse(String source)
解析字符串的文本,生成 Date对象。
2.public String format(Date date):将Date对象格式转化为字符串

下面代码是将日期类型转化为字符串类型

 Date date = new Date();
//        System.out.println(date);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y年-M月-d日-H时-m分-s秒");
        String format = simpleDateFormat.format(date);
        System.out.println(format);//输入转化成字符串的日期格式

下面代码是将字符串类型转化为日期类型,注意的是,字符串类型转化为日期类型的时候一定要一定要注意字符串的格式和new SimpleDateFormat里面的格式一定要一致否则无法转换。

      String str="2021年-07月-21日-19时-31分-35秒";
        SimpleDateFormat format1 = new SimpleDateFormat("yyyy年-MM月-dd日-HH时-mm分-ss秒");
        System.out.println(format1.parse(str));

**Date类中重要方法,可以区当前时间距离标准日期毫秒值。
long getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。

//日期类联系,键盘输入一个字符串类型的时间,打印你来到这个世界多少天?
        /*思路,将字符串转换为日期对象并且跟跟标准时间毫秒比对,然后拿当前时间跟标准时间毫秒比对,最后
        * 拿得到的当前时间的毫秒数减去出生到现在的毫秒数,最后转化为天
        * 关键方法,Date类中的getTime(),字符串日期*/
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入出生日期格式yyyy-MM-dd"+"例如1998-04-02");
        String str = scanner.next();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date parse = simpleDateFormat.parse(str);//将字符串类型转化为Date
        long birthdaytime = parse.getTime();//获取返回自 1970 年1月1日00:00:00 GMT 以来此 Date 对象表示的毫秒数。
        Date date = new Date();//系统当前时间
        long nowtime = date.getTime();//系统当前时间距离1970年的毫秒数
        long differ=-(birthdaytime-nowtime);
        int day= (int) (differ/1000/60/60/24);
        System.out.println("已经出生了"+day+"天");

5.Calendar类的概述

5.1.创建Calendar类的两种方式,1.因为Calendar类是一个抽象类,所以不能直接创建对象。可以通过getInstance()方法获取GregorianCalendar对象。2.第二种就是直接创建GregorianCalendar对象。
Calendar类的常用方法:
- `public static Calendar getInstance()` 获取当前日期的日历对象
- `public int get(int field)` 获取某个字段的值。
- 参数field:表示获取哪个字段的值,可以使用Calender中定义的常量来表示
- Calendar.YEAR : 年<br />Calendar.MONTH :月<br />Calendar.DAY_OF_MONTH:月中的日期<br />Calendar.HOUR:小时<br />Calendar.MINUTE:分钟<br />Calendar.SECOND:秒<br />Calendar.DAY_OF_WEEK:星期
  • public void set(int field,int value)设置某个字段的值
  • public void add(int field,int amount)为某个字段增加/减少指定的值
  • 额外扩展2个方法:
  • void setTime(Date date) 使用给定的 Date 设置此 Calendar 的时间。
  • boolean before(Object when)判断此 Calendar 表示的时间是否在指定 Object 表示的时间之前,返回判断结果。
  • 调用before方法的日历对象是否在参数时间对象之前,
  • 如果在之前就返回true 例如: 2017年11月11日 2019年12月18日 true
  • 如果不在之前就返回false 例如: 2019年12月18日 2017年11月11日 false
    注意:
  • 1.中国人:一个星期的第一天是星期一,外国人:一个星期的第一天是星期天
  • 2.日历对象中的月份是: 0-11

6.Math工具类的使用

   java.lang.Math(类):Math类包含Math类包含执行基本数字运算的方法。
  它不能创建对象,它的构造方法被“私有”了。因为他内部都是“静态方法”,通过“类名”直接调用即可。
Math类的常用方法
 public static int abs(int a) 获取参数a的绝对值:
 public static double ceil(double a) 向上取整  例如:3.14 向上取整4.0
 public static double floor(double a) 向下取整 例如:3.14 向下取整3.0
 public static double pow(double a, double b)  获取a的b次幂
 public static long round(double a) 四舍五入取整 例如:3.14 取整3  3.56 取整4
 public static int max(int a, int b)  返回两个 int 值中较大的一个。
 public static int min(int a, int b)  返回两个 int 值中较小的一个。

7.System类的使用

System类的概述

java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作。

System类的常用方法
public static void exit(int status) 终止当前运行的Java虚拟机,非零表示异常终止
public static long currentTimeMillis() 返回当前时间(以毫秒为单位)
这个方法可以代替Date类的
Date date=new Date();date.getTime();他们是等效的.
static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 拷贝数组中的元素到另一个数组
      参数1src: 源数组
      参数2srcPos:源数组要拷贝的元素的起始索引(从哪个索引位置开始拷贝)
      参数3dest: 目标数组
      参数4destPos:目标数组接收拷贝元素的起始索引(从哪个索引位置开始接收)
      参数5length:需要拷贝多少个元素(拷贝多少个)

8.BigInteger类的使用:

路径

  • BigInteger类的概述
  • BigInteger类的构造方法
  • BigInteger类成员方法
BigInteger类的概述

java.math.BigInteger 类,不可变的任意精度的整数。如果运算中,数据的范围超过了long类型后,可以使用
BigInteger类实现,该类的计算整数是不限制长度的。

BigInteger类的构造方法
  • BigInteger(String value) 将 BigInteger 的十进制字符串表示形式转换为 BigInteger。超过long类型的范围,已经不能称为数字了,因此构造方法中采用字符串的形式来表示超大整数,将超大整数封装成BigInteger对象。
BigInteger类成员方法

BigInteger类提供了对很大的整数进行加add、减subtract、乘multiply、除divide的方法,注意:都是与另一个BigInteger对象进行运算。

方法声明描述
add(BigInteger value)返回其值为 (this + val) 的 BigInteger,超大整数加法运算
subtract(BigInteger value)返回其值为 (this - val) 的 BigInteger,超大整数减法运算
multiply(BigInteger value)返回其值为 (this * val) 的 BigInteger,超大整数乘法运算
divide(BigInteger value)返回其值为 (this / val) 的 BigInteger,超大整数除法运算,除不尽取整数部分

9.Bigdecimal类的使用

路径:

  • BigDecimal类的概述
  • BigDecimal类构造方法
  • BigDecimal类常用方法

BigDecimal类的概述

使用基本类型做浮点数运算精度问题;

看程序说结果:

public static void main(String[] args) {
    System.out.println(0.09 + 0.01);
    System.out.println(1.0 - 0.32);
    System.out.println(1.015 * 100);
    System.out.println(1.301 / 100);
}
  • 对于浮点运算,不要使用基本类型,而使用"BigDecimal类"类型
  • java.math.BigDecimal(类):提供了更加精准的数据计算方式。

BigDecimal类构造方法

构造方法名描述
BigDecimal(double val)将double类型的数据封装为BigDecimal对象
BigDecimal(String val)将 BigDecimal 的字符串表示形式转换为 BigDecimal

注意:推荐使用第二种方式,第一种存在精度问题;

BigDecimal类常用方法

BigDecimal类中使用最多的还是提供的进行四则运算的方法,如下:

方法声明描述
public BigDecimal add(BigDecimal value)加法运算
public BigDecimal subtract(BigDecimal value)减法运算
public BigDecimal multiply(BigDecimal value)乘法运算
public BigDecimal divide(BigDecimal value)除法运算

注意:对于divide方法来说,如果除不尽的话,就会出现java.lang.ArithmeticException异常。此时可以使用divide方法的另一个重载方法;

BigDecimal divide(BigDecimal divisor, int scale, RoundingMode roundingMode): divisor:除数对应的BigDecimal对象;scale:精确的位数;roundingMode取舍模式

RoundingMode枚举: RoundingMode.HALF_UP 四舍五入

10.Arrays类的两个重要方法

Arrays类概述

  • Arrays类常用方法

    3.1 Arrays类概述

​ java.util.Arrays类:该类包含用于操作数组的各种方法(如排序和搜索)

3.2 Arrays类常用方法

  • public static void sort(int[] a):按照数字顺序排列指定的数组

  • public static String toString(int[] a):返回指定数组的内容的字符串表示形式

11.包装类

Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使用基本类型对应的包装类,如下:

基本类型对应的包装类(位于java.lang包中)
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
Integer类概述

包装一个对象中的原始类型 int 的值

Integer类构造方法及静态方法
方法名说明
public Integer(int value)根据 int 值创建 Integer 对象(过时)
public Integer(String s)根据 String 值创建 Integer 对象(过时)
public static Integer valueOf(int i)返回表示指定的 int 值的 Integer 实例
public static Integer valueOf(String s)返回保存指定String值的 Integer 对象

// int—>Integer
Integer i1 = new Integer(10);// i1对象表示的整数就是10
Integer i2 = Integer.valueOf(10);// i2对象表示的整数就是10

    // String--->Integer   记忆
    Integer i3 = new Integer("100");// i3对象表示的整数就是100
    Integer i4 = Integer.valueOf("100");// i4对象表示的整数就是100

    // Integer--->int
    int num1 = i1.intValue();
    int num2 = i2.intValue();
    int num3 = i3.intValue();
    int num4 = i4.intValue();
    #### String转换成基本类型 

除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型

  • public static byte parseByte(String s):将字符串参数转换为对应的byte基本类型。
  • public static short parseShort(String s):将字符串参数转换为对应的short基本类型。
  • public static int parseInt(String s):将字符串参数转换为对应的int基本类型。
  • public static long parseLong(String s):将字符串参数转换为对应的long基本类型。
  • public static float parseFloat(String s):将字符串参数转换为对应的float基本类型。
  • public static double parseDouble(String s):将字符串参数转换为对应的double基本类型。
  • public static boolean parseBoolean(String s):将字符串参数转换为对应的boolean基本类型。

代码使用(仅以Integer类的静态方法parseXxx为例)如:

  • 示例代码
public class IntegerDemo {
    public static void main(String[] args) {
         // 基本类型--->字符串:
        String str1 = 100 + "";// str1字符串的内容:"100"
        String str2 = String.valueOf(100);// str2字符串的内容: "100"

        // 字符串--->基本类型:
        int num1 = Integer.parseInt(str1);
        int num2 = Integer.parseInt(str2);
        System.out.println(num1+num2);// 200
    }
}

注意:如果字符串参数的内容无法正确转换为对应的基本类型,则会抛出java.lang.NumberFormatException异常。

小结
基本类型与字符串之间的转换:
     基本类型--->字符串:
         直接在数字后加一个空字符串

     字符串--->基本类型:
         除了Character类之外,其他所有包装类都具有parseXxx静态方法可以将字符串参数转换为对应的基本类型:
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值