java.lang包:
- java.lang包是一个java内置的一个基础包,其中包含了一系列程序中要用到的类
- 在默认情况下,每个java程序都会自动导入该包,因此无须再程序中显式的声明
包装类:
- java提供一系列包装类,以便将原始数据类型当作对象进行操作
- 在java.lang包中,对于每个原始数据类型都有一个相应的包装类
原始数据类型和包装类对照表:
原始数据类型---------------------包装类
boolean(布尔型)Boolean
byte(字节型) Byte
char(字符型) Character
short(短整型 ) Short
int(整型) Integer
long(长整型)Long
float(浮点型)Float
double(双精度浮点型)Double
包装类的valueOf方法:
- 每个包装类都有一个静态的valueOf方法,用于将字符串转换成相应的包装类的对象。
包装类的parseXxx方法:
除了Character类以外,其他的包装类都有静态的parseXxx方法(Xxx指代具体的数据类型),用于将字符串转换成相应的原始数据类型值。
Math类:
- Math类中提供了一系列基本数学运算和几何运算的方法
- 该类的构造方法被修饰为private,因此不能实例化
- 该类中的所有的方法都是静态的,可以通过类名直接调用
- 该类被修饰为fianl,因此此类没有子类
Math类中的常量
- PI:圆周率
- E:自然常量
以上常量在Math类中都被声明成静态,可以直接通过类名进行访问
Object类:
- java中的类体系遵循单根结构,即任何一个类往上追溯到达同一个父类
- Object类就是这个单根体系的根,也就是说他是其他所有类的共同父类
- 如果用户定义的类没有扩展任何其他类,则默认扩展自Object类;
- Object类中定义的一些方法,会被继承到所有的类中
Class类:
- java应用程序实际上都是由一个个对象组成,这些对象分别属于什么类,是从哪个类继承而来,这一系列的信息都是由Class类的实例来记录的
- Class类的实例用于记录对象的类描述信息;
- 如果在程序运行时,需要检索某个对象的相关类信息,可以调用该对象的getClass方法来获得记录描述信息的Class类实例;
- Class类没有公共的构造方法,无法通过new运算符实例化,只能通过对象的getClass方法,或者通过Class的静态方法forName来获得实例
Character类:
构造函数 Character(char)
方法:
valueOf(char) : 静态方法,将字符转为包装类
isLetter(char/int) : 判断字符或ascii码值是否为字母
isDigit(char/int):判断字符或ascii码值是否为数字
boolean isUpperCase(char ch):判断字符是否为大写形式
boolean isLowerCase(char ch):判断字符是否为小写形式
boolean isWhitepace(char ch):判断字符是否为空格或换行符
Integer类:
属性:MAX_value 最大值 (静态常量)
MIN_value 最小值 (静态常量)
SIZE 字节数 (静态常量)
value 数值(私有)
构造方法:
Integer(int)
Integer(String)
方法:
valueOf(int) :静态方法,将基本类型int转型为包装类Integer
valueOf(String):静态方法,将字符串转为包装类
pasreInt(String):静态方法,将字符串转型为基本类型int,但内容必须是数字的字符串
字符串:String
创建字符串的方式:
String str = "123";
String str = new String();
String str = new String("123");
String str = new String(char[]);
String str = new String(byte[]);
常用方法:
1.split("")字符串的切割 返回一个字符串的数组
2.substring() 字符串的截取
3.indexOf()/lastIndexOf():根据字符获取下标
4.charAt(index):根据下标获取对应的字符
5.endsWith()/startsWith():以...结尾/以...开始
6.replace():字符串的替换
7.getByte():将字符串转换成字节数组
8.trim():对去除字符串前后的空格
length(), equals(),compareTo();trim(),toLowerCase(),toUpperCase();getBytes(),toCharArray();
字符串的不可变性:所有对字符串的修改,实质是对该字符串副本的修改,本身并未变化,每一次修改,都会在内存中创建一个新的对象。
StringBuilder 缓冲字符串
构造方法:
StringBuffer(),StringBuffer(String)
常用方法:
1.append(Object)追加
2.insert()插入
3.delete(开始下标,结束下标)左闭右开
4.reverse():反转
5.replace()
在StringBuffer上的修改会直接在对象本身上修改,StringBuffer(增删改查) String的不可变性
java提供了一个和StringBuffer类功能一样的类StringBuilder
StringBuilder:线程不安全的,效率高。
StringBuffer:线程安全,效率稍低。
总结:
包装类的方法多半都为静态方法,用作基本类型,包装类型以及字符串之间的相互转换
除Character以外,其他基本类型的方法使用方式几乎相同;
每个类详细的用法应参考API文档—Java中的帮助文档。
使用包装类的好处:
1.方法的参数:基本类型按值传递,包装类按地址传递
2.返回值:基本类型必须返回一个数据,而包装类可以返回NULL