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

相关文章

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

Spring常见错误之Web嵌套对象校验失效解决办法

《Spring常见错误之Web嵌套对象校验失效解决办法》:本文主要介绍Spring常见错误之Web嵌套对象校验失效解决的相关资料,通过在Phone对象上添加@Valid注解,问题得以解决,需要的朋... 目录问题复现案例解析问题修正总结  问题复现当开发一个学籍管理系统时,我们会提供了一个 API 接口去

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Java将时间戳转换为Date对象的方法小结

《Java将时间戳转换为Date对象的方法小结》在Java编程中,处理日期和时间是一个常见需求,特别是在处理网络通信或者数据库操作时,本文主要为大家整理了Java中将时间戳转换为Date对象的方法... 目录1. 理解时间戳2. Date 类的构造函数3. 转换示例4. 处理可能的异常5. 考虑时区问题6.

Java第二阶段---09类和对象---第三节 构造方法

第三节 构造方法 1.概念 构造方法是一种特殊的方法,主要用于创建对象以及完成对象的属性初始化操作。构造方法不能被对象调用。 2.语法 //[]中内容可有可无 访问修饰符 类名([参数列表]){ } 3.示例 public class Car {     //车特征(属性)     public String name;//车名   可以直接拿来用 说明它有初始值     pu

Partical System

创建"粒子系统物体"(点击菜单GameObject -> Create Other -> Particle System) 添加"粒子系统组件"(点击Component -> Effects  ->Particle System) 粒子系统检视面板  点击粒子系统检视面板的右上角的"+"来增加新的模块。(Show All Modules:显示全部) 初始化模块: •