一、java.lang包下的API

Java常用基础包,在开发中会自动导入到代码环境中,不需要import。

1.基本数据类型/包装类

(1)基本数据类型:byte、short、int、long、float、double、char、boolean

(2)包装类:

Byte:–提供了将字节数据转换为其他类型的方法,从Number抽象类继承过来.decode:将各种进制的数据内容的字符串,转换为十进制标识的字节类型,数字进制的标识符:无标识符:按十进制转换;ox、OX、#:按十六进制转换;o:按八进制转换.

Short、Integer –将short、Integer装换为其数据类型的方法,从Number抽象类继承过来。decode与Byte类中的decode方法一样可进行不同进制的装换。parseShort、parseInt、parseByte一样,可以进行不同的进制装换值。

注意:Integer十进制转其他进制的方法:toBinaryString()、toHexString()、toOctalString()。

Float、Double –isInfinite():用于判断数字是否有趋近无穷大,无法完整描述的情况。isNaN():判断浮点数据是否为有效数据(浮点类型参与运算后用于判断是否有效)

注:valueOf、parseXXX方法可以将字符串形式的值装换为数字。

(3)包装类与基本数据类型之间可以实现数据类型的自动转换,即装箱和拆箱。

装箱:自动将基本数据类型转换为其对应的包装类.

拆箱:自动将包装类型转换为基本数据类型.

2.数学运算类:Math;其重要方法有:

abs() :获取绝对值函数.

acos()、asin():反余弦、反正弦函数(以弧度为参数值PI结合运算).

cbrt():立方根函数.

cos()、sin():三角余弦、三角正弦函数(以弧度为参数值PI结合运算).

max()、min():获取两个数值中的最大值或最小值.

log()、log10():对数.

random():获取随机数.

round():四舍五入(获得整形值).

floor():得到小于该数的最小整数.

ceil():得到大于该数的最大整数.

sqrt():平方根.

3.字符串类

(1)String:不需要通过new就可以直接创建String对象;+运算符可以用来拼接String内容.

方法:

startsWith():字符串是否由指定字符开头.

endsWith():字符串是否由指定字符结尾.

indexOf():返回子串在父串中第一次出现的下标(从左起).

lastIndexOf():返回子串在父串最后一次出现的下标(从右起).

split():按特殊字符拆分字符内容

replace():用新字符串内容,替换父串中原有的字符串内容.

matches():字符验证方法。

(2)StringBuffer:对于内容变动较大的字符串内容处理能力较好(线程安全)

常用方法:append()、delete()、insert()

与String的区别:String类,在有新内容追加时,是结合原有字符串内容创建新的字符串对象(性能较低)

(3)StringBuilder:对于内容变动较大的的字符串内容处理能力较好(线程不安全 JDK1.5)

常用方法:append()、delete()、insert()

注意:StringBuffer和StringBuilder为可变字符串类型:其字符内容可以灵活变动(追加、删除、插入)

(4) 其他程序的调用类:

Runtime:

作用:获取java虚拟机的运行信息(可使用的CPU数量、所分配的内存大小、空闲内存).

特点:一个虚拟机环境内有且仅有一个Runtime对象.

方法:

static getRuntime():获取虚拟机对应的运行时信息.

static exec(String):启动子进程.

Process:用于描述被JVM启动的一个子进程信息,可以通过Process让java代码与子进程通信.

二、java.util包下的API

1.日期或时间类型:

(1)Date:java平台用于描述时间信息(包括用于精确描述年、月、日、小时、分钟、毫秒信息)的基类;常用方法:

after\before:日期比较方法.

getTime():获取日期信息的long格式值.

setTime(long):根据日期的long值,重新设置日期的时间点.

(2)Calendar:基于通用日历规则,提供了日期运算方法:

set(int,int):向对应的日期级别设置(第一个参数用于日期级别).

get(int):通过日期级别常量,获取当前日期的相关信息.

getDisplayName(int,int,locale):来返回日期的描述内容(中文只对月份、星期有效).

getFirstDayOfWeek():返回当前日期对象一周的第一天是星期几(默认1==星期天).

static getInstance():构造日历对象实例.

getTime():将日历对象转换成Date类型.

setTime():将date类型转换为日历类型.

getTimeInMillis():将日历类型转换了long格式的数据.

setTimeInMillis(long):将long格式的日期类型转换成日历类型.

2.基于经典数据结构的集合框架

集合对象:弥补传统的数组在批量数据存储中和访问上的不足,提供一组基于经典数据结构,并提供了对应操作方法的API来满足编程开发中对批量数据的操作要求.

(1)Iterable(接口):JDK1.5以后加入的API,为集合框架满足foreach语句提供类型的定义.

(2)Collection(接口):JDK平台上,所有集合框架的根接口,是用于存储多个对象(数据)的集合类 型,数据可以是任何合法类型,可以有各种存储验证(是否为空,是否重复,是否有序);方法:

(3)List:有序的集合

ArrayList

特点:底层基于数组来实现列表的功能,内部用于存储数据的结构是一个Object。

(4)Set:不包含重复元素的集合

(5)Map :基于键-值映射的关系来搭建存储结构,在整个结构中使用key值来唯一标识对象.(在JDK1.2之后出现用于替换原有API中的Dictionary类的作用)。常用方法: put(key,value)

三、java.io包下的API

这个包下的api即java输入输出操作API,什么是 输入输出操作?即向程序输入信息,向程序外部输出

信息,数据被输入或者是输出的基础单位是字节byte,输入输出流按流的功能分可分为:

低级流(节点流):自己具有流的写入或者读取能力的流.

高级流(功能流):基于低级流的功能,实现流操作功能的扩张.

1.字节流

(1)InputStream(输入流) :表示字节输入流的所有类的超类,常用方法有:

available() :获取总字节数,获取缓存区中的字节个数

close():负责释放IO资源,关闭流操作.

mark():在输入输出流的字节位置上设标记,为后面reset反复读取该段字节做准备.

reset():将流的操作重新定位

markSupported():用于判断mark方法或reset方法是否可用.

int read():用于读取一个字节信息:返回值是读取到的字节,若读到文件末尾,则返回-1.

(2)OutputStream:表示输出字节流的所有类的超类,常用方法有:

close():关闭流

flush():将缓存中的字节,清空输出.

write(byte[] b):将字节数组中的内容输出

write(int b):将单个字节输出.

write(byte[] b,intoff,int len):将字节数组中从off开始的信息输出,共输出len个字节.

(2)OutputStream:表示输出字节流的所有类的超类,常用方法有:

(3)FileInputStream extends InputStream –(文件输入流)

(4)FileOutputStreamextends OutputStream –(文件输出流),构造方法:FileOutputStream(Stringname,boolean append),其中append为ture时:追加内容到文件尾部.

(5)FilterInputStream:输入过滤流,负责在其他流基础上扩展新的功能

(6)FilterOutputStream:输出过滤流,负责在其他基础上扩展新的功能.

(7)BufferedInputStream:为流操作提供字节缓存,减少直接申请的IO读取的次数;实现原理是在内存中创建了字节数组,缓存字节信息.

(8)BufferedOutputStream :为流操作提供字节缓存,减少直接申请IO写出的次数.

(9)DataInputStream:以java基本数据类型的格式读取信息.

(10)DataOutputStream :以java基本数据类型的格式输出信息.

(11)ObectInputStream:对象流输入,可以将对象信息整体读入.(注意:对象必须实现java.io.Serializable可序列化)

(12)ObjectOutputStream:对象流输出,可以将对象信息整体输出(注意:对象必须实现java.io.Serializable可序列化).

2.字符流

(1)Reader:表示字符输入流的所有类的超类,常用方法有:read()、close()。

(2)Writer:表示字符输出流的所有类的超类,常用方法有:write()、flush()、close()。

(3)BufferedReader/BufferedWriter:为流操作提供字符缓存,减少直接申请的IO读取/写入的次数。

拓展:File :系统上一个文件资源,包括文件(.txt、.exe、*.doc等)和文件夹(用于组织和存放其他文件信息);作用:

获取文件夹的子文件信息—listFile()

获取文件的属性,如getName() –获取文件的名字.

判断是否为文件目录—isDirectory()返回结果是ture为目录,false为其他内容.

判断是否为文件—isFile()返回结果是ture为文件,false为其他内容.还可以修改文件和删除文件.

拓展:设计模式,是指在编程的开发过程中,被反复论证所总结出来的编程经验.这些经验被认定为解决具体问题的最佳方案.

java.lang:包含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。

java.awt:包含了构成抽象窗口工具集(abstract window

toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。

java.applet:包含applet运行所需的一些类。

java.net:包含执行与网络相关的操作的类。

java.io:包含能提供多种输入/输出功能的类。

java.util:包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。

注:java.lang这个包会自动被导入,对于其中的类,不需要使用import语句来做导入。

java api中最常用的五个包_java 5 个常用的api包相关推荐

  1. java程序中怎么保证多线程的运行安全_Java线程安全问答(草稿)

    1.什么是线程安全? 如果一个类在多线程执行中,在不考虑运行环境的调度干预,也不需要调用代码的协调同步,仍然保证正确地运行,那么这个类就是线程安全的 也就是说,多线程环境下,线程安全的类总是有正确的行 ...

  2. 在java语言中 ()方法是不可以继承的_Java 语言中,构造方法是不可以继承的。( )_学小易找答案...

    [简答题]需求分析完整话术 [简答题] [单选题]适用于场地面积有限,集装箱吞吐量较大的水陆联运码头的起重机系统是( )系统 [单选题]利用叉车或半挂车.汽车承载货物,连同车辆一起开上开下船,到达目的 ...

  3. java开发中推荐的防御sql注入方法_Java防止SQL注入

    SQL 注入简介: SQL注入是最常见的攻击方式之一,它不是利用操作系统或其它系统的漏洞来实现攻击的,而是程序员因为没有做好判断,被不法用户钻了SQL的空子,下面我们先来看下什么是SQL注入: 比如在 ...

  4. Java语言中提供了三个日期类_Java语言学习(5)-Java中基础封装类(日期、时间类)...

    日期和时间封装类 1. Data类 Java日期和时间采用Data类.Data类在java.util包中. Data类构造函数: 1)       Data()   采用当前时间初始化对象: 2)   ...

  5. java多线程中出现的异常分别有哪些_java多线程试题

    承Thread类 4.线程的高度是指在单个CPU上以某种顺序运行多个线程 5.多个线程并发执行时,各个线程中语句的执行顺序是确定的,但是线程之间的相对执行顺序是不确定的 6.Java中的对象锁是一种独 ...

  6. java 接口中的成员只有静态常量和_Java中抽象类和接口的具体区别是什么?

    谢邀,直接回答. 接口在面向对象编程中占着很重要的地位,它是对于一种事物行为的抽象提取,内部只需要持有接口的引用,外部可以根据具体事物做不同的扩展,而不修改内部的引用逻辑,它的主要作用是在框架中实现不 ...

  7. java语言中 负责并发编程的机制是_Java并发编程艺术-并发机制的底层原理实现...

    Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量. volatile借助Java内存模型保证所有线程能够看到最新的值.(内存可见性) ...

  8. java ant war包_java利用Ant脚本生成war包全过程

    使用ant脚本前的准备 1.下载一个ant安装包.如:apache-ant-1.8.4-bin.zip.解压到E盘. 2.配置环境变量.新增ANT_HOME:E:\apache-ant-1.8.4:P ...

  9. java 丢包_Java数据报之失序和丢包

    习惯了TCP编程,认为UDP可以包办这些问题是错误的.一个UDP应用程序要承担可靠性方面的全部工作,包括报文的丢失.重复.时延.乱序以及连接失效等问题. 通常我们在可靠性好,传输时延小的局域网上开发测 ...

最新文章

  1. JavaScript初学者编程题(22)
  2. NVIDIA之AI Course:Getting Started with AI on Jetson Nano—Class notes(四)
  3. 构建现代产业体系 农民丰收节·林裕豪:从玉农业落实“链长制”1-09-27
  4. Ubuntu 下的云笔记Nixnote (Evernote)
  5. linux 修改网卡mac,Linux修改 网卡物理地址(Mac Address)
  6. 【深度学习】如何配置一台深度学习工作站?
  7. python网络聊天器多线程版
  8. C语言操作mysql
  9. asp实现注册登录界面_Win7系统登陆界面修改小技巧--win7w.com
  10. 堆栈的缓冲区溢出进不了系统_一文理解缓冲区溢出
  11. 数组元素循环右移问题
  12. sql 筛选唯一值_多列数据获取唯一值?你再肉眼筛选的时候,我已经下班了
  13. python有道字典翻译_使用Python从有道词典网页获取单词翻译
  14. 在 Intel NUC8i7HVK 上安装CentOS7
  15. 计算机无法屏保,电脑屏幕保护程序为什么不能修改 原因及解决方法【详细介绍】...
  16. 易语言MySQL静态编译,我说易语言静态编译太强大……
  17. 众里寻他千百度:找网红算法
  18. Excel公式向导,不会函数也可以单条件求平均值
  19. C++使用winhttp以POST/GET方法实现报文转发与接收
  20. CS61A Lab 1

热门文章

  1. 阿里技术专家:数据一致性检测的应用场景与最佳实践
  2. 看了这个高并发系统架构,才知道我对秒杀的误解有多深
  3. SQL 查询总是先执行SELECT语句吗?
  4. 干货!全面认识Docker和基本指令
  5. STL中算法锦集(二)
  6. Go标准库Context
  7. 从根本上了解异步编程体系
  8. 不吹不擂,一文揭秘鸿蒙操作系统
  9. 云服务能力评估“国标”出炉,腾讯云TStack首批通过私有云“一级能力”认证
  10. Git submodule子模块