java.lang包,包装类,Math类,Object类,Class类,字符串操作(String,StringBuffer)

本文详细介绍了Java.lang包中的关键内容,包括包装类的使用、Math类的数学运算和Object类的作用,以及Character和Integer类的特性和方法。重点讲解了包装类在参数传递和返回值中的优势,并提到了String类和StringBuilder的区别。
摘要由CSDN通过智能技术生成

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

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值