lang包

1、lang包

  • lang包提供了几乎每个应用程序都会用到的类 Object,Math,包装类,System,String等
  • 这个包在使用时自动导入,因此不需要手动的使用import导入

2、System类
该类不能被实例化;
这个类提供了很多类属性和类方法用于实现每个程序最基本的操作;

  • System.out:标准输出流
  • System.err:错误信息输出流
  • System.in:标准输入流
  • System.exit(0):退出java虚拟机
  • System.currentTimeMillis():获得当前时间的毫秒值
  • System.arrayCopy():复制数组元素的方法

3、包装类
java为每个基本数据类型都提供了一个对应的包装类:
Integer;Short;Byte;Long;Float;Double;Blooean;Character;

每个包装类都提供了用于处理此类型的多个方法;
基本数据类型和包装类可以直接转换;这个过程叫做自动拆装包;

4、学会查看API文档

  • 找到对应的类

  • 查看类的结构

     继承层次,实现接口;简要说明;
     属性定义
     构造方法
     普通方法
    

5、Integer常用方法
Integer valueOf();
String toString();
int parseInt();
float floatValue();
6、引用数据类型之间的转换

  • 向上转型:有继承关系,直接赋值即可;
  • 向下转型:有继承关系,需要强制转换,可能造成ClassCastException异常
  • 利用方法:可以无继承关系,Integer.valueOf()

7、Math
这个类包含了很多关于数学操作的方法(三角函数,指数等)
这个类不能实例化,所有的方法都是静态的

8、Object
所有类的父类;定义了所有类都实现的方法;

9、Object中的方法,共有11个

  • clone():克隆

  • equals():比较是否相等

  • toString():转换成String

  • hashcode():生成哈希码

  • finalize():垃圾回收前执行的代码

  • getClass():获得对象的类对象(反射)

  • 线程: wait() notify() notifyAll()

10、toString方法
将对象转成字符串,通常的写法是将所有的属性值都连成一个完整的字符串;
当使用System.out.println(对象);时会自动调用toString方法;
11、hashcode

  • hash算法是将长度不一的数值转成长度相等的数值的一种算法;(无论哪个对象都可以映射成一个整数)
  • 协定:
    同一个对象,执行多次hashcode时(对象里的值不变,应用程序不是关了又开再执行),结果相同
    如果equals相同,那么hashcode一定相等 如果equals不等,那么hashcode也可能相等,但最好不等

12、equals
判断两个对象的内容是否相等
equals的原则

  • 自反性:x,x
  • 对称性:x,y
  • 传递性:x,y,z
  • 一致性:x,y x,y
  • 与null比结果为false

13、finalize
垃圾回收前执行的代码

14、String 字符串常量
String代表字符串,是java中最常用的一个类;它是一个字符串常量,一旦定义就不能改变;
内部就是一个字符数组
不可被继承

如何创建一个字符串
	最常用的:字面值 String str="hello world";
	构造方法

15、字符串的方法
charAt():根据索引获得字符
length():获得字符数
getBytes():获得字节数组
compareTo():与另外一个字符串比较大小
contains():判断是否包含另一个字符串
equals():判断两个字符串的值是否相等
startsWith():是否以某个字符串开头
endsWith():是否以某个字符串结尾
replace():替换原有字符串,并返回新的(可以用来做删除 例:replace(“s”,""))
replaceAll():替换原有字符串,并返回新的(可以用正则表达式)
replaceFirst():替换第一次出现的原有字符串,并返回新的
isEmpty():判断是否为空串
subString():根据索引获得子串
split():根据字符串进行拆分成字符串数组
trim():去除左右空格
valueOf():将其它数据类型转换成String

16、字符串池 字面值

  • 方法区:存放不变的信息
  • 因为字符串是不可变的,为了提升性能,java对字符串做了特殊的处理,如果使用"字符串"形式定义了一个字符串,那么将会在字符串池中定义字符串,而不是在堆中每次创建新的字符串;
  • 字符串池是方法区的一个组成部分

17、StringBuffer
可变的字符串缓冲区,如果需要对一个字符串频繁的做增删该查操作,那么建议使用此类;
常用方法:
特点:支持链式编程;适合对字符串进行处理(字符串适合存储)
insert():
delete():
append():
replace():
subString():
reverse():

  • String与StringBuffer的转换:
    String->StringBuffer:new StringBuffer(String);
    StringBuffer->String:调用toString();

18、StringBuilder
与StringBuffer作用相同,只是它是线程不安全的;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值