常用类

本文内容由珊珊老师的视频内容总结而来。
包装类(Integer)
1、基本数据类型与引用数据类型

基本数据类型引用数据类型继承关系
byteByteNumber—Object
shortShortNumber—Object
intIntegerNumber—Object
longLongNumber—Object
floatFloatNumber—Object
doubleDoubleNumber—Object
charCharacterObject
booleanBooleanObject

2、为什么要引入包装类
  Java中类是对象的模板,对对象进行的操作,意味着会获取属性和方法。基本数据类型是无法获取属性和方法的,故引入基本数据类型对应的引用数据类型。集合中只能存放引用数据类型。
3、八大基本数据类型对应的包装类都是java.lang包下的,不用导包
4、Integer

  • ‘物极必反’
 System.out.println(Integer.MAX_VALUE);
 System.out.println(Integer.MIN_VALUE);
 System.out.println("--------------");
 System.out.println(Integer.MAX_VALUE + 1);
 System.out.println(Integer.MIN_VALUE - 1);

 运行结果:
在这里插入图片描述

 System.out.println(21_4748_3647 + 1);//整形的默认类型是int,所以会当做int类型进行计算
 System.out.println(21_4748_3647L + 1);
  • Integer底层实际是一个int类型的数据,Integer就是对这个数据进行封装。
    在这里插入图片描述
  • Integer创建实例时可调用两种有参构造方法
    1、传int值
	Integer i1 = new Integer(12);//int转为Integer

  调用的构造方法
在这里插入图片描述

  2、传字符串:传的字符串需要是可以转换为int类型的字符串,否则会抛异常

	Integer i2 = new Integer("12");//String转为Integer

  调用的构造方法在这里插入图片描述
  int与Integer的类型转换

	Integer i3 = 12;//自动装箱:int 转 Integer

	Integer i3 = 12;//自动拆箱:Integer 转 int
    int a = i3;
  • 比较Integer的值
	Integer i1 = 127;//Integer i3 = Integer.valueOf(127);
    Integer i2 = 127;//Integer i4 = Integer.valueOf(127);
    Integer i3 = 128;//Integer i3 = Integer.valueOf(128);
    Integer i4 = 128;//Integer i4 = Integer.valueOf(128);

	System.out.println(i1.equals(i2));//输出结果 true
    System.out.println(i3.equals(i4));//输出结果 true
    System.out.println(i1 == i2);//输出结果 true
    System.out.println(i3 == i4);//输出结果 false

  Integer的valueOf方法
  如果传递的值在127~ -128之间,会返回值。如果值超出127~ -128范围,会开辟新的空间。

    public static Integer valueOf(int i) {
	    if (i >= IntegerCache.low && i <= IntegerCache.high)
	        return IntegerCache.cache[i + (-IntegerCache.low)];
	    return new Integer(i);
    }

Integer是int类型的包装类,通俗讲就是在Integer中封装了一系列方法,对int类型的数据进行操作。


时间处理类

  • java.util.Date与java.sql.Date
	Date date = new Date();//java.util.Date
    System.out.println(date.toString());
    System.out.println(date.getTime());
    System.out.println(System.currentTimeMillis());
  
    java.sql.Date sqlDate = new java.sql.Date(1632445859091L);
    System.out.println(sqlDate.getTime());
    System.out.println(sqlDate.toLocalDate());
    date = sqlDate;// java.sql.Date继承自java.util.Date ,低转高类型
    System.out.println(date);

    java.sql.Time time = new java.sql.Time(1632445859091L);
    System.out.println(time);
    java.sql.Timestamp timestamp = new java.sql.Timestamp(1632445859091L);
    System.out.println(timestamp);
    
    //日期格式化类DateFormat :需要注意格式化的大小写
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    Date d1 = df.parse("2022-01-01 10:11:22");//字符串转Date
    System.out.println(d1);
    String d2 = df.format(new Date());//Date转字符串
    System.out.println(d2);

在这里插入图片描述

  • Calendar
	Calendar calendar = Calendar.getInstance();
    System.out.println(calendar.getTime());//获取当前时间
    System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//本年的第几天
    System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//本月的第几天
    System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//本周的第几天,从周天算起
    System.out.println(calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));//本月的第几周
    System.out.println(calendar.get(Calendar.YEAR));//当前年份
    System.out.println(calendar.get(Calendar.MONTH));//当前月份:<code>JANUARY</code> which is 0
    System.out.println(calendar.get(Calendar.DATE));//当前日期
    System.out.println("-------------------");

    System.out.println(calendar.getActualMaximum(Calendar.DATE));//本月最大的天数
    System.out.println(calendar.getActualMaximum(Calendar.MONTH));//本年最大的月份:<code>JANUARY</code> which is 0
    System.out.println(calendar.getActualMaximum(Calendar.YEAR));//2_9227_8993:???
    System.out.println(calendar.getActualMinimum(Calendar.DATE));//本月最小的天数
    System.out.println(calendar.getActualMinimum(Calendar.MONTH));//本年最小的月份:<code>JANUARY</code> which is 0
    System.out.println("-------------------");
    //设置时间
    calendar.set(Calendar.YEAR, 2050);
    calendar.set(Calendar.MONTH, 12);
    calendar.set(Calendar.DATE, 2);
   // System.out.println(calendar);
    System.out.println(calendar.getTime());//输出的年月日是2051年1月2日,??没太明白
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    String dateStr = df.format(calendar.getTime());
    System.out.println(dateStr);
    System.out.println("-------------------");
    //String 转 Calendar:可以先转为Date
    Date date = java.sql.Date.valueOf("2051-10-25");
    calendar.setTime(date);
    System.out.println(calendar.getTime());

在这里插入图片描述
Math类

	 System.out.println(E);//自然对数  ----静态导入包
	 System.out.println(Math.PI);//圆周率
	 System.out.println(Math.pow(2,10));//幂次
	 System.out.println(Math.sqrt(4));//开平方
	 System.out.println(Math.ceil(11.4));//向上取值
	 System.out.println(Math.floor(11.4));//向下取值
	 System.out.println(Math.round(99.1));//四舍五入
	 System.out.println(Math.round(99.8));
	 System.out.println(Math.random());//随机数,取值范围[0.0,1.0)
	 System.out.println(Math.addExact(-80,6));//计算两个整数之和
	 System.out.println(Math.addExact(9143333333433333333L, 623546786754321L));//计算两个长整形的整数之和
	 System.out.println(Math.subtractExact(77, 222));//计算两个整数的差值
	 System.out.println(Math.multiplyExact(15, 15));//相乘
	 System.out.println(Math.incrementExact(33));//整数自增1
	 System.out.println(Math.decrementExact(33));//整数自减1
	 System.out.println(Math.negateExact(33));//整数取相反数
	 System.out.println(Math.toIntExact(111_1111L));//Long类型转换为int类型
	 System.out.println(Math.floorDiv(1024, 4));//整数相除
	 System.out.println(Math.floorMod(1026, 4));//取模
	 System.out.println(Math.abs(-1233.1));//取绝对值
	 System.out.println(Math.max(-989.1, 6));//取最大值
	 System.out.println(Math.min(-989.1, 6));//取最小值

在这里插入图片描述
Random类

 	Random random = new Random();
    System.out.println(random.nextDouble());
    System.out.println(random.nextInt());
    System.out.println(random.nextInt(10));//取值范围[0,10)
    System.out.println(random.nextBoolean());

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值