java(3)

《Java从小白到大牛》学习笔记

抽象类与接口类区别

  1. 接口支持多继承,而抽象类(包括具体类)只能继承一个父类
  2. 接口中不能有实例成员变量,接口所声明的成员变量全部是静态常量,即便是变量不加public static final修饰符也是静态常量。抽象类与普通类一样各种形式的成员都可以声明。
  3. 接口中没有包含构造方法,由于没有实例成员变量,也就不需要构造方法了。抽象类中可以有实例成员变量,也需要构造方法。
  4. 抽象类中可以声明抽象方法和具体方法。

枚举类

Java枚举类型实质上是一种继承java.lang.Enum类,是引用数据类型,因此也称枚举类。

在Java类引用类型进行比较时,有两种 比较方法==和equals,==比较的是两个引用是 否指向同一个对象,equals是比较对象内容是 否相同。但是,枚举引用类型中==和equals都 是一样的,都是比较两个引用是否指向同一个 实例,枚举类中每个枚举常量无论何时都只有 一个实例。

 

Java常用类

  • Java根类——Object
String toString():返回该对象的字符串表示

boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。
  • 包装类

基本数据类型与包装类对应关系

包装类都是final的,不能被继承。包装类都是不可变类,类似String类,一旦创建了对象,其内容就不可以修改。包装类还可以分成三种不同的类别:数值包装类、Character、Boolean。

  1. 数据包装类(Byte、Short、Integer、Long、Float、Double),构造方法有两种:Integrate(int value)和Integer(String s),有共同的父类Number,都有int compareTo方法……
  2. Character类常用的方法有Character(char value)、char charValue()、int compareTo(Character anotherCharacter).
  3. Boolean类构造方法有两个:Boolean(boolean value)和Boolean(String s)。compareTo()方法可以进行包装对象的比较。Boolean包装类都提供静态parseBoolean()方法实 现将字符串转换为对应的boolean类型,方法定 义如下: static boolean parseBoolean(String s):将字符串 转换为对应的boolean类。
  4. 自动装箱/拆箱。
  • Math类

java.lang.Math,Math类是final的不能被继承。其分类如下:

  1. 舍入方法
    static double ceil(double a):返回大于或等于a最小整数。
    static double floor(double a):返回小于或等于a最大整数。
    static int round(float a):四舍五入方法。
    

     

  2. 最大值和最小值
static int min(int a, int b):取两个int整数中较小的一个整数。
static int min(long a, long b):取两个long整数中较小的一个整数。
static int min(float a, float b):取两个float浮点数中较小的一个浮点数。
static int min(double a, double b):取两个double浮点数中较小的一个浮点数。

   3.绝对值

static int abs(int a):取int整数a的绝对值。
static long abs(long a):取long整数a的绝对值。
static float abs(float a):取float浮点数a的绝对值。
static double abs(double a):取double浮点数a的绝对值。

   4.三角函数

static double sin(double a):返回角的三角正弦。
static double cos(double a):返回角的三角余弦。
static double tan(double a):返回角的三角正切。
static double asin(double a):返回一个值的反正弦。
static double acos(double a):返回一个值的反余弦。
static double atan(double a):返回一个值的反正切。
static double toDegrees(double angrad):将弧度转换为角度。
static double toRadians(double angdeg):将角度转换为弧度。

 

   5.对数运算

static double log(double a),返回a的自然对数。

   6.平方根

static double sqrt(double a),返回a的正平方根。

   7.幂运算

static double pow(double a, double b),返回第一个参数的第二个参数次幂的值。

   8.计算随机值

static double random(),返回大于等于 0.0 且小于 1.0随机数。

   9.常量

      圆周率PI

      自然对数底数E

  • 大数值
  1. BigInteger
    1. //构造方法
      BigInteger(String val):将十进制字符串val转换为BigInteger对象。
      BigInteger(String val, int radix):按照指定基数radix将字符串val转换为BigInteger对象。
      
      //常用方法
      int compareTo(BigInteger val):将当前对象与参数val进行比较,方法返回值是int,如果返回值
      是0,则相等;如果返回值小于0,则此对象小于参数对象;如果返回值大于0,则此对象大于参数对象。
      BigInteger add(BigInteger val):加运算,当前对象数值加参数val。
      BigInteger subtract(BigInteger val):减运算,当前对象数值减参数val。
      BigInteger multiply(BigInteger val):乘运算,当前对象数值乘参数val。
      BigInteger divide(BigInteger val):除运算,当前对象数值除以参数val。
      另外,BigInteger继承了抽象类Number,那么它还有实现抽象类Number的6个方法

       

  2. BigDecimal
    1. //构造方法
      BigDecimal(BigInteger val):将BigInteger对象val转换为BigDecimal对象。
      BigDecimal(double val):将double转换为BigDecimal对象,参数val是double类型的二进制
      浮点值准确的十进制表示形式。
      BigDecimal(int val):将int转换为BigDecimal对象。
      BigDecimal(long val):将long转换为BigDecimal对象。
      BigDecimal(String val):将字符串表示数值形式转换为BigDecimal对象。
      
      //常用方法
      int compareTo(BigDecimal val):将当前对象与参数val进行比较,方法返回值是int,如果返回值
      是0,则相等;如果返回值小于0,则此对象小于参数对象;如果返回值大于0,则此对象大于参数对象。
      BigDecimal add(BigDecimal val):加运算,当前对象数值加参数val。
      BigDecimal subtract(BigDecimal val):减运算,当前对象数值减参数val。
      BigDecimal multiply(BigDecimal val):乘运算,当前对象数值乘参数val。
      BigDecimal divide(BigDecimal val):除运算,当前对象数值除以参数val。
      BigDecimal divide(BigDecimal val, introundingMode):除运算,当前对象数值除以参
      数val。roundingMode要应用的舍入模式。
      另外,BigDecimal继承了抽象类Number,那么它还实现抽象类Number的6个方法

       

  • 日期时间相关类
  1. Data类
    1. Date类构造方法:

                         Date():用当前时间创建Date对象,精确到毫 秒。

                         Date(long date):指定标准基准时间以来的毫秒 数创建Date对象。

                         标准基准时间是格林威治时 间1970年1月1日00:00:00。

              Date类的普通方法:

                        boolean after(Date when):测试此日期是否在 when日期之后。

                        boolean before(Date when):测试此日期是否在 when日期之前。

                        int compareTo(Date anotherDate):比较两个日期 的顺序。如果参数日期等于此日期,则返回值 0;如果此日期在参数日期之前,则返回小于0 的值;如果此日期在参数日期之后,则返回大 于0的值。

                       long getTime():返回自1970年1月1日00:00:00以 来此Date对象表示的毫秒数。

                       void setTime(long time):用毫秒数time设置日期 对象,time是自1970年1月1日00:00:00以来此 Date对象表示的毫秒数。

  2. 日期格式化和解析
    1. 日期格式化类是 java.text.DateFormat,DateFormat是抽象类,它的常用具体类是java.text.SimpleDateFormat。
    2. DateFormat中提供日期格式化和日期解析方法,具体方法说明如下:
      String format(Date date):将一个Date格式化为日 期/时间字符串。 
      Date parse(String source):从给定字符串的开始解析文本,以生成一个日期对象。如果解析失败则抛出ParseException。 
      另外,具体类是SimpleDateFormat构造方法如下: 
      SimpleDateFormat():用默认的模式和默认语言 环境的日期格式符号构造SimpleDateFormat。 SimpleDateFormat(String pattern):用给定的模式 和默认语言环境的日期格式符号构造

  3. Calender类
    1. static Calendar getInstance():使用默认时区和语言环境获得一个日历。
      void set(int field, int value):将给定的日历字段设置为给定值。
      void set(int year,int month,int date):设置日历字段YEAR、MONTH和DAY_OF_MONTH的值。
      Date getTime():返回一个表示此Calendar时间值(从1970年1月1日00:00:00至现在的毫秒数)的
      Date对象。
      boolean after(Object when):判断此Calendar表示的时间是否在指定时间之后,返回判断结果。
      boolean before(Object when):判断此Calendar表示的时间是否在指定时间之前,返回判断结
      果。
      int compareTo(Calendar anotherCalendar):比较两个Calendar对象表示的时间值。
      
  • Java8新日期时间相关类
    •  now()方法说明如下:
      • static LocalDate now():LocalDate静态工厂方法,该方法使用默认时区获得当前日期,返回 LocalDate对象。
      • static LocalTime now():LocalTime静态工厂方 法,该方法使用默认时区获得当前时间,返回 LocalTime对象。
      • static LocalDateTime now():LocalDateTime静态 工厂方法,该方法使用默认时区获得当前日期 时间,返回LocalDateTime对象。
    • of()方法有很多重载方法,说明如下:
      • static LocalDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second):按照指定的年、月、日、小时、分钟和秒获得 LocalDateTime实例,将纳秒设置为零。
      • static LocalTime of(int hour, int minute, int second):按照指定的小时、分钟和秒获取一个 LocalTime实例。
      • static LocalDate of(int year, int month, int dayOfMonth):按照指定的年、月和日获得一个 LocalDate实例,日期中年、月和日必须有效, 否则将抛出异常。
    •          日期格式化和解析
      • 日期格式化format
      • 日期解析parse

                       

static LocalDateTime parse(CharSequencetext):使用默认格式,从一个文本字符串获
取一个LocalDateTime实例,如2007-12-03T10:15:30。
static LocalDateTime parse(CharSequence text,DateTimeFormatter formatter):使用指定格式
化,从文本字符串获取LocalDateTime实例。
static LocalDate parse(CharSequence text):使用默认格式,从一个文本字符串获取一个
LocalDate实例,如2007-12-03。
static LocalDate parse(CharSequence text,DateTimeFormatter formatter):使用指定格式
化,从文本字符串获取LocalDate实例。
static LocalTime parse(CharSequence text):使用默认格式,从一个文本字符串获取一个
LocalTime实例。
static LocalTime parse(CharSequence text,DateTimeFormatter formatter):使用指定的格
式化,从文本字符串获取LocalTime实例。

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值