11.其他对象【System】【Runtime】【Math】【Date】【Calendar】

2024-06-06 13:48

本文主要是介绍11.其他对象【System】【Runtime】【Math】【Date】【Calendar】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


 

一、    System

System类中的方法和成员都是静态的。

常用的方法:

l long currentTimeMillis();//返回当前时间的毫秒值。若要专为天数,可以运算/1000/60/60/24.

l Properties getProperties();//获取系统的配置信息。Properties集合中存储的都是String类型的键和值。

l setProperty(String key,String value);//设置属性信息。

System类的示例:

   

<span style="font-size:18px">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 l1 = System.currentTimeMillis();//1380194628837System.out.println(l1/1000/60/60/24);//化成秒/分/时/天
//		code...long l2 = System.currentTimeMillis();System.out.println(l2-l1);//code代码段运行时间。//		System.out.println("hello \r\n world");//调用方法,在不同的平台下,先获取平台信息,再换行。虚拟机启动时,都会先去拿该系统信息。System.out.println("hello-"+LINE_SEPARATOR+"world");//		demo_1();//给系统添加属性信息,这些信息是全局的。其他程序都可以使用。System.setProperty("myclasspath", "c:myclass");}public static void demo_1(){//获取系统的属性信息。并保存到Properties集合中。/** Properties集合中存储的都是String类型的键和值。* 最好使用它自己的存储和取出的方法来操作。*/Properties prop = System.getProperties();Set<String> nameSet = prop.stringPropertyNames();//可以用keySet方法,但是得到set集合是Object类型,需要强转至Stringfor(String name : nameSet){String value = prop.getProperty(name);System.out.println(name+"::"+value);}}	
}
</span>


 

二、    Runtime

Runtime类没有构造方法摘要,构造方法被私有化,所以不能创建对象。提供了静态

   的返回该类对象的方法,即Runtime类使用了单例设计模式。这样保证了对象的唯一想。

      这个方法就是static RuntimegetRuntime()方法。

   常用方法:

l Runtime getRuntime();获取Runtime对象

l exec(运行的程序名.exe程序解析的文件路径);执行某一程序去解析指定路径下的文件。

l destroy();杀掉进程。

   代码示例:

   

import java.io.IOException;

public class RuntimeDemo {

 public static void main(String[] args) throws IOException, InterruptedException {
  
  Runtime r = Runtime.getRuntime();
  
//  execute:执行。   xxx.exe
  
//  r.exec("notepad.exe f:\\RuntimeDemo.java");//运行一程序,去解析某一路径下的文件。但是文件和程序要匹配。
  
  Process p = r.exec("notepad.exe");
  Thread.sleep(5000);//延时5秒。
  p.destroy();//调用destroy杀掉进程。
 }

}

三、    Math

Math类包含用于基本数学运算的方法,如初等函数、对数、平方根和三角函数。该类

   方法都为静态

   常用方法:

l doubleceil();返回大于参数的最小整数。

l doublefloor();返回小于参数的最大整数。

l intround();返回四舍五入的整数,即最接近参数的整数。

l doublepow(double a,double b);ab次方。

l doublerandom();获取大于0,小于1的随机数。

代码示例:

<span style="font-size:18px">import java.util.Random;public class MathDemo {public static void main(String[] args) {/** Math:* * 常用方法:* ceil():返回大于参数的最小整数。* floor():返回小于参数的最大整数。* round():返回四舍五入的整数。即最接近参数的整数。* pow(a,b):a的b次方。* random():大于等于0,小于1的随机数。*/double d1 = Math.ceil(12.56);double d2 = Math.floor(12.56);double d3 = Math.round(12.46);//		sop("d1="+d1);
//		sop("d2="+d2);
//		sop("d3="+d3);//		double d = Math.pow(10, 2);
//		sop("d="+d);//产生随机数Random r = new Random();for(int i = 0; i < 10; i++){//			double d = Math.random();
//			double d = Math.ceil(Math.random()*10);//产生1~10的随机数。
//			double d = (int)(Math.random()*10+1);//法二
//			double d = (int)(Math.random()*6+1);//骰子的功能,1~6随机数。
//			double d = (int)(r.nextDouble()*6+1);int d = r.nextInt(6)+1;System.out.println(d);}}public static void sop(String string) {System.out.println(string);}
}</span>


 

四、    Date

1.  概述

Date类表示特定的时间。

Java中默认的显示格式为:Fri Nov 01 23:10:33 CST 2013

2.  自定义风格

默认的时间显示格式不一定适合每一个人。这时可以自定义显示格式。

      但是Date类中许多方法被Calendar或者DateFormat所取代,所以可以找

      DateFormat类来实现。其中有format方法正好可以很好的将日期对象转换为特定格

      式的字符串格式。其子类SimpleDateFormat可以定义时间格式。

3.  自定义风格的实现步骤(对日期对象进行格式化)

1)  创建Date对象

2)  获取日期格式对象,通过DateFormat getDateInstance(DateFormat.指定分格);

3)  通过子类SimpleDateFormat创建其对象,并在构造方法中指定格式,获取DateFormat对象

4)  调用DateFormatformat方法,将Date对象作为参数传递,转为字符串格式

4.  将日期格式的字符串转换为日期对象。

1)  获取日期字符串对象

2)  获取日期格式对象

3)  通过SimpleDateFormat子类创建和日期字符串对应的日期格式,返回DateFormat对象。

4)  调用DateFormat对象中的Date parse(String date)方法,将字符串格式转为日期对象。

 

代码1:日期对象和毫秒值之间的转换。

       毫秒值-->日期对象。
     1.通过Date对象的构造方法 new Date(timeMillis);
     2.还可以通过setTime设置。
     因为可以通过Date对象的方法对该日期中的各个字段(年月日等)进行操作、
   
   日期对象-->毫秒值
     通过getTime方法获取
     因为可以通过具体数值来运算。

<span style="font-size:18px">public static void methodDemo_1() {long time = System.currentTimeMillis();//System.out.println(time);//1380250248987
//		
//		Date date = new Date();//将当前日期和时间封装成Date对象。
//		System.out.println(date);//Fri Sep 27 10:51:44 CST 2013Date date2 = new Date(1380250248987l);//将指定的毫秒值封装成Date对象。System.out.println(date2);Date date3 = new Date();date3.setTime(time);System.out.println(date3);	}</span>

 

代码2:对日期象进行格式化。


 

<span style="font-size:18px">public static void methodDemo_2() {Date date = new Date();//获取日期格式对象,具体着默认的风格。FULL,LONG,SHORT可以指定风格。DateFormat datefomat = DateFormat.getDateInstance(DateFormat.LONG);
//		 datefomat = DateFormat.getDateTimeInstance();//带时间的格式。//怎样自定义风格呢?使用的是子类SimpleDateFormat构造方法。y-年,M-月份,d-天数。datefomat = new SimpleDateFormat("yyyy--MM--dd");//转成字符串格式String myDate = datefomat.format(date);System.out.println(myDate);}</span>


 

代码3:将日期格式的字符串-->日期对象

       使用的是DateFormat类中的parse方法。

<span style="font-size:18px">public static void methodDemo_3() throws ParseException {//		String str_date = "2013-09-27";//要解析的字符串String str_date = "2013年09月27日";//此日期格式是LONG型,str_date = "2011---8---20";//属自定义格式,须定义一个格式与之相同。DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);dateFormat = new SimpleDateFormat("yyyy---MM---dd");Date date = dateFormat.parse(str_date);System.out.println(date);	}</span>

练习:"2012-3-17"到"2012-4-6"中间有多少天。

思路:
  1.将日期格式的字符串-->日期对象。
    DateFormat.getDateInstance();
    parse()解析字符串。
  2.将日期对象-->毫秒值。
    日期对象调用getTime()方法即可转换。
  3.将两个毫秒值日期相减,再换算成天数,即可得到相差的天数。

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class DateTest {public static void main(String[] args) throws ParseException {String str_date1 = "2012-3-17";String str_date2 = "2012-4-8";method(str_date1,str_date2);}public static void method(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 d1 = date1.getTime();long d2 = date2.getTime();//两个日期相差的毫秒值long d = d2-d1;System.out.println(d);//调用换算成天数的方法millisToDay(d);	}public static void millisToDay(long d) {System.out.println(d/1000/60/60/24);}
}


 

五、    Calendar

1. 概述

Calendar类是一个抽象类,它为特定瞬间与YEARMONTHDAY_OF_MONTH等日历字段之间的转换提供了一些方法。

2. 获取时间

l 获取年份:Calendar.YEAR

l 获取月份:Calendar.MONTH

l 获取日期:Calendar.DAY_OF_MONTH

l 获取星期:Calendar.DAY_OF_WEEK

l 获取小时:Calendar.HOUR_OF_DAY

l 获取分钟:Calendar.MINUTE

l 获取秒数:Calendar.SECOND

代码示例:

      

<span style="font-size:18px">import java.util.Calendar;public class CalendarDemo {public static void main(String[] args) {//导入Calendar类Calendar c = Calendar.getInstance();showDate(c);}//获取日期private 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);System.out.println(year+"年"+month+"月"+day+"日"+getWeeks(week));}public static String getWeeks(int day) {String[] weeks = {" ","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};return weeks[day];}
}
</span>


 

 

这篇关于11.其他对象【System】【Runtime】【Math】【Date】【Calendar】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1036287

相关文章

C++类和对象之初始化列表的使用方式

《C++类和对象之初始化列表的使用方式》:本文主要介绍C++类和对象之初始化列表的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C++初始化列表详解:性能优化与正确实践什么是初始化列表?初始化列表的三大核心作用1. 性能优化:避免不必要的赋值操作2. 强

Java对象转换的实现方式汇总

《Java对象转换的实现方式汇总》:本文主要介绍Java对象转换的多种实现方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Java对象转换的多种实现方式1. 手动映射(Manual Mapping)2. Builder模式3. 工具类辅助映

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

Java实现将byte[]转换为File对象

《Java实现将byte[]转换为File对象》这篇文章将通过一个简单的例子为大家演示Java如何实现byte[]转换为File对象,并将其上传到外部服务器,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言1. 问题背景2. 环境准备3. 实现步骤3.1 从 URL 获取图片字节数据3.2 将字节数组

Javascript访问Promise对象返回值的操作方法

《Javascript访问Promise对象返回值的操作方法》这篇文章介绍了如何在JavaScript中使用Promise对象来处理异步操作,通过使用fetch()方法和Promise对象,我们可以从... 目录在Javascript中,什么是Promise1- then() 链式操作2- 在之后的代码中使

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C