常用类(一)

1. 基本数据类型包装类

Java是一种纯面向对象语言,但是java中有8种基本数据类型,破坏了java为纯面向对象的特征。为了承诺在java中一切皆对象,java又给每种基本数据类型分别匹配了一个类,这个类我们称之为包装类。

注意:每个基本数据类型都有一个与之匹配的包装类。

1.1 八大基本数据类型的包装类
基本数据类型常用类
byteByte
booleanBoolean
intInteger
shortShort
longLong
charCharcter
floatFloat
doubleDouble

注意:int的包装类的写法为Integer、char的包装类的写法是:Character

其余基本数据类型的包装类均是基本类型的首字母大写。

1.2 包装类的优点

某些方法的参数必须是对象,为了让基本数据类型的数据作为参数,提供包装类
包装类还提供更多的功能例如:
获得类型的最大值:Integer.MAX_VALUE
最小值Integer.MIN_VALUE
将一个类型转为另一个类型integer.doubleValue()
将字符串转化为数字Integer.parseInt("100")
将数字转化为字符串Integer.toString(100)
等等
其他特别重要的功能:可以实现字符串和基本数据类型的相互转换

1.3 包装类中的常用方法

装箱:把基本数据类型包装为对应的包装类对象

1、 Integer i1 = new Integer(10); // 利用构造方法

2、 Integer i2 = Integer.valueOf(10); //利用包装类中的静态方法

拆箱:把包装类对象转换为对应的基本数据类型。

1、int i3= i1.intValue(); //返回包装类对象i1对应的基本数据

1.4 自动装箱和自动拆箱

前面的装箱和拆箱操作,相对较麻烦。自jdk1.5开始,java增加的对基本数据类型的自动装箱和自动拆箱操作。

java编译器在编译时期会根据源代码的语法来决定是否进行装箱或拆箱。

1、 自动装箱:可以直接把一个基本数据类型赋值给包装类

例如: Double d = 3.3; //自动装箱操作

2、 自动拆箱:可以直接把一个包装类对象,赋值给基本类型

例如:int a = new Integer(3); //自动拆箱。

自动装箱和自动拆箱,简化了对包装类的操作。

2. 字符串相关类

2.1 String的特点
2.1.1 字符串的实例化

字符串的两种实例化方式及其差别

1).String str = “abc”;

2).String str = new String(“abc”);

Java运行时会维护一个String Pool(String池), 也叫“字符串区”。String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。而一般对象不存在这个缓冲池,并且创建的对象仅仅存在于方法的堆栈区。

当用户采用直接赋值实例化String对象的时候,如果是第一次定义,则会自动的将对象的内容(字符串内容)保存在字符串对象池之中,以后如果其他的字符串对象依然采用直接赋值的话,可以直接通过对象池取出已经保存的内容继续使用,而不会再重新开辟新的空间

2.1.2 字符串的不可改变

字符串的内容一旦申明,就不能被改变

做类似于+=的操作后,实际上是指向了新的地址,原来的空间里面的内容还是没有改变

如果字符串内容经常发生改变,建议使用StringBuffer

2.1.3 字符串的常用方法

public String(char[] value)--------------------------全部字符数组变为String类

public String(char[] value,int offset,int count)-----部分字符数组变为String

public String(byte[] bytes)--------------------------全部字节数组变为字符串

public String(byte[] bytes,int offset,int length)----部分字节数组变为字符串

public boolean equals(String anObject)---------------字符串内容的比较,区分大小写

public boolean equalsIgnoreCase(String anotherString)不区分大小写完成字符串内容的比较

public boolean contains(String s)--------------------判断指定的子字符串是否存在

public int indexOf(String str)-----------------------从头查找指定的子字符串是否存在,存在则返回字符串的索引,不存在则返回-1

public String replaceAll(String regex,String replacement)满足条件的内容全部替换

public String subString(int beginindex)--------------从头截取到尾

public String subString(int beginindex,int endindex)-截取中间的部分内容

public String[] split(String regex)------------------全拆分

public String[] split(String regex,int limit)--------拆分成指定的个数

2.2 StringBuffer类
2.2.1 为什么使用StringBuffer类

字符串的不变性:

  1. 一个String对象的长度是固定的,不能改变它的内容,或者是附加新的字符到String对象中。

  2. 您也许会使用+来串联字符串以达到附加新字符或字符串的目的,但+会产生一个新的String对象。

  3. 如果程序对这种附加字符串的需求很频繁,系统会频繁在内存中创建String对象,造成性能下降。所以并不建议使用+来进行频繁的字符串串联。应该使用java.lang.StringBuffer类。

2.2.2 StringBuffer的使用

长度经常变化的字符串,可以考虑使用StringBuffer

//建议长度经常变化的字符串,采用StringBuffer

StringBuffer buffer = newStringBuffer();

buffer.append("hello");

buffer.append("world");

2.2.3 StringBuffer和StringBuilder

StringBuilder与StringBuffer的用法完全一致,唯一的区别是StringBuffer是线程安全的,而StringBuilder不是线程安全的。所以StringBuilder的性能要比StringBuffer要好。

单线程推荐使用StringBuilder,多线程使用StringBuffer。

3. Math类

Math 类提供了一序列基本数学运算和几何函数的方法。

Math类是final类,并且它的所有成员变量和成员方法都是静态的。

3.1 Math类的常用方法

常用方法:Mah内的所有方法均为静态的

Random():生成一个对象

nextInt():生成一个随机数,如果有参数则生成一个在0~参数之间的随机数

nextBoolean():生成一个随机的布尔值(true或false)

nextDouble():生成一个在0~1之间的小数

nextFloat():生成一个在0~1之间的小数

nextLong():生成一个随机的long型数

  • 25
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java中常用的String类是一个用于表示字符串的类。String类是不可变的,意味着一旦创建了一个String对象,它的值就不能改变。String类提供了许多方法来处理字符串,包括字符串的拼接、截取、替换、查找等操作。 常用的String类方法包括: 1. 字符串拼接:可以使用"+"操作符或者String类的concat()方法将两个字符串连接起来。例如,str1 + str2 或者 str1.concat(str2)。 2. 字符串长度:使用String类的length()方法可以获取字符串的长度。例如,str.length()。 3. 字符串查找:使用String类的indexOf()方法可以在字符串中查找指定字符或子字符串的位置。例如,str.indexOf('a') 或者 str.indexOf("abc")。 4. 字符串截取:使用String类的substring()方法可以从一个字符串中截取指定位置的子字符串。例如,str.substring(3) 或者 str.substring(0, 5)。 5. 字符串转换:String类提供了许多方法来进行字符串与其他数据类型之间的转换。例如,将一个字符串转换为整数可以使用Integer类的parseInt()方法,将一个整数转换为字符串可以使用String类的valueOf()方法。 6. 字符串比较:String类提供了equals()方法用于比较两个字符串是否相等。例如,str1.equals(str2)。 7. 字符串替换:使用String类的replace()方法可以将字符串中的指定字符或子字符串替换为新的字符或字符串。例如,str.replace('a', 'b') 或者 str.replace("abc", "def")。 8. 字符串大小写转换:使用String类的toLowerCase()和toUpperCase()方法可以将字符串转换为全小写或全大写形式。例如,str.toLowerCase() 或者 str.toUpperCase()。 这些是String类的一些常用方法,可以满足大多数字符串处理的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值