java常用类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java常用类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7261字,纯文字阅读大概需要11分钟。
内容图文
![java常用类](/upload/InfoBanner/zyjiaocheng/718/5c4e3359bfd84da5875ef6ff9e1516b3.jpg)
System
System:类中的方法和属性都是静态的。 out:标准输出,默认是控制台。 in:标准输入,默认是键盘。
static?void |
|
tatic?Map<String,String> |
getenv() 返回一个不能修改的当前系统环境的字符串映射视图。 |
static?String |
getenv(String?name) 获取指定的环境变量值。 |
static?Properties |
getProperties() 确定当前的系统属性。 |
static?String |
getProperty(String?key) 获取指定键指示的系统属性。 |
static?String |
getProperty(String?key, String?def) 获取用指定键描述的系统属性。 |
import java.util.Map;
import java.util.Properties;
public class SystemDemo {
public static void main(String[] args) {
//返回一个不能修改的当前系统环境的字符串映射视图。
Map<String,String> map = System.getenv();
for (String key :map.keySet()){
String value = map.get(key);
System.out.println(key+"::"+value);
}
//因为Properties是Hashtable的子类,也就是Map集合的一个子类对象。
//那么可以通过map的方法取出该集合中的元素。
//该集合中存储都是字符串。没有泛型定义。
Properties prop = System.getProperties();
//如何在系统中自定义一些特有信息呢?
System.setProperty("mykey","myvalue");
//可不可以在jvm启动时,动态加载一些属性信息呢?
// 获取指定属性
System.out.println(System.getProperty("os.name")); // Windows 10
// 获取所有属性
for(Object obj:prop.keySet()){
String value = (String) prop.get(obj);
System.out.println(obj+"--->"+value);
}
}
}
Runtime
Runtime对象 该类并没有提供构造函数。 说明不可以new对象。那么会直接想到该类中的方法都是静态的。 发现该类中还有非静态方法。 说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。 由这个特点可以看出该类使用了单例设计模式完成。 每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。 可以通过 getRuntime 方法获取当前运行时。 该方式是static Runtime getRuntime(); static Runtime getRuntime() 返回与当前 Java 应用程序相关的运行时对象。 Process exec(String command) 在单独的进程中执行指定的字符串命令。
import java.io.IOException;
public class RuntimeDemo {
public static void main(String[] args) throws IOException {
// 获取java程序关联的运行时的对象
Runtime r = Runtime.getRuntime();
System.out.println("处理器的数量:"+r.availableProcessors());
System.out.println("可用最大内存数:"+r.maxMemory()/(1024*1024));
System.out.println("空闲内存数:"+r.freeMemory()/(1024*1024));
System.out.println("总内存数:"+r.totalMemory()/(1024*1024));
// 运行记事本程序
//r.exec("notepad.exe"); // 默认从path路径下开始找,没有抛出异常
Process p = r.exec("notepad.exe C:\\Users\\hecha\\IdeaProjects\\Hello\\src\\常用类\\RuntimeDemo.java");
// 用记事本打开 RuntimeDemo.java 程序
// 结束进程
p.destroy();
}
}
Date && SimpleDateFormat
Date() 分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 |
Date(long?date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。 |
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
构造方法
SimpleDateFormat() 用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat 。 |
SimpleDateFormat(String?pattern) 用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat 。 |
方法
?StringBuffer |
format(Date?date, StringBuffer?toAppendTo, FieldPosition?pos) 将给定的 Date 格式化为日期/时间字符串,并将结果添加到给定的 StringBuffer 。 |
字母 | 日期或时间元素 | 表示 | 示例 |
---|---|---|---|
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 |
Calendar
它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法
# 字段 static int DATE get 和 set 的字段数字,指示一个月中的某天。 static int DAY_OF_MONTH get 和 set 的字段数字,指示一个月中的某天。 static int DAY_OF_WEEK get 和 set 的字段数字,指示一个星期中的某天。 static int DAY_OF_WEEK_IN_MONTH get 和 set 的字段数字,指示当前月中的第几个星期。 static int DAY_OF_YEAR get 和 set 的字段数字,指示当前年中的天数。 static int WEEK_OF_MONTH get 和 set 的字段数字,指示当前月中的星期数。 static int WEEK_OF_YEAR get 和 set 的字段数字,指示当前年中的星期数。 static int YEAR 指示年的 get 和 set 的字段数字。
// 方法 static Calendar getInstance() 使用默认时区和语言环境获得一个日历。 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) 根据日历的规则,为给定的日历字段添加或减去指定的时间量。
public class CalendarDemo {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
String[] mons = {"一月","二月","三月","四月"
,"五月","六月","七月","八月"
,"九月","十月","十一月","十二月"};
String[] weeks = {
"","星期日","星期一","星期二","星期三","星期四","星期五","星期六",
};
int index = c.get(Calendar.MONTH);
int index2 = c.get(Calendar.DAY_OF_WEEK);
// System.out.println(index2);
System.out.println(c.get(Calendar.YEAR)); // 2019
System.out.println(mons[index]); // 8 九月
System.out.println(weeks[index2]); // 2 星期一
}
}
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalendarDemo2 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.set(2018,5,21); // month : 0-11
c.add(Calendar.DAY_OF_MONTH,1);
System.out.println(c.get(Calendar.DAY_OF_MONTH)); // 一个月的第22 天
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = c.getTime(); // 返回一个表示此 Calendar 时间值
String time = sdf.format(date);
System.out.println(time); // 2018-06-22
}
}
练习
/*
两个练习:
1,获取任意年的二月有多少天。
思路:根据指定年设置一个时间就是
c.set(year,2,1)//某一年的3月1日。
c.add(Calenar.DAY_OF_MONTH,-1);//3月1日,往前推一天,就是2月最后一天。
2,获取昨天的现在这个时刻。
c.add(Calenar.DAY_OF_MONTH,-1);
*/
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class CalendarTest {
public static void main(String[] args) {
test(2019);
test2();
}
// 练习一
public static void test(int year){
Calendar c = Calendar.getInstance();
c.set(year,2,1); // 3-1
c.add(Calendar.DAY_OF_MONTH,-1); // 往前减一天,就是2月的最后一天
System.out.println(c.get(Calendar.DAY_OF_MONTH));
}
// 练习一
public static void test2(){
Calendar c = Calendar.getInstance();
c.add(Calendar.DAY_OF_MONTH,-1);
Long l = c.getTimeInMillis();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:ss");
String time = sdf.format(l);
System.out.println(time); // 2019-09-08 14:37
}
}
内容总结
以上是互联网集市为您收集整理的java常用类全部内容,希望文章能够帮你解决java常用类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】