黑马程序员——常用API

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1.Object

	(1)Object是类层次结构的根类,所有的类都直接或者间接的继承自Object类。
	(2)Object类的构造方法有一个,并且是无参构造
		这其实就是理解当时我们说过,子类构造方法默认访问父类的构造是无参构造
	(3)要掌握的方法:
		A:toString()
			返回对象的字符串表示,默认是由类的全路径+'@'+哈希值的十六进制表示。
			这个表示其实是没有意义的,一般子类都会重写该方法。
		B:equals()
			比较两个对象是否相同。默认情况下,比较的是地址值是否相同。
			而比较地址值是没有意义的,所以,一般子类也会重写该方法。
	(4)要了解的方法:
		A:hashCode() 返回对象的哈希值。不是实际地址值,可以理解为地址值。
		B:getClass() 返回对象的字节码文件对象	
		C:finalize() 用于垃圾回收,在不确定的时间
		D:clone() 可以实现对象的克隆,包括成员变量的数据复制,但是它和两个引用指向同一个对象是有区别的。
	(5)两个注意问题;
		A:直接输出一个对象名称,其实默认调用了该对象的toString()方法。
		B:面试题 
			==和equals()的区别?
			A:==
				基本类型:比较的是值是否相同
				引用类型:比较的是地址值是否相同
			B:equals()
				只能比较引用类型。默认情况下,比较的是地址值是否相同。
				但是,我们可以根据自己的需要重写该方法。
2.Scanner

	(1)在JDK5以后出现的用于键盘录入数据的类。
	(2)构造方法:
		A:System.in其实是标准的输入流,对应于键盘录入
		B:构造方法
			InputStream is = System.in;
			
			Scanner(InputStream is)
		C:常用的格式
			Scanner sc = new Scanner(System.in);
	(3)基本方法格式:
		A:hasNextXxx() 判断是否是某种类型的
		B:nextXxx()	返回某种类型的元素
	(4)要掌握的两个方法
		A:public int nextInt()
		B:public String nextLine()
	(5)需要注意的小问题
		A:同一个Scanner对象,先获取数值,再获取字符串会出现一个小问题。
		B:解决方案:
			a:重新定义一个Scanner对象
			b:把所有的数据都用字符串获取,然后再进行相应的转换

3.String

	字符串的特点
		A:字符串一旦被赋值,就不能改变。
			注意:这里指的是字符串的内容不能改变,而不是引用不能改变。
		B:字面值作为字符串对象和通过构造方法创建对象的不同
			String s = new String("hello");和String s = "hello"的区别?

4.StringBuffer

		小细节:
			StringBuffer:同步的,数据安全,效率低。
			StringBuilder:不同步的,数据不安全,效率高。
		A:String,StringBuffer,StringBuilder的区别
			String是内容不可变的,而StringBuffer和StringBuilder是内容可变的。
			StringBuffer是同步的,数据安全,效率低。而StringBuilder是不同步的,
			数据不安全,效率高。
		B:StringBuffer和数组的区别?
			两者都可以看做是一个容器,装其他数据。
			StringBuffer的数据最终只能是字符串类型的。
			而数组可以存放任意类型的数据,但必须是同一种数据类型。
	  注意的问题:
		String作为形式参数,StringBuffer作为形式参数。
		String和StringBuffer都是引用类型,但是在作为形式参数时,
		String跟常量效果一样,只是把本身的值传了过去,而没有传递地址值
		StringBuffer传递的是地址值。

5.基本数据类型的包装类

		byte 		Byte
		short		Short
		int		Integer
		long		Long
		float		Float
		double		Double
		char		Character
		boolean		Boolean

	 JDK5的新特性
		自动装箱	基本类型--引用类型
		自动拆箱	引用类型--基本类型
		
		把下面的这个代码理解即可:
			Integer i = 100;
			i += 200;
	 面试题
		-128到127之间的数据缓冲池问题

6.Math

	(1)针对数学运算进行操作的类
	(2)常见方法(自己补齐)
		A:绝对值		int abs(int a);
		B:向上取整		double ceil(double a);
		C:向下取整		double floor(double a);
		D:两个数据中的大值	int max(int a,int b);
		E:a的b次幂		double pow(double a,double b);
		F:随机数		double random();
		G:四舍五入		int round(float a);	long round(double a);
		H:正平方根		double sqrt(double a);

7.Random

	(1)用于产生随机数的类
	(2)构造方法:
		A:Random() 默认种子,每次产生的随机数不同
		B:Random(long seed) 指定种子,每次种子相同,随机数就相同
	(3)成员方法:
		A:int nextInt() 返回int范围内的随机数
		B:int nextInt(int n) 返回[0,n)范围内的随机数

8.System

	(1)系统类,提供了一些有用的字段和方法
	(2)成员方法(自己补齐)
		A:运行垃圾回收器			System.gc();
		B:退出jvm					System.exit();
		C:获取当前时间的毫秒值		System.currentTimeMillis();
		D:数组复制					System.arraycopy(Object src,int srcPos,Object dest,int destPos,int length);


9.BigInteger

	(1)针对大整数的运算
	(2)构造方法	
		A:BigInteger(String s)
	(3)成员方法(自己补齐)
		A:加		BigInteger add(BigInteger val);
		B:减		BigInteger subtract(BigInteger val);
		C:乘		BigInteger multiply(BigInteger val);
		D:除		BigInteger divide(BigInteger val);
		E:商和余数	BigInteger[] divideAndRemainder(BigInteger val);

10.BigDecimal

	(1)浮点数据做运算,会丢失精度。所以,针对浮点数据的操作建议采用BigDecimal。(金融相关的项目)
	(2)构造方法
		A:BigDecimal(String s)
	(3)成员方法:
		A:加	BigDecimal add();
		B:减	BigDecimal subtract();
		C:乘	BigDecimal multiply();
		D:除	BigDecimal divide();
		E:自己保留小数几位	BigDecimal divide(BigDecimal divisor,int scale,int roundingMode);

11.Date/DateFormat

	(1)Date是日期类,可以精确到毫秒。
		A:构造方法
			Date()
			Date(long time)
		B:成员方法
			getTime()
			setTime(long time)
		C:日期和毫秒值的相互转换
		案例:你来到这个世界多少天了?
	(2)DateFormat针对日期进行格式化和针对字符串进行解析的类,但是是抽象类,所以使用其子类SimpleDateFormat
		A:SimpleDateFormat(String pattern) 给定模式
			yyyy-MM-dd HH:mm:ss
		B:日期和字符串的转换
			a:Date -- String
				format()
				
			b:String -- Date
				parse()

12.Calendar

	(1)日历类,封装了所有的日历字段值,通过统一的方法根据传入不同的日历字段可以获取值。
	(2)如何得到一个日历对象呢?
		Calendar rightNow = Calendar.getInstance();
		本质返回的是子类对象
	(3)成员方法
		A:根据日历字段得到对应的值
		B:根据日历字段和一个正负数确定是添加还是减去对应日历字段的值
		C:设置日历对象的年月日

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一夸克

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值