常用API"/>
Java基础——常用API
System类
1.知识点
(1)所在位置:java.lang包
(2)特点:不能够实例化,所以成员全部是静态的
2.成员摘要
字段摘要 | |
---|---|
static PrintStream | err “标准”错误输出流。 |
static InputStream | in “标准”输入流。 |
static PrintStream | out “标准”输出流。 |
方法摘要 | |
---|---|
static void | arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。 |
static long | currentTimeMillis() 返回以毫秒为单位的当前时间。 |
static void | exit(int status) 终止当前正在运行的 Java 虚拟机。 |
static void | gc() 运行垃圾回收器。 |
static Map<String,String> | getenv() 返回一个不能修改的当前系统环境的字符串映射视图。 |
static String | getenv(String name) 获取指定的环境变量值。 |
static Properties | getProperties() 确定当前的系统属性。 |
static String | getProperty(String key) 获取指定键指示的系统属性。 |
static String | getProperty(String key, String def) 获取用指定键描述的系统属性。 |
static void | setProperties(Properties props) 将系统属性设置为 Properties 参数。 |
static String | setProperty(String key, String value) 设置指定键指示的系统属性。 |
static void | setErr(PrintStream err) 重新分配“标准”错误输出流。 |
static void | setIn(InputStream in) 重新分配“标准”输入流。(重新给In成员赋值成别的输入流对象) |
static void | setOut(PrintStream out) 重新分配“标准”输出流。(重新给Out成员赋值成别的输出流对象) |
static int | identityHashCode(Object x) 返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()。可通过此方法确定两对对象是否是同一对象 |
static void | runFinalization() 运行处于挂起终止状态的所有对象的终止方法。调用回收对象的finalize()方法 |
Properties类
1.知识点
(1)所在位置:java.util——hashtalbe的子类
(2)通过System中的getProperties()可以获得该类对象
(3)描述:此类是一个存储键值对的集合类,可以轻松读取文件中的配置信息存入Map集合,或者输出配置信息到文件。可以存储的系统的属性信息(如下)
(4)dos命令行下可以通过“ java -D key = value”的方式添加属性信息
2.特有方法
方法摘要 | |
---|---|
Set<String> | stringPropertyNames() 返回此属性列表中的键集,其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键。 |
void | list(PrintStream out) 将属性列表输出到指定的输出流。 |
void | list(PrintWriter out) 将属性列表输出到指定的输出流。 |
void | load(InputStream inStream) 从输入流中读取属性列表(键和元素对)。(能够直接把一个文件中的数据存入到Properties集合中) |
void | load(Reader reader) 按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。(能够直接把一个文件中的数据存入到Properties集合中) |
String | getProperty(String key) 用指定的键在此属性列表中搜索属性。 |
Object | setProperty(String key, String value) 调用 Hashtable 的方法 put 。 |
void | store(OutputStream out, String comments) 以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。(把集合中数据加载进文件) |
void | store(Writer writer, String comments) 以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。(把集合中数据加载进文件) |
void | loadFromXML(InputStream in) 将指定输入流中由 XML 文档所表示的所有属性加载到此属性表中。(读取XML的配置文件) |
void | storeToXML(OutputStream os, String comment) 发出一个表示此表中包含的所有属性的 XML 文档。(把集合中的数据加载进XML文件) |
void | storeToXML(OutputStream os, String comment, String encoding) 使用指定的编码发出一个表示此表中包含的所有属性的 XML 文档。(把集合中的数据加载进XML文件) |
import java.io.*;
import java.util.*;/**
*Properties类应用,创建用于记录程序使用次数的配置文件,当使用次数超过5时,提示用户
*/class java
{public static void main(String[] args)throws Exception{File file = new File("d:\\sb.ini");//文件地址与名称if(!file.exists())file.createNewFile();//文件不存在的话创建新文件InputStream is = new FileInputStream(file);//关联输入流Properties pro = new Properties();pro.load(is);//读取配置文件的信息String value = pro.getProperty("count");if(value==null)value = "0";//第一次使用时自定义值value为0int count = Integer.parseInt(value);if(count>=5)//判断条件System.out.println("您好,此软件的使用次数已到,请付钱购买正版!");pro.setProperty("count",++count+"");//新属性信息存入内存中Writer out = new FileWriter(file);pro.store(out,"");//内存中的信息写入文件汇总}
}
Runtime类
1.知识点
(1)所在位置:java.lang包
(2)意义:每一个Java应用程序都有一个Runtime类实例,使应用程序能够与其运行的系统环境相连接
(3)没有构造函数,不过可以通过getRuntime()方法获得该类的实例。单利设计模式
2.方法摘要
方法摘要 | |
---|---|
static Runtime | getRuntime() 返回与当前 Java 应用程序相关的运行时对象。 |
Process | exec(String command) thorws IOException在单独的进程中执行指定的字符串命令。(exec是execute的简写,cmd是command的简写)(输入的字符串command地址未找到应用程序,会从系统环境变量指定位置接着找)(此command字符串可以用这样的“notepad.exe SystemDemo.java”方式,用相关程序打开某个具体文件 ) |
void | halt(int status) 强行终止目前正在运行的 Java 虚拟机。 |
int | availableProcessors() 向 Java 虚拟机返回可用处理器的数目。 |
long | freeMemory() 返回 Java 虚拟机中的空闲内存量。 |
long | totalMemory() 返回 Java 虚拟机中的内存总量。 |
long | maxMemory() 返回 Java 虚拟机试图使用的最大内存量。 |
Process类
1.知识点
(1)所在位置:java.lang包
(2)注意:此类是一个抽象类,并且全部方法都是抽象的,可是你发现它没有子类。因为应用程序一执行就会产生进程,是调用系统的底层资源来创建的进程。所以定义抽象类,没有定义子类实现方式,底层在做实现方式,不需要用户做。
2.方法摘要
abstract void | destroy() 杀掉子进程。 |
Date类
1.知识点
(1)所在位置:java.util包
(2)意义:由于日期是一个复杂的事物,封装为一个对象处理起来较为简单,所以Date类就出现了
(3)注意:该类中大量方法已过时,已被SimpleDateFormat与Calendar中的方法替代
2.方法摘要
构造方法摘要 | |
---|---|
Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 | |
Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。 |
方法摘要 | |
---|---|
boolean | after(Date when) 测试此日期是否在指定日期之后。 |
boolean | before(Date when) 测试此日期是否在指定日期之前。 |
int | compareTo(Date anotherDate) 比较两个日期的顺序。 |
boolean | equals(Object obj) 比较两个日期的相等性。 |
String | toString() 把此 Date 对象转换为以下形式的 String : dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 |
SimpleDateFormat类
1.知识点
(1)所在位置:java.text包中DateFormat抽象类的子类
(2)意义:主要是对给定时间返回对应的字符串表达形式
(2)模式对照表(模式使用范例:”yyyy年MM月dd日“ 输出的字符串格式为"xxxx年xx月xx日")
字母 | 日期或时间元素 | 表示 | 示例 |
---|---|---|---|
G | Era 标志符 | Text | AD |
y | 年 | Year | 1996 ; 96 |
M | 年中的月份 | Month | July ; Jul ; 07 |
w | 年中的周数 | Number | 27 |
W | 月份中的周数 | Number | 2 |
D | 年中的天数 | Number | 189 |
d | 月份中的天数 | Number | 10 |
F | 月份中的星期 | Number | 2 |
E | 星期中的天数 | Text | Tuesday ; Tue |
a | Am/pm 标记 | Text | PM |
H | 一天中的小时数(0-23) | Number | 0 |
k | 一天中的小时数(1-24) | Number | 24 |
K | am/pm 中的小时数(0-11) | Number | 0 |
h | am/pm 中的小时数(1-12) | Number | 12 |
m | 小时中的分钟数 | Number | 30 |
s | 分钟中的秒数 | Number | 55 |
S | 毫秒数 | Number | 978 |
z | 时区 | General time zone | Pacific Standard Time ; PST ; GMT-08:00 |
Z | 时区 | RFC 822 time zone | -0800 |
2.方法摘要
构造方法摘要 | |
---|---|
SimpleDateFormat() 用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat 。 | |
SimpleDateFormat(String pattern) 用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat 。(传入的模式字符串请参考上边的模式表) |
方法摘要 | |
---|---|
String | format(Date date) 将一个 Date 格式化为日期/时间字符串。(此方法是继承自DateFormat抽象类) |
void | setTimeZone(TimeZone zone) 为此 DateFormat 对象的日历设置时区。(可以通过修改时区对象来显示不同地区的时间) |
Date | parse(String source) 从给定字符串的开始解析文本,以生成一个日期。 |
Calendar抽象类
1.知识点
(1)所在位置:java.util包
(2)特点:能够获取具体的年、月、日、时间并对这些时间进行修改的类
2.方法摘要
字段摘要 | |
---|---|
static int | DAY_OF_MONTH get 和 set 的字段数字,指示一个月中的某天。 |
static int | DAY_OF_WEEK get 和 set 的字段数字,指示一个星期中的某天。(星期日对应的数字是1,外国星期日是一个星期的第一天,星期六对应的是7) |
static int | DAY_OF_WEEK_IN_MONTH get 和 set 的字段数字,指示当前月中的第几个星期。 |
static int | DAY_OF_YEAR get 和 set 的字段数字,指示当前年中的天数。 |
static int | HOUR_OF_DAY get 和 set 的字段数字,指示一天中的小时。 |
static int | MONTH 指示月份的 get 和 set 的字段数字。(计算机计算月份使用0开始的,是0-11) |
static int | WEEK_OF_MONTH get 和 set 的字段数字,指示当前月中的星期数。 |
static int | WEEK_OF_YEAR get 和 set 的字段数字,指示当前年中的星期数。 |
static int | YEAR 指示年的 get 和 set 的字段数字。 |
static int | HOUR get 和 set 的字段数字,指示上午或下午的小时。 |
static int | HOUR_OF_DAY get 和 set 的字段数字,指示一天中的小时。 |
static int | MINUTE get 和 set 的字段数字,指示一小时中的分钟。 |
static int | SECOND get 和 set 的字段数字,指示一分钟中的秒。 |
static int | PM 指示从中午到午夜之前这段时间的 AM_PM 字段值。 |
方法摘要 | |
---|---|
int | get(int field) 返回给定日历字段的值。 |
void | set(int field, int value) 将给定的日历字段设置为给定值。 |
void | set(int year, int month, int date) 设置日历字段 YEAR 、MONTH 和 DAY_OF_MONTH 的值。(修改时间为参数值,时间值为符合时间标准的值) |
void | set(int year, int month, int date, int hourOfDay, int minute) 设置日历字段 YEAR 、MONTH 、DAY_OF_MONTH 、HOUR_OF_DAY 和 MINUTE 的值。 |
void | set(int year, int month, int date, int hourOfDay, int minute, int second) 设置字段 YEAR 、MONTH 、DAY_OF_MONTH 、HOUR 、MINUTE 和 SECOND 的值。 |
abstract void | add(int field, int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量。(时间往后或往前推给定参数值,field为成员字段,amount为推移量) |
static Calendar | getInstance() 使用默认时区和语言环境获得一个日历。(返回的就是该类的子类GregorianCalendar对象) |
static Calendar | getInstance(TimeZone zone) 使用指定时区和默认语言环境获得一个日历。(可以根据传入时区对象的不同来获取不同地区的时间) |
Date | getTime() 返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象。 |
long | getTimeInMillis() 返回此 Calendar 的时间值,以毫秒为单位。 |
3.代码演示
import java.util.*;
import java.text.*;class java
{public static void main(String[] args){System.out.println(getDaysOfMonth(2011));//2011年2月有多少天?System.out.println(getTimeOfYes());}//获取任意年的2月有多少天public static int getDaysOfMonth(int year){Calendar c = Calendar.getInstance();//设置现在时间为 year年3月1日c.set(year,2,1);//日期天往前搓一天c.add(Calendar.DAY_OF_MONTH,-1);//获取天数return c.get(Calendar.DAY_OF_MONTH);}//获取昨天现在这个时刻public static String getTimeOfYes(){Calendar c = Calendar.getInstance();c.add(Calendar.DAY_OF_MONTH,-1);//设置日期的字符串自定义表现形式DateFormat df = new SimpleDateFormat("yyyy/MM/dd E hh:mm:ss a");//返回Calendar对应Date对象的指定字符串表现形式return df.format(c.getTime());}
}
Math类
1.知识点
style="line-height: 2;">(1)所在位置:java.lang包
(2)意义:是一个工具包,常用的数学方法与数值都存在这里面
2.方法摘要
字段摘要 | |
---|---|
static double | E 比任何其他值都更接近 e(即自然对数的底数)的 double 值。 |
static double | PI 比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值。 |
注:重载方法不再一一列出
方法摘要 | |
---|---|
static double | abs(double a) 返回 double 值的绝对值。 |
static double | ceil(double a) 返回最小的(最接近负无穷大) double 值,该值大于等于参数,并等于某个整数。(可用来做四舍五入求整) |
tatic double | floor(double a) 返回最大的(最接近正无穷大) double 值,该值小于等于参数,并等于某个整数。 |
static long | round(double a) 返回最接近参数的 long 。(四舍五入) |
static double | pow(double a, double b) 返回第一个参数的第二个参数次幂的值。(a为底数,b为指数,做幂运算) |
static double | random() 返回带正号的 double 值,该值大于等于 0.0 且小于 1.0 。(重点方法,产生一个伪随机数) |
Random类
1.知识点
(1)所在位置:java.util包
(2)意义:生成随机数的类
2.方法摘要
方法摘要 | |
---|---|
protected int | next(int bits) 生成下一个伪随机数。 |
double | nextDouble() 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。 |
int | nextInt(int n) 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。 |
Scanner类
位置:java.util包
作用:可以很方便的获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器
构造方法摘要 | |
---|---|
Scanner(File source) 构造一个新的 Scanner ,它生成的值是从指定文件扫描的。 | |
Scanner(File source, String charsetName) 构造一个新的 Scanner ,它生成的值是从指定文件扫描的。 | |
Scanner(InputStream source) 构造一个新的 Scanner ,它生成的值是从指定的输入流扫描的。 | |
Scanner(InputStream source, String charsetName) 构造一个新的 Scanner ,它生成的值是从指定的输入流扫描的。 | |
Scanner(String source) 构造一个新的 Scanner ,它生成的值是从指定字符串扫描的。 |
方法摘要 | |
---|---|
boolean | hasNext() 如果此扫描器的输入中有另一个标记,则返回 true。 |
String | next() 查找并返回来自此扫描器的下一个完整标记。 |
Scanner | useDelimiter(Pattern pattern) 将此扫描器的分隔模式设置为指定模式。 |
Scanner | useDelimiter(String pattern) 将此扫描器的分隔模式设置为从指定 String 构造的模式。 |
boolean | hasNextLine() 如果在此扫描器的输入中存在另一行,则返回 true。 |
String | nextLine() 此扫描器执行当前行,并返回跳过的输入信息。 |
更多推荐
Java基础——常用API
发布评论