java api中最常用的五个包_java 5 个常用的api包
一、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包相关推荐
- java程序中怎么保证多线程的运行安全_Java线程安全问答(草稿)
1.什么是线程安全? 如果一个类在多线程执行中,在不考虑运行环境的调度干预,也不需要调用代码的协调同步,仍然保证正确地运行,那么这个类就是线程安全的 也就是说,多线程环境下,线程安全的类总是有正确的行 ...
- 在java语言中 ()方法是不可以继承的_Java 语言中,构造方法是不可以继承的。( )_学小易找答案...
[简答题]需求分析完整话术 [简答题] [单选题]适用于场地面积有限,集装箱吞吐量较大的水陆联运码头的起重机系统是( )系统 [单选题]利用叉车或半挂车.汽车承载货物,连同车辆一起开上开下船,到达目的 ...
- java开发中推荐的防御sql注入方法_Java防止SQL注入
SQL 注入简介: SQL注入是最常见的攻击方式之一,它不是利用操作系统或其它系统的漏洞来实现攻击的,而是程序员因为没有做好判断,被不法用户钻了SQL的空子,下面我们先来看下什么是SQL注入: 比如在 ...
- Java语言中提供了三个日期类_Java语言学习(5)-Java中基础封装类(日期、时间类)...
日期和时间封装类 1. Data类 Java日期和时间采用Data类.Data类在java.util包中. Data类构造函数: 1) Data() 采用当前时间初始化对象: 2) ...
- java多线程中出现的异常分别有哪些_java多线程试题
承Thread类 4.线程的高度是指在单个CPU上以某种顺序运行多个线程 5.多个线程并发执行时,各个线程中语句的执行顺序是确定的,但是线程之间的相对执行顺序是不确定的 6.Java中的对象锁是一种独 ...
- java 接口中的成员只有静态常量和_Java中抽象类和接口的具体区别是什么?
谢邀,直接回答. 接口在面向对象编程中占着很重要的地位,它是对于一种事物行为的抽象提取,内部只需要持有接口的引用,外部可以根据具体事物做不同的扩展,而不修改内部的引用逻辑,它的主要作用是在框架中实现不 ...
- java语言中 负责并发编程的机制是_Java并发编程艺术-并发机制的底层原理实现...
Java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量. volatile借助Java内存模型保证所有线程能够看到最新的值.(内存可见性) ...
- 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 ...
- java 丢包_Java数据报之失序和丢包
习惯了TCP编程,认为UDP可以包办这些问题是错误的.一个UDP应用程序要承担可靠性方面的全部工作,包括报文的丢失.重复.时延.乱序以及连接失效等问题. 通常我们在可靠性好,传输时延小的局域网上开发测 ...
最新文章
- JavaScript初学者编程题(22)
- NVIDIA之AI Course:Getting Started with AI on Jetson Nano—Class notes(四)
- 构建现代产业体系 农民丰收节·林裕豪:从玉农业落实“链长制”1-09-27
- Ubuntu 下的云笔记Nixnote (Evernote)
- linux 修改网卡mac,Linux修改
网卡物理地址(Mac Address)
- 【深度学习】如何配置一台深度学习工作站?
- python网络聊天器多线程版
- C语言操作mysql
- asp实现注册登录界面_Win7系统登陆界面修改小技巧--win7w.com
- 堆栈的缓冲区溢出进不了系统_一文理解缓冲区溢出
- 数组元素循环右移问题
- sql 筛选唯一值_多列数据获取唯一值?你再肉眼筛选的时候,我已经下班了
- python有道字典翻译_使用Python从有道词典网页获取单词翻译
- 在 Intel NUC8i7HVK 上安装CentOS7
- 计算机无法屏保,电脑屏幕保护程序为什么不能修改 原因及解决方法【详细介绍】...
- 易语言MySQL静态编译,我说易语言静态编译太强大……
- 众里寻他千百度:找网红算法
- Excel公式向导,不会函数也可以单条件求平均值
- C++使用winhttp以POST/GET方法实现报文转发与接收
- CS61A Lab 1