java.lang包下常用类及其常用方法:

1. Double

Double 类在对象中包装一个基本类型 double 的值。

Double 类提供了很多方便的公共静态方法:

java中 double变量可以接收float值吗_字符串

(1)public static int compare(double d1, double d2),比较double类型的d1、d2大小,d1>d2->1,d1小于d2->-1,d1=d2->0

(2)public static Double valueOf(String s)与public static double parseDouble(String s),作用:都是将String类型的字符串转换为浮点数,底层的解析方法是一样的,只不过返回值有一点差异而已,前者返回Double类型,后者double基本数据类型

(3)public static String toString(double d),作用:将double数据类型转换为String类型

2. Integer

Integer 类在对象中包装了一个基本类型 int 的值。

Integer 类与Double 类差不多,不多解释

3. Math

Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。

Math类公共静态方法:

java中 double变量可以接收float值吗_字符串_02

(1)public static double random(),作用:生成[0,1.0)区间的随机double 类型的数字

(2)public static int abs(int a),作用:返回一个数的绝对值

(3)public static long round(double a),作用:四舍五入,示例:

java中 double变量可以接收float值吗_java_03

(4)public static double ceil(double a),作用:向上取整

示例:

java中 double变量可以接收float值吗_静态方法_04

(5)public static double floor(double a),作用:与(4)相反,向下取整

示例:

java中 double变量可以接收float值吗_静态方法_05

(6)public static int max(int a, int b)与public static int min(int a, int b)分别为取两数之间较大和较小值

(7)public static double pow(double a, double b),作用:次方,返回a的b次方数,示例:

java中 double变量可以接收float值吗_字符串_06

4. Object

类 Object 是类层次结构的根类。

以下是所有对象都具有的方法:

java中 double变量可以接收float值吗_静态方法_07

(1)equals()方法,作用:比较两个对象(其实是比较两个对象的引用)

java中 double变量可以接收float值吗_字符串_08

(2)hashCode()方法,作用:返回此对象的hashCode值:

java中 double变量可以接收float值吗_字符串_09

可以看到,此方法是native本地方法,native关键字说明其修饰的方法是一个原生态方法,方法对应的实现不是在当前文件,而是在用其他语言(如C和C++)实现的文件中。Java语言本身不能对操作系统底层进行访问和操作,但是可以通过JNI接口调用其他语言来实现对底层的访问。简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数。

这里暂不做深入讨论

(3)toString()方法,作用:返回此对象的一种表示形式:

java中 double变量可以接收float值吗_字符串_10

可以看到,返回的是对象的全类名+@+hashCode码

对于一般对象来说,toString()方法是这样的:

java中 double变量可以接收float值吗_字符串_11

而对于包装类来说,重写了toString()方法,将数值转换为String类型,字符串类型直接返回本身字符串

java中 double变量可以接收float值吗_字符串_12

java中 double变量可以接收float值吗_字符串_13

(4)至于其他几个方法,涉及到多线程相关知识,后面再讨论

5. String

String 类代表字符串。

(1)String类提供了将基本数据类型转换为字符串类型的静态方法valueOf():

java中 double变量可以接收float值吗_静态方法_14

(2)平常开发中对于字符串的操作应该是很频繁的了,字符串对象有很多方法可以直接使用:

java中 double变量可以接收float值吗_字符串_15

(3)public boolean matches(String regex),作用:判断此字符串是否匹配正则表达式regex,匹配返回true,否则false

java中 double变量可以接收float值吗_静态方法_16

可以看到,此方法最终是调用的java.util.regex.Pattern类下matches()方法,示例:

java中 double变量可以接收float值吗_静态方法_17

(4)public String trim(),作用:去除字符串首尾两端的空格,示例:

java中 double变量可以接收float值吗_字符串_18

isEmpty()是判断字符串是否为空的方法,建议写入StringUtil工具类,方便后面直接使用

(5)public boolean equals(Object anObject),作用:比较字符串内容

a、我们知道根类Object类也有equals方法:

java中 double变量可以接收float值吗_字符串_19

它是直接比较两个对象的引用是否相等,也就是比较的内存地址,如果是两个不同对象,很显然返回false,而String类也有equals方法,但是重写了此方法,先比较对象的引用,相等直接返回true,不相等继续判断,如果此对象是String类的实例,而且其内容(也就是字符串值)相等,则也返回true,否则返回false,所以,对于字符串来说,equals方法其实就是比较的两个字符串内容是否相等

b、我们先看一下String类的equals方法:

java中 double变量可以接收float值吗_静态方法_20

c、再测试一下:

java中 double变量可以接收float值吗_静态方法_21

可以看到,由于new了两个不同的String对象,直接==比较内存地址肯定是不等的,false,而使用String类equals方法则是还比较了其内容,相等,所以true

(6)split()方法,作用:将字符串根据参数分割为字符串数组,示例:

java中 double变量可以接收float值吗_java_22

(7)toCharArray方法,作用:将字符串转换为字节数组,示例:

java中 double变量可以接收float值吗_静态方法_23

(8)replace()和replaceAll()方法,作用:都是字符串替换

java中 double变量可以接收float值吗_java_24

(9)equals()和equalsIgnoreCase(),作用:判断字符串内容相等,后者忽略大小写,示例:

java中 double变量可以接收float值吗_java_25

(10)剩下比较简单的字符串操作方法我们通过实例演示:

java中 double变量可以接收float值吗_java_26

6. StringBuffer

线程安全的可变字符序列。

示例:

java中 double变量可以接收float值吗_java_27

7. StringBuilder

一个可变的字符序列。

同上6,关于String、StringBuffer与StringBuilder之间区别,推荐看一篇博文:链接

8. Thread

线程 是程序中的执行线程。

关于Java多线程,可以看一下我之前的随笔链接

到此java.lang包下常用类及常用方法就先介绍这么多了,写的比较浅显,请大家指教