我是靠谱客的博主 刻苦悟空,最近开发中收集的这篇文章主要介绍java基础类库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

java拥有着丰富的基础类库,Java8中就有着失少4000多个基础类,这些类库可以帮助我们更好的去开发。这篇文章当然不可能讲完所有的类,但是对于一个合格的程序员来说,我们至少要了解其中百分之80的类库,能较为灵活的使用其中的常用类。


一 System类

java程序运行的平台,可以由System类来与之交互。

System.in.println();

System.out.println();

System.err.println();

分别是标准输入,标准输出,错误输出。


二 Runtime类

Runtime类 代表程序运行时的环境,每个java程序都有一个与之相对应的Runtime实例,程序可以通过该对象与其运行时环境相连。

比如:availableProcessors()来访问处理器数量。

    freeMemory()为空闲内存 

等等方法来访问运行时的方法


三 Object类    

Object类是所有类,数组,枚举类的父类。可以接收一切对象。定义一个类的时候,默认的去继承Object类

其中 要注意Object类中的 equals方法和toString方法

在Object中 equals方法是判断指定对象与该对象是否相等。(是否是同一个对象,也就是地址相同)(因为一般来说,这样去比没有意义,一般都要重写)。

而在Object中toString方法,是返回该对象的字符串表示,当程序使用System.out.println方法输出一个对象的时候,系统会自动调用它的toString方法,但是Object类的 toString方法是返回:运行时类名+@+十六制hashCode值。所以很多类都重写了这个方法,比如String,就重写了,是比较两个值是否相等。

还有int hashCode方法 返回对象的hashCode值


四 Objects类

+s 就是工具类,比如Collections Arrarys 等等。

这里面的方法大都是安全的,不会出现NullPointerException


五 包装类

基本数据类型<-——>引用数据类型

为了解决基本数据类型,不能引用的问题。

1 基本数据类型转换成包装类

装箱

Integer it1 = new Integer(100);

Double db1 = new Double(10.5);

2 包装类转成基本数据类型

拆箱

int i = it1.intValue

double db = db1.doubleValue

以上上是手动的 在jdk1.5以后就不用这么麻烦了,可以有自动拆装箱

3 自动拆装箱

Integer it2 = 1000;

int i2 = it2;

4基本数据类型,包装类——> String 字符串

1. +"   "号

2. String.valueOf()

int i = 10;

String str = String.valueOf(i);

这个时候 str是"10";

3 包装类的话,直接调用toString方法

5 String 字符串——> 基本数据类型,包装类

String str1 = "10";

Integer it1 = new Integer(str1);

int i = Integer.parseInt(str1);


六  String               StringBuilder StringBuffer 

首先讲String:

String:构造方法

String();

初始化一个新创建的 String 对象,使其表示一个空字符序列。

String(byte[] bytes);

通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于 byte 数组的长度。

String(byte[] bytes,int offset,int length)

通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于该子数组的长度。 

有不懂的可以去查API,byte 和 char

除了构造方法,还有很多的方法

substring(int startpoint);取

substring (int start,int end);

replace(char old,char new);替换

replaceAll(String old ,String new);

trim()去掉首尾空格

concat(String str)连接字符串

split(String regex)根据正则表达式来拆分此字符串


字符串String <——>字节数组byte[] 、字符数组char[]的转换

字符串String转为 字符数组char[]

String str =“aaa”;

char[] c = str.toCharArray()

sysout(Arrays.toString(c));

字符串String转为字节数组byte[]

String str1 = "haha";

byte[] b = str1.getBytes();

sysout(Arrays.toString(b));

StringBuilder   线程不安全的,效率略高(一般情况下选build)

StringBuffer   线程安全的 效率略低

StringBuffer的用法和StringBuilder的用法完全一样,只是多了线程安全这一点

与String最大的不同就是StringBuilder 和StringBuilder 的长度是可以变的,而String是无法改变长度的。

StringBuilder 和StringBuffer 中多了

StringBuilder sb = new StringBuilder();

sb.append("haha")

sb.insert(0,"!!!")

sb.replace(5,6,",")//开始,结束,替换

sb.delete(5,6)

sb.reverse()//颠倒

sb.length();

sb.capacity()容量

七 Math类

常用的就是其中的PI 和E

int t = (int)Math.random()

Math中还有许多数学计算功能


八 Random类 和 ThreadLocalRandom类

比Math类里面random方法更为强大

提供了nextXXX()来获取伪随机数

构造这个类的时候,可以加种子


九 BigDecimal

用来应对浮点型的精度丢失问题

BigDecimal f1 = new BigDecimal("0.05");//注意要用字符串的方法表示,不能用

或者 BigDecimal f2 = BIgDecimal.valueOf(0.01)

add subtract multiply divide


十 Date类

首先注意包 java.util包下 而不是java.sql包下

Date的两个构造方法

1 Date()//程序运行的当前时间

2 Date(long date)

还有Long t1 = System.currentTimeMills()

date.getTime() 从1970年到今天的毫秒

十一 Calendar类

通过getInstance()得到值

Calendar c = Calendar.getInstance()

c.get(Calendar.YEAR)

也可以设置

c.set(Calendar.YEAR)

PS 以sunday为第一天

ps add()会出现进位


十二 DateFormat

日期转文本

SimpleDateFormat

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String date = sdf.format(new Date())

System.out.println(date)



文本转日期
Date d = sdf.parse("1970-10-2");
Sysout(d)

十三 正则表达式

提供了Pattern 和Matcher 两个类来提供支持

\ 相当于 前一个用来转意

Pattern p = Pattern.compile(“a*b”);

Matcher m = p.matcher(“aaaaaab”);

boolean b = m.matchers();

String str = “巴拉巴拉巴拉巴拉巴拉巴拉巴拉巴巴拉拉”

Matcher m  = Pattern.compile("((13\d)|(15\d)\d{8})").macher(str);

while(m.find){

System.out.println(m.group())

}














最后

以上就是刻苦悟空为你收集整理的java基础类库的全部内容,希望文章能够帮你解决java基础类库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部