1.Math类
(1)java.lang.Math类提供了一些基本数学运算和几何运算的方法。
(2)此类中的所有方法都是静态的。这个类是final类,因此没有子类。
(3)Math类常见方法如下:
-->static double abs(double a):返回double值的绝对值。例如,Math.abs(-3.5)返回3.5。
-->static double max(double a,double b):返回两个double值中较大的一个。例如,Math.max(2.5,90.5);返回90.5。
-->static double random():返回一个随机的double值,该值大于等于0.0且小于1.0。
(4)随机获取一个[num1,num2)之间的整数(num2>num1)公式:
int num = (int)(Math.random()*(num2-num1)+num1);
2.String、StringBuffer、StringBuilder类
1、 String类概述 (1)在Java中,字符串被作为String类型的对象来处理。 (2)String类位于java.lang包中,默认情况下,该包被自动导入所有的程序。 (3)创建String对象的方法如下代码所示 String s = "Hello World"; String s = new String("Hello World"); (4)String类提供了许多有用的方法来操作字符串,比如获取字符串长度、对两个字符串进行比较、连接两个字符串以及提取一个字符串中的某一部分。 (5)字符串是一个字符序列,每一个字符都有自己的位置,字符串事实上也是一个字符数组,因此它的索引位置从0开始到(字符串长度-1)结束。
(1)求字符串长度:length() (2)字符串比较:equals(字符串2) (3)忽略带小写的字符串比较:equalsIgnoreCase(字符串2) (4)转换字符串中的英文字符为小写:toLowerCase() (5)转换字符串中的英文字符为大写:toUpperCase() (6)字符串的连接:concat(字符串2) (7)字符串提取和查询 (8)字符串拆分:split(separator,limit) -->separator是可选项,表示根据匹配指定的正则表达式来拆分此字符串。如果匹配不上,则结果数组只有一个元素,即此字符串。 -->limit可选项,该值用来限制返回数组中的元素个数。 3、使用StringBuffer类处理字符串 (1)StringBuffer类也是Java提供的用于处理字符串的一个类,而且它是比String类更高效的存储字符串的一种引用数据类型。 (2)StringBuffer类对字符串进行连接操作时,使用StringBuffer类可以大大提高程序的执行效率。 (3)如何使用StringBuffer类 StringBuffer类位于java.util包中,是String类的增强类。StringBuffer类提供了很多方法可供使用。 StringBuffer 对象名 = new StringBuffer("字符串内容"); (4)常用的StringBuffer类方法 1)toString()方法:将StringBuffer类型的字符串转换为String类型的对象。 2)append(参数)方法:将参数连接到字符串后,可以将任何类型的值追加到字符串后。 3)insert(位置,参数)方法:将参数插入到字符串指定位置后并返回。参数值可以是包括String的任何类型。
(1)java.lang.StringBuilder是JDK 5.0版本新增的类,它是一个可变的字符序列。 (2)此类提供一个与StringBuffer类兼容的API,被设计用作StringBuffer类的一个简易替换,在大多数实现中,它比StringBuffer执行要快。 (3)使用StringBuilder类处理字符串的方法与StringBuffer类基本一样。
String、StringBuffer、StringBuilder这3个类在处理字符串时有各自的特点和实用场合,具体如下: (1)String:字符串常量 String是不可变的对象,在每次对String类型进行改变时其实都等同于生成了一个新的String对象,然后指向新的String对象,所以经常改变内容的字符串最好不要用String类型,因为每次生成对象都会对系统性能产生影响。 (2)StringBuffer:字符串变量 StringBuffer是可变的字符串,在每次对StringBuffer对象进行改变时,会对StringBuffer对象本身进行操作,而不是生成新的对象,再改变对象引用。所以,在字符串对象经常改变的情况下,推荐使用StringBuffer类。 (3)StringBuilder:字符串变量 JDK 5.0版本以后提供了StringBuilder类,它和StringBuffer类等价,区别在于StringBuffer类是线程安全的,StringBuilder类是单线程的,不提供同步,理论上效率更高。 |
3.Random类
(1)Random类用于生成随机数。每当需要以任意或非系统方式生成数字时,可使用此类。
(2)Math类的random()方法也可以产生随机数,其实Math类的random()方法底层就是使用Random类实现的。
(3)Random类的构造方法有两种重载方式。
构造方法 说明
Random() 创建一个新的随机数生成器
Random(long seed) 使用单个long种子创建一个新的随机数生成器
(4)Random类中定义了很多方法用于获取随机数,最常用的是nextInt()方法,它返回下一个伪随机数,返回值类型是整数类型。返回下一个伪随机数的语法格式如下:
int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。
int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在0(包括)和指定值n(不包括n)之间均匀分布的int值。
(5)Random类还定义了得到长整型、boolean型、浮点型等伪随机数的方法。
(6)如果用同样一个种子值来初始化两个Random对象,然后用每个对象调用相同的方法,那么得到的随机数也是相同的。