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

相关文章

在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

SpringBoot实现导出复杂对象到Excel文件

《SpringBoot实现导出复杂对象到Excel文件》这篇文章主要为大家详细介绍了如何使用Hutool和EasyExcel两种方式来实现在SpringBoot项目中导出复杂对象到Excel文件,需要... 在Spring Boot项目中导出复杂对象到Excel文件,可以利用Hutool或EasyExcel

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

MySQL 日期时间格式化函数 DATE_FORMAT() 的使用示例详解

《MySQL日期时间格式化函数DATE_FORMAT()的使用示例详解》`DATE_FORMAT()`是MySQL中用于格式化日期时间的函数,本文详细介绍了其语法、格式化字符串的含义以及常见日期... 目录一、DATE_FORMAT()语法二、格式化字符串详解三、常见日期时间格式组合四、业务场景五、总结一、

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为