9 Java常用类和枚举类型

发布于:2024-12-18 ⋅ 阅读:(41) ⋅ 点赞:(0)

1、包装类

java编程的特点是面向对象的,而基本数据类型不能实现这一功能,使得程序开发存在一定的弊端。因此提出了包装类的概念,分别把Java中8个基本数据类型包装成相应的类。
在这里插入图片描述
8个包装类:
在这里插入图片描述

1.1 Integer类

Integer类用于封装int类型数据。java.lang包中的Byte类、Integer类、Short类和Long类,分别是基本数据类型byte、int、short和long的包装类,都是Number类的子类,且都是对整数的操作。

构造方法

两种方法:

  1. Integer(int number)
  2. Integer (String str)
Integer number = new Integer(7);
Integer number = new Integer("45");

如果要使用字符串变量创建Integer变量,字符串变量的值必须是整数型的,否则将会抛出NumberFormatException异常。

常用方法

  1. compareTo(Integer anotherInteger): 在数字上比较两个Integer对象,返回一个整数,表示比较结果。如果该Integer等于另一个Integer参数,则返回0;如果该Integer在数字上小于另一个Integer参数,则返回小于0的值;如果该Integer在数字上大于另一个Integer参数,则返回大于0的值‌1。
  2. intValue(): 以int类型返回该Integer的值‌。
  3. parseInt(String s): 将字符串转换成整数‌。
  4. valueOf(int i): 将int类型的数值转换为Integer对象‌。
  5. max(int a, int b): 返回两个整数中的最大值‌。
  6. min(int a, int b): 返回两个整数中的最小值‌。
  7. sum(int a, int b): 计算两个整数的和‌。
  8. toString(): 将Integer对象转换为字符串‌。
  9. valueOf(String str):返回String型参数的Integer对象

常量

  1. MAX_VALUE:表示int类型可取的最大值,即 2 31 − 1 2^{31}-1 2311
  2. MIN_VALUE:表示int类型可取的最小值,即 − 2 31 -2^{31} 231
  3. SIZE:用来表示int值的位数
  4. TYPE:表示基本类型int的Class实例。

1.2 Number类

在这里插入图片描述
要把Number类的子类对象转换为对应的基本数据类型,需要使用Number类对应子类中的方法。byteValue(、intValue()、floatValue()、shortValue()、longValue()、doubleValue()。

自动装箱、自动拆箱

在这里插入图片描述
在这里插入图片描述

2、Math类

位于java.lang包中(不需要引入,系统会自动调用),其中的方法都被定义为static形式,因此在程序中可以直接通过Math类的类名调用某个数学方法,如:

Math.方法;

Math.PI;
Math.E;   //表示自然对数底数e的值

2.1 常用数学运算方法

在这里插入图片描述

  1. 指数函数:exp、log、log10、sqrt、cbrt、pow
  2. 取整函数方法:ceil、floor、rint、round

3、Random类

java.util包中提供了Random类。
构造函数:

Random r = new Random();

方法:
在这里插入图片描述

0 <= nextInt(int n) < n;

4、Date类

java.util包中提供了Date类来操作日期和时间。

  • 构造方法:
  1. Date():分配Date对象并初始化对象,以表示分配它的时间。
  2. Date(long date):分配Date对象并初始化对象,以表示从标准基准时间以来的指定毫秒数(1970年1月1日00:00:00 GMT)
long timeMillis = System.currentTimeMillis();
Date date = new Date(timeMillis);   //获取系统当前时间,计算与基准时间的毫秒数
  • 常用方法
  1. after(Date):判断当前日期对象是否在给定日期对象之后
  2. before(Date):判断当前日期对象是否在给定日期对象之前
  3. equals(Object):判断两个日期是否相等
  4. compareTo(Date):比较两个日期的顺序,如果当前日期对象大于给定日期对象,返回正数,如果小于给定日期对象,返回负数,如果等于给定日期对象,返回零
  5. getTime():获得自1970年1月1日开始到现在所表示的时间
  6. setTime(long time):设置时间

4.1 DataFormat类

对日期类进行格化式和解析。DateFormat本身是一个抽象类,实例化的方式一种是通过静态方法的调用,处理的是长日期和长时间类型。

  1. getDateInstance()
  2. getTimeInstance()
  3. getDateTimeInstance()
  4. parse(String):将字符串解析成Data类型
  5. format(Data):将Data类型,格式化成字符串

一种是通过创建子类对象创建SimpleDateFormat对象,处理的是短日期和短时间类型,可以自定义格式.
在这里插入图片描述

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class DateFormatTest {
	public static void main(String[] args) {
		// 创建日期
		Date date = new Date();
		// 创建不同的日期格式
		DateFormat df1 = DateFormat.getInstance();
		DateFormat df2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss EE");
		DateFormat df3 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒 EE", Locale.CHINA);
		DateFormat df4 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss EE", Locale.US);
		DateFormat df5 = new SimpleDateFormat("yyyy-MM-dd");
		DateFormat df6 = new SimpleDateFormat("yyyy年MM月dd日");
		// 将日期按照不同格式进行输出
		System.out.println("-------将日期时间按照不同格式进行输出------");
		System.out.println("按照Java默认的日期格式: " + df1.format(date));
		System.out.println("按照Java默认的日期格式: " + df1.format(date));
		System.out.println("按照指定格式 yyyy-MM-dd hh:mm:ss EE,系统默认区域:" + df2.format(date));
		System.out.println("按照指定格式 yyyy年MM月dd日 hh时mm分ss秒 EE,区域为中国 : " + df3.format(date));
		System.out.println("按照指定格式 yyyy-MM-dd hh:mm:ss EE,区域为美国: " + df4.format(date));
		System.out.println("按照指定格式 yyyy-MM-dd: " + df5.format(date));
		System.out.println("按照指定格式 yyyy年MM月dd日: " + df6.format(date));
	}
}

5、枚举类型

枚举类型被用来设置常量。
传统将常量设置在接口中。由于枚举类型是一种数据类型,而且被视为一系列具有名称的常量的集合,所以被赋予了在程序编译时检查数据类型的功能,从而取代了传统常量。

public enum Constants{
	Constants_A,
	Constants_B
}

网站公告

今日签到

点亮在社区的每一天
去签到