【Java学习笔记】其他对象API
System类
package p1; import java.util.Properties;
import java.util.Set; public class SystemDemo { private static final String LINE_SEPARATOR = System.getProperty("line.separator"); //设置换行 public static void main(String[] args) {
/*
* System:类中的方法和属性都是静态的。
* 常见方法:
* long currentTimeMills();获取当前时间的毫秒值。(返回当前时间与协调世界时间1970年1月1日午夜之间的时间差)
*/
// demo1();
demo2();
// demo3(); } public static void demo3() {
System.setProperty("age", "28");
System.setProperty("name", "张三"); System.out.println(System.getProperty("age"));
System.out.println(System.getProperty("name")); System.out.println("hello"+LINE_SEPARATOR+"woorld");
}
/*
* demo3运行结果:
* 28
张三
hello
woorld */ public static void demo2() {
/*
* Properties getProperties() 获取系统的属性信息,并存储到Properties集合中
*
* Properties集合中存储都是String类型的键和值 //所以定义Properties类型的变量时不必带泛型
* 最好使用它自己的存储和取出的方法来完成元素的操作
*/
Properties prop = System.getProperties();
// System.out.println(prop); Set<String> nameSet = prop.stringPropertyNames(); for (String name : nameSet)
{
String value = prop.getProperty(name); System.out.println(name+"::"+value);
}
} public static void demo1() {
long l1 = System.currentTimeMillis();
System.out.println(l1);//返回1473476846438 毫秒数
System.out.println(l1/1000/60/60/24); //返回 17054 天数 // code...
long l2 = System.currentTimeMillis();
System.out.println(l2-l1); //返回的是code...代码执行所用时间
} }
Runtime类
package p1; import java.io.IOException; public class RuntimeDemo { public static void main(String[] args) throws IOException, InterruptedException {
/*
* 每一个Java程序都有一个Runtime类案例,使应用程序能够与其运行的环境相连,可以通过getRuntime方法获取当前运行时。
* 应用程序不能创建自己的Runtime类案例。
*/ /*
* Runtime:没有构造方法摘要,说明该类不可以创建对象
* 又发现还有非静态的方法,说明该类应该提供静态的返回该类对象的方法
* 而且只有一个,说明Runtime类使用了单列设计模式。
*/ Runtime r = Runtime.getRuntime(); // Process p = r.exec("notepad.exe");//打开notep
Process p = r.exec("notepad.exe D:\\1.txt");//打开notepad,在用notepad打开TXT
//r.exec("软件路径 文件路径");
Thread.sleep(5000);
p.destroy();//杀掉进程 5s后notepad关闭 } }
Math类
package p1; import java.util.Random; public class MathDemo { public static void main(String[] args) {
/*
* Math:提供了操作数学运算的方法。都是静态的。
*
* 常用方法:
* ceil():返回大于参数的最小整数
* floor():返回小于参数的最大整数
* round():返回四舍五入的整数
* pow(a,b):a的b次方
* random():返回带正号的 double 值,该值大于等于 0.0 且小于 1.0
*/ // demo();
RandomDemo(); } public static void RandomDemo() {
Random r = new Random(); for (int i=0; i<10; i++)
{
double d = r.nextDouble();//与Math.random()方法类似
System.out.println(d);
/*
* 0.013546684829438105
0.08058717380462299
0.25156348709107823
0.8149201340850071
0.37986882841498293
0.23718135066250312
0.6348939629694422
0.9508777684076484
0.8231478486704749
0.4605800387044423
*/
} for (int i=0; i<10; i++)
{
int d1 = r.nextInt(10); //随机返回0~10(不包含)间任意一个int值。
System.out.println(d1); }
} public static void demo() {
double d1 = Math.ceil(12.53);
double d2 = Math.floor(12.53);
double d3 = Math.round(12.13);
double d4 = Math.pow(10, 3); System.out.println(d1); //13.0
System.out.println(d2); //12.0
System.out.println(d3);//12.0
System.out.println(d4);//1000.0 for (int i=0; i<10; i++)
{
double d = Math.random();
System.out.println(d);
/*
* 0.3027275615429248
0.5238495879790577
0.987839818675654
0.6749156933585441
0.8474524363649824
0.412124228077851
0.009324944666969759
0.9136918707539762
0.41197917556520036
0.3277617281962496
*/
}
} }
Date类
package p1; import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class DateDemo { public static void main(String[] args) throws ParseException {
// method_demo1();
// method_demo2();
method_demo3(); } public static void method_demo3() throws ParseException { /*
*将日期格式的字符串-->日起对象
* 使用的是DateFormat类中的parse()方法。
*/ String str = "2016年9月10日 星期六";
String str1 = "2016--09--10 02:22:08"; DateFormat dateformat = DateFormat.getDateInstance(DateFormat.FULL);//格式与日期格式要对应
DateFormat dateformat1 = new SimpleDateFormat("yyyy--MM--dd hh:mm:ss"); Date date = dateformat.parse(str);
System.out.println(date);//Sat Sep 10 00:00:00 CST 2016 Date date1 = dateformat1.parse(str1);
System.out.println(date1);//Sat Sep 10 02:22:08 CST 2016
} public static void method_demo2() {
/*
* 对日期对象进行格式化
* 将日期对象-->日期格式的字符串
* 使用DateFormat类中的format方法。
*/ Date date = new Date(); //获取日期格式对象,有FULL,LONG,SHORT,MEDIUM(默认)格式。不标明就是默认格式
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.FULL);
// System.out.println(dateFormat); //java.text.SimpleDateFormat@ef7951d7
String str = dateFormat.format(date);
System.out.println(str);//2016年9月10日 星期六 DateFormat dateFormat1 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.LONG);
String str1 = dateFormat1.format(date);
System.out.println(str1); //2016年9月10日 星期六 下午02时14分18秒 //如果风格想要自定义呢?
DateFormat dateFormat2 = new SimpleDateFormat("yyyy--MM--dd hh:mm:ss");
String str2 = dateFormat2.format(date);
System.out.println(str2); //2016--09--10 02:22:08 } public static void method_demo1() { /*
* 日期对象和毫秒值之间的转换
*
* 毫秒值-->日期对象
* 1.通过Date对象的构造方法 new Date(timeMills);
* 2.还可以通过Settime设置
*
* 日期对象-->毫秒值
* getTime方法
*/ long time = System.currentTimeMillis();
System.out.println(time); // Date date = new Date(); //将当前日期和时间封装成date对象。
System.out.println(date); //Sat Sep 10 13:39:21 CST 2016 Date date1 = new Date(1473485640659l); //将指定毫秒值封装成date对象。
System.out.println(date1); //Sat Sep 10 13:34:00 CST 2016 Date date2 = new Date();
date2.setTime(1473485640659l);
long l = date2.getTime();
System.out.println(l); //
} }
package p1; import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date; /*
* “2012-3-17”到“2012-4-6”间有多少天
*
* 思路:
* 日期格式字符串-->日期对象-->获取毫秒值-->相减
*/
public class DateTest { public static void main(String[] args) throws ParseException { String str_date1 = "2012-3-17";
String str_date2 = "2012-4-6"; test(str_date1,str_date2); } public static void test(String str_date1, String str_date2) throws ParseException {
DateFormat dateformat = DateFormat.getDateInstance();//对应格式 Date date1 = dateformat.parse(str_date1);
Date date2 = dateformat.parse(str_date2); long time1 = date1.getTime();
long time2 = date2.getTime(); long time = Math.abs(time1-time2); int day = getDay(time);
System.out.println(day); } public static int getDay(long time) {
int day = (int)(time/1000/60/60/24);
return day;
} }
Calendar类
package cn.itcast.p1.otherapi; import java.util.Calendar; public class CalendarDemo { public static void main(String[] args) {
Calendar c = Calendar.getInstance();
System.out.println(c);
/*电脑当前时间的日历
*
* java.util.GregorianCalendar[time=1473493014690,areFieldsSet=true,
areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",
offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,
minimalDaysInFirstWeek=1,ERA=1,YEAR=2016,MONTH=8,WEEK_OF_YEAR=37,WEEK_OF_MONTH=2,DAY_OF_MONTH=10,
DAY_OF_YEAR=254,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=3,HOUR_OF_DAY=15,
MINUTE=36,SECOND=54,MILLISECOND=690,ZONE_OFFSET=28800000,DST_OFFSET=0] */ showDate(c); showDays(2016);//判断2016的二月有多少天 } public static void showDays(int i) {
Calendar c = Calendar.getInstance();
c.set(i, 2, 1); c.add(Calendar.DAY_OF_MONTH, -1);
showDate(c);
} public static void showDate(Calendar c) { int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;
int day = c.get(Calendar.DAY_OF_MONTH);
int week = c.get(Calendar.DAY_OF_WEEK);
int hour = c.get(Calendar.HOUR_OF_DAY);
int min = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND); System.out.println(year+"年"+month+"月"+day+"日"+getWeek(week)+" "+hour+":"+min+":"+second);
} public static String getWeek(int week) {
String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"}; return weeks[week];
} }
【Java学习笔记】其他对象API的更多相关文章
- Java学习笔记五 常用API对象一
常用API:字符串操作:String类,StringBuffer类,StringBulider类 字符串是最重要的数据类型之一,处理字符串也是一种语言的基本工作. 1.String类: public ...
- Java学习笔记七 常用API对象三
一.泛型:简单说就是对对象类型进行限定的技术 public class GenericDemo { public static void main(String[] args){ /*泛型作为1.5版 ...
- Java学习笔记六 常用API对象二
1.基本数据类型对象包装类:见下图 public class Test { public static void main(String[] args){ Demo(); toStringDemo() ...
- Java学习笔记之对象的复制和克隆
假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short, ...
- Java学习笔记5(API)
Java API API(Application Programming Interface)指的是应用程序编程接口. String类 String初始化有两种,一个是使用字符串常量初始化一个Stri ...
- java学习笔记之对象序列化
1.简述 java对象序列化就是将对象编程二进制数据流的一种方法,从而实现对对象的传输和存储 2.作用 java是门面向对象编程语言,即一切皆对象,但是java对象只能存在于jvm中,一旦jvm停掉那 ...
- Java学习笔记--面对对象OOP
面向对象编程 OOP 面向对象&面向过程 面向对象编程的本质:以类的方式组织代码,以对象的方法组织数据 面向对象编程的三大特征: 封装 继承 多态 方法 静态方法 通过 static 关键词说 ...
- java学习笔记-8.对象的容纳
1.Iterator(迭代器)和Enumeration(枚举类),都是用来遍历集合的,他们都是接口.区别是Enumeration只能读取集合的数据,而Iterator可以对数据进行删除,Iterato ...
- Java学习笔记day08_day09_对象实例化_private_this
1.类与对象 类就是一个模版. 对象的实例化就是根据模版类, 使用new关键字创建实际的对象. 2.类的定义及创建对象 类的定义格式: public class 类名{ //属性(变量) 数据类型 变 ...
- java学习笔记-01.对象入门
1.面向对象编程简称是OOP. 2.继承是通过 extends关键字实现的,接口是通过implements关键字实现的. 3.public:意味着后续的定义任何人均可使用. private:意味着除了 ...
随机推荐
- Linux资源监控(Nmon)
1.下载nmon_linux_14g.tar.gz 2.解压nmon_linux_14g.tar.gz #tar -zxvf nmon_linux_14g.tar.gz 3. 为nmon_x86_64 ...
- List 泛型 集合中 Find 的用法
以前在开发中为了对List,String[].Array进行元素的查找一般都是这样做:List lists = new List();list.add("111");.....fo ...
- python学习心得第四章
python 学习心得第四章 1.lambda表达式 1:什么是lambda表达式 为了简化简单函数的代码,选择使用lambda表达式 上面两个函数的表达式虽然不一样,但是本质是一样的,并且lamb ...
- Patching Array
引用原文:http://blog.csdn.net/murmured/article/details/50596403 但感觉原作者的解释中存在一些错误,这里加了一些自己的理解 Given a sor ...
- 刷CM7固件 乐padA1-07专用固件
-------------------------------------------------------------------------------- 前几天在版 ...
- 查看表的datapages
select object_name(i.object_id) as tableName,data_pages as dataPagesfrom sys.indexes as ijoin sys.pa ...
- Servlet学习二——doGet和doPost
1.get和post是http协议中的两种方法,还有其它,读写一般数据还能满足: 2.get只有一个流,参数附加在url后,且大小个数有严格限制,这个限制因浏览器而有所不同,get传递数据,实际上是将 ...
- Jquery / js 判断数据类型方法(限制文本框类型输入)
当想要判断文本框中的值是否为自己想要的类型时,可以通过一些方法作出判断,这里对于光标离开文本框时判断文本框中输入的是否是数值类型,如果不是,做出提示 $("#WORKYEARS") ...
- 循序渐进Python3(十一) --4-- web之jQuery
jQuery jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的 ...
- Android 学习 (一)
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...