这篇文章我们来总结下Java中的常用类库。类库中的这些类和方法都是精心设计的,其运行的效率高、质量高,这些类和方法几乎包含在所有的Java软件中,所以可移植性很高。

下面我们详细学习下。

StringBuffer类

StringBuffer是使用缓冲区的,本身也是操作字符串的,但是与String类不同,String类中的内容一旦确定之后不能改变,改变的只是它内存地址的指向,而StringBuffer类中的内容是可以改变的。
对于StringBuffer而言,它本身是一个具体的操作类,所以它不能和String一样直接赋值,必须通过构造方法完成。
StringBuffer常用方法:append();  用于字符串连接,效果等于String中的+;
insert():在指定位置为字符串添加字符;
reverse():对字符串进行反转操作;
replace();替换掉指定位置的字符内容;
substring();截取字符串指定内容;
delete();删除指定字符串;
indexOf(); 查找指定内容是否存在;
实例:
public class StringBuffer01 {public static void main(String[] args) {// TODO Auto-generated method stubStringBuffer buffer = new StringBuffer();buffer.append("hello");buffer.append("nhpop12345656");//串联字符串System.out.println(buffer);      buffer.insert(2, "***");      //插入System.out.println(buffer);buffer.replace(7, 9, "AAA");   //替换System.out.println(buffer);String str1 = buffer.substring(7,12);//截取System.out.println(str1);StringBuffer str2 = buffer.reverse();//倒置System.out.println(str2);System.out.println(buffer);buffer.delete(5, 7);                //删除System.out.println(buffer);if (buffer.indexOf("pop") == -1) { //查找System.out.println("不可以找到");} else {System.out.println("可以找到");}}}

Runtime类

Runtime是一个封装了JVM进程的类,每一个Java程序都是启动了一个JVM进程,每一个JVM进程都是对应一个Runtime实例,此实例是JVM为其实例化的。
Runtime定义中没有构造方法,本类的构造方法被私有化了。
Runtime类实例:
public class Runtime01 {public static void main(String[] args) {// TODO Auto-generated method stubRuntime run = Runtime.getRuntime();System.out.println("JVM最大内存量:" + run.maxMemory());System.out.println("JVM运行内存量:" + run.freeMemory());String str = "sss";for (int i = 0; i < 1000; i++) {str += i;}System.out.println("运行后JVM内存量:" + run.freeMemory());System.gc();System.out.println("启动垃圾回收器之后的JVM内存" + run.freeMemory());}}

Runtime与Process
使用Runtime可以直接调用本机应用程序。
实例:调用应用程序记事本,并且在5秒之后关掉
public class Runtime01 {public static void main(String[] args) {// TODO Auto-generated method stubRuntime run = Runtime.getRuntime();Process p = null;try {p = run.exec("notepad.exe");} catch (Exception e) {e.printStackTrace();// TODO: handle exception}try {Thread.sleep(5000); // 此线程存活5秒} catch (Exception e) {// TODO: handle exception}p.destroy();}}

System类

System类是一些与系统相关的方法和属性集合。
实例:使用System类打印运行时间:
public class System01 {public static void main(String[] args) {// TODO Auto-generated method stublong startTime = System.currentTimeMillis();int sum = 0;for (int i = 0; i < 30000000; i++) {sum += i;}long endTime = System.currentTimeMillis();System.out.println("TotalTime:"+(endTime-startTime));}}

System类还可以显示出本机全部系统属性:

public class System01 {public static void main(String[] args) {System.getProperties().list(System.out);}}

日期操作类(Date,Calendar)

Date类直接输出实例化对象即可。
import java.util.Date ;
public class DateDemo01{public static void main(String args[]){Date date = new Date() ;    // 直接实例化Date对象System.out.println("当前日期为:" + date) ;}
};

Calendar类则可以将时间精确到毫秒。

import java.util.* ;
public class DateDemo02{public static void main(String args[]){Calendar calendar = new GregorianCalendar();    // 实例化Calendar类对象System.out.println("YEAR: " + calendar.get(Calendar.YEAR));System.out.println("MONTH: " + (calendar.get(Calendar.MONTH) + 1));System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));System.out.println("SECOND: " + calendar.get(Calendar.SECOND));System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));}
};

Math与Random类

Math类中的方法都是静态方法,所以只要直接类名.方法即可使用。
Math中常用的方法有:max、min、sqrt(开方)、pow(m,n)m的n次方、round(省略小数点后数字)。
Random类主要是生成随机数,可以生成指定大小范围的随机数。
Random random = new Random();for(int i = 0;i<10;i++){System.out.print(random.nextInt(50)+"\t");}

大数操作(BigInteger、BigDecimal)

对于大数操作,Java提供了两个类,其中BigInteger可以对大的整形数进行操作。
实例:
import java.math.BigInteger ;
public class BigIntegerDemo01{public static void main(String args[]){BigInteger bi1 = new BigInteger("123456789") ;  // 声明BigInteger对象BigInteger bi2 = new BigInteger("987654321") ;  // 声明BigInteger对象System.out.println("加法操作:" + bi2.add(bi1)) ; // 加法操作System.out.println("减法操作:" + bi2.subtract(bi1)) ;  // 减法操作System.out.println("乘法操作:" + bi2.multiply(bi1)) ;  // 乘法操作System.out.println("除法操作:" + bi2.divide(bi1)) ;    // 除法操作System.out.println("最大数:" + bi2.max(bi1)) ;     // 求出最大数System.out.println("最小数:" + bi2.min(bi1)) ;   // 求出最小数BigInteger result[] = bi2.divideAndRemainder(bi1) ;   // 求出余数的除法操作System.out.println("商是:" + result[0] + ";余数是:" + result[1]) ;}
};

BigInteger类可以对大数进行小数操作,从而可以进行精确的四舍五入。

比较器(Comparable、Comparator)

比较器的类只要适用于数字之间进行比较。
例:实现二叉树算法。
class BinaryTree{class Node{           // 声明一个节点类private Comparable data ; // 保存具体的内容private Node left ;           // 保存左子树private Node right ;        // 保存右子树public Node(Comparable data){this.data = data ;}public void addNode(Node newNode){// 确定是放在左子树还是右子树if(newNode.data.compareTo(this.data)<0){  // 内容小,放在左子树if(this.left==null){this.left = newNode ; // 直接将新的节点设置成左子树}else{this.left.addNode(newNode) ;  // 继续向下判断}}if(newNode.data.compareTo(this.data)>=0){    // 放在右子树if(this.right==null){this.right = newNode ;  // 没有右子树则将此节点设置成右子树}else{this.right.addNode(newNode) ;  // 继续向下判断}}}public void printNode(){    // 输出的时候采用中序遍历if(this.left!=null){this.left.printNode() ;  // 输出左子树}System.out.print(this.data + "\t") ;if(this.right!=null){this.right.printNode() ;}}};private Node root ;       // 根元素public void add(Comparable data){ // 加入元素Node newNode = new Node(data) ; // 定义新的节点if(root==null){  // 没有根节点root = newNode ;   // 第一个元素作为根节点}else{root.addNode(newNode) ; // 确定是放在左子树还是放在右子树}}public void print(){this.root.printNode() ;  // 通过根节点输出}
};
public class ComparableDemo03{public static void main(String args[]){BinaryTree bt = new BinaryTree() ;bt.add(8) ;bt.add(3) ;bt.add(3) ;bt.add(10) ;bt.add(9) ;bt.add(1) ;bt.add(5) ;bt.add(5) ;System.out.println("排序之后的结果:") ;bt.print() ;}
};

此外常用类库还有观察者模式所用的Observable类、支持正则表达式的类库、定时调度类Timer,以后会在使用到的时候进行总结。

转载于:https://www.cnblogs.com/tryitboy/p/4231118.html

JAVA笔记:Java常用类库相关推荐

  1. Java笔记04-核心类库

    Java笔记04-核心类库 Object类 1.1 常用的包 java.lang包 -该包是Java语言中的核心包,该包中的内容由Java虚拟机自动导入 如:String类,System类等java. ...

  2. 【java笔记】常用函数式接口(4):Funtion接口

    ​​​​​​​​​​​​​​[java笔记]常用函数式接口(1):Supplier接口_m0_52043808的博客-CSDN博客 [java笔记]常用接口(2):Consumer接口_m0_5204 ...

  3. 【java笔记】常用函数式接口(1):Supplier接口

    [java笔记]常用接口(2):Consumer接口_m0_52043808的博客-CSDN博客 [java笔记]常用函数式接口(3):Predicate接口_m0_52043808的博客-CSDN博 ...

  4. Java笔记09——常用类

    常用类 单例模式:是java中的一种设计模式,是优秀的程序员总结的一套比较成熟的健壮的一套规范.有23种,到架构师的时候才可以用到. 特点: 1.私有的构造器 2.静态的成员对象 3.公有的静态方法 ...

  5. Java笔记:常用类

    1. 字符串相关的类 1.1 String 类 String 声明为 final 的,不可被继承 String 实现了 Serializable 接口:表示字符串是支持序列化的 String 实现了 ...

  6. java笔记:常用类-反射

    目录 1 常用类 1.1 内部类 1.1.1 概念 1.1.2 成员内部类 1.1.3 静态内部类 1.1.4 局部内部类 1.1.4 匿名内部类 1.2 Object类 1.2.1 getClass ...

  7. Java笔记-Java日常笔记-Java核心语言-史上最全Java笔记-Java烂笔头-实时更新(~v~)

    阿一的日常Java笔记,实时更新,有什么问题可以留言交流一下,大家一起共同进步!!! 1.Java基础 1.1.基本语法 1.1.1.关键字 ​ 定义:被java赋予特殊含义的字符串(单词): ​ 关 ...

  8. Java笔记——Java多线程~

    多线程 内容来自博客~ 理解线程与进程 进程 进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程:进程也是程序的一次执行过程,是系统运行程序的基本单位 ...

  9. 那年学过的Java笔记三核心类库一

    核心类库一: 抽象类 抽象方法的概念 抽象方法就是指不能具体实现的方法,也就是该方法没有方法体,使用abstract关键字修饰 具体语法格式如下: 访问控制符 abstract 返回值类型 方法名称( ...

  10. 那年学过的Java笔记三核心类库三

    线程 基本概念 程序 - 数据结构 + 算法,主要指存放在硬盘上的可执行文件. 进程 - 主要指运行在内存中的程序. 目前主流的操作系统都支持多进程,是为了让操作系统同时执行多个任务,但进程是重量级的 ...

最新文章

  1. 使用CSS制作圆角效果
  2. 时间的玫瑰+但斌的投资思维
  3. java ibm 2035,C# java 连接 IBM MQ时出现 2035 或 2013认证错误的解决方法
  4. Java线程状态Jstack线程状态BLOCKED/TIMED_WAITING/WAITING解释
  5. RIPng原理与实验
  6. python 删除大表数据
  7. linux压缩解压命令
  8. 老板,上班迷路了,晚点到~
  9. 计算机等级考试准考证打河南,2019年河南牧院计算机等级考试准考证打印时间...
  10. 【基础】Linux 常用操作
  11. 个域名最多能对应几个IP地址?,一个IP地址可以绑定几个域名?
  12. 用梅森公式求复杂电路系统传递函数
  13. c语言编写“输入密码,是否登录成功的程序”
  14. EPB电子驻车制动系统Simulink模型 模型包括:有刷直流电机+执行器模型,电机参数m文件,SSM模块,PBC模块,数据处理模块,与Carsim联防进行过验证
  15. 有了LIGO,引力波不仅可以被探测,还可以被发射!
  16. 数据传输的三种交换方式
  17. Word文档修复实战
  18. 【2013Esri中国用户大会】盘点影像技术三大亮点
  19. MongoDB下载安装与测试连接(windows)
  20. 北京开元数图科技有限公司面试总结(1)

热门文章

  1. 自动驾驶路径规划论文解析(5)
  2. JDK时区与电脑系统时区不一致,导致时间new date不对
  3. linux接收数据并保存到环形缓冲区,自定义print函数缓存打印数据到环形缓冲区...
  4. java oop入门_java入门(十六) | OOP(三)之构造方法
  5. 板式橡胶支座弹性模量怎样计算_Midas Civil支座模拟的详细解决方法
  6. Java事件侦听器函数_SWT 计算器 按钮事件监听 获取按钮text值
  7. BootstrapTable入门Demo
  8. 数据库之MySQL补充
  9. openssh的服务端配置文件
  10. 网络基础之网络模型及各分层的设备