包装类及一些常用类的方法回顾

本文深入探讨了Java中的基本数据类型及其对应的包装类,包括构造方法、成员方法及其实用示例。同时,文章详细讲解了Integer类的各种转换方法,如拆箱、装箱、字符串与整型的互转,以及进制转换技巧。此外,还介绍了Math类的数学运算方法,Random类生成随机数的技巧,Date和Calendar类进行日期时间操作的方法。

包装类

导语: 基本数据类型的包装类可以使用基本类型对应的类的相关成员变量和成员方法,相比于基本数据类型,包装类更易于使用。

  • 八大基本数据类型
    byte short int long float double char boolean
  • 对应的包装类
    Byte Short Integer Long Float Double Character Boolean

Integer类

  • 构造方法
    public Integer(int value)
    public Integer(String s)
  • 成员方法
    public int intValue() 拆箱,将Integer转化为整型
    public static int parseInt(String s) 将字符串转换为int类型
    public static String toString(int i) 将整型转换为字符串
    public static Integer valueOf(int i) 将整型装换为Integer类型
    public static Integer valueOf(String s) 将字符串转换为Integer类型
		int i = 100;
		// Integer(int value) 
		Integer ii = new Integer(i);
		int intValue = ii.intValue();
		System.out.println(intValue);
		// Integer(String s)
		Integer ii2 = new Integer("100");
		System.out.println(ii2);
		System.out.println("--------------------------");
		//  public static int parseInt(String s)  将字符串转换为int类型
		int parseInt = Integer.parseInt("100");
		System.out.println(parseInt);
		
		// public static String toString(int i)  将整型转换为字符串
		String s = Integer.toString(200);
		System.out.println(s);
		System.out.println(200 + "");
		System.out.println(String.valueOf(200));
		
		// public static Integer valueOf(String s)  将字符串转换为Integer类型
		Integer value = Integer.valueOf("200");
		System.out.println(value.intValue());		
	}
}

new Integer和Integer.valueOf()区别?
看源码:
public static Integer valueOf(int i) {
if (i >= IntegerCache.low && i <= IntegerCache.high)
return IntegerCache.cache[i + (-IntegerCache.low)];
return new Integer(i);

  • String和int的相互转换
    (1)// int -> String
		// 方式一:
		int i = 10;
		String s = i + ""; // new StringBuilder().append(i);		
		// 方法二:
		String s2 = String.valueOf(i); // 常用		
		// 方式三:
		String s3 = Integer.valueOf(i).toString();

(2)String --> int

		// 方式一:
		String str = "100";
		int ii = Integer.parseInt(str); // 最常用		
		// 方式二:
		int ii2 = new Integer(str).intValue();	
		// 方式三:
		int ii3 = Integer.valueOf(str).intValue();
  • Intrger类实现进制转换
  • (1)十进制到其他进制
    public static String toBinaryString(int i)
    public static String toOctalString(int i)
    public static String toHexString(int i)
    public static String toString(int i,int radix)
    十进制到其他进制
		System.out.println(Integer.toBinaryString(100));
		System.out.println(Integer.toOctalString(100));
		System.out.println(Integer.toHexString(100));
		System.out.println(Integer.toString(100, 36));

(2)其他进制到十进制
public static int parseInt(String s,int radix)
计算机只能够表示到36进制

		System.out.println(Integer.parseInt("100", 8));
		System.out.println(Integer.parseInt("ZZ", 36));

(3)任意进制的转换

	public static int getNum(int xRadix, int yRadix, int num) {
		// 将X进制的num转换成十进制
		int i = Integer.parseInt(String.valueOf(num), xRadix);
		// 将十进制的i转换成对应Y进制
		String s = Integer.toString(i, yRadix);
		return Integer.parseInt(s);
	}	
	public static String getNum(int xRadix, int yRadix, String num) {
		// 将X进制的num转换成十进制
		int i = Integer.parseInt(num, xRadix);
		// 将十进制的i转换成对应Y进制
		String s = Integer.toString(i, yRadix);
		return s;
	}
}

Math类

  • 概述:Math 类涵盖了很多执行基本数学运算的方法, 是一个工具类。
    成员方法
    public static int abs(int a) 求绝对值
    public static double sqrt(double a) 开根号
    public static double ceil(double a) 向上取整
    public static double floor(double a) 向下取整
    public static int max(int a,int b) 求最大值
    public static int min(int a,int b) 求最小值
    public static double pow(double a,double b) 求a的b次幂
    public static double random() 生成随机数
    public static int round(float a) 四舍五入

Random类

  • 概述:生成随机数
    (1)构造方法
    public Random()
    public Random(long seed)
    (2)成员方法
    public int nextInt() 生成int范围内的随机数
    public int nextInt(int n) 生成[0,n)的随机整数

Date类

  • 概述:类 Date 表示特定的瞬间,精确到毫秒。
    (1)构造方法
    public Date() 根据当前的默认毫秒值创建日期对象
    public Date(long date) 根据给定的毫秒值创建日期对象
    (2)成员方法
    public long getTime() 获取时间,以毫秒为单位
    public void setTime(long time)) 设置时间
   public static void main(String[] args) {
   	Date date = new Date();
   	long time = date.getTime();
   	System.out.println(date);		
   	Date date2 = new Date(time);
   	System.out.println(date2);		
   	// 2018-05-03
   }

/*

Calendar类

  • 概述:Calendar 类是一个抽象类,
  • 它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法,瞬间可用毫秒值来表示。
    (1)成员方法
    public static Calendar getInstance()
    public int get(int field)
    public void add(int field,int amount)
    public final void set(int year,int month,int date)
	public static void main(String[] args) {
		Calendar c = Calendar.getInstance();
		System.out.println(c);
//		long time = c.getTime().getTime();
//		System.out.println(time);
		int year = c.get(Calendar.YEAR);
		int month = c.get(Calendar.MONTH);
		int day = c.get(Calendar.DAY_OF_MONTH);
		int hour = c.get(Calendar.HOUR_OF_DAY);
		int minute = c.get(Calendar.MINUTE);
		int second = c.get(Calendar.SECOND);
		// 2018年04月28日 10时37分01秒
		System.out.println(year + "年" + (month + 1) + "月" + day);		
		/*
		 * public void add(int field,int amount)
		   public final void set(int year,int month,int date)	
		 */
		c.add(Calendar.YEAR, -3);
		System.out.println(c);		
		int year2 = c.get(Calendar.YEAR);
		int month2 = c.get(Calendar.MONTH);
		int day2 = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(year2 + "年" + (month2 + 1) + "月" + day2);		
		c.add(Calendar.YEAR, 30);		
		int year3 = c.get(Calendar.YEAR);
		int month3 = c.get(Calendar.MONTH);
		int day3 = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(year3 + "年" + (month3 + 1) + "月" + day3);		
		// public final void set(int year,int month,int date)
		c.set(5050, 5, 20, 12, 12, 12);
		int year4 = c.get(Calendar.YEAR);
		int month4 = c.get(Calendar.MONTH);
		int day4 = c.get(Calendar.DAY_OF_MONTH);
		System.out.println(year4 + "年" + (month4 + 1) + "月" + day4);
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值