第一讲     System类

一、概述

1、System是描述系统一些信息的类,类中的属性和方法都是静态的。不能被实例化,没有提供构造函数。

2、字段摘要

out:标准输出流。默认是控制台。

in:标准输入流。默认是键盘。

二、方法

1、获取系统的属性信息:

PropertiesgetProperties();

说明:

1)此方法返回的双列集合,即键值对;因为Properties是Hahstable的子类,也就是Map集合的一个子类对象,那么通过Map方法取出该集合中的元素。

2)该集合存储的都是字符串,没有泛型定义

2、获取指定属性信息:

String getProperty(Stringkey);

3、在系统内定义特有信息:

String setProperty(Stringkey,String value);

4、如何在jvm启动时,加载一些属性信息:

通过命令:java -D<name>=<value>可以设置特有的系统属性信息

示例:

  1. import java.util.*;
  2. class SystemDemo
  3. {
  4. public static void main(String[] args)
  5. {
  6. Properties p=System.getProperties();//获取当前的系统属性
  7. sop(p);
  8. String value=System.getProperty("os.name");//获取指定键指示的系统属性
  9. sop("os.name="+value);
  10. System.setProperty("wode","My_PC");//设置指定键指示的系统属性信息
  11. sop(p);
  12. String s= System.getProperty("woshi");//当系统中没有该键值,返回null
  13. sop(s);
  14. }
  15. public static void sop(Object obj)
  16. {
  17. System.out.println(obj);
  18. }
  19. }

第二讲     Runtime类

一、概述

1、每个java应用程序都有一个Runtime类实例,使用应用程序能与其中运行的环境相连接,应用程序不能创建自己的Runtime类的实例,是由系统底层自己创建的。

2、该类中并没有提供构造函数。说明不可以new对象。那么会直接想到该类中的方法都是静态的。查阅API文档发现,该类中还有非静态方法。说明该类肯定会提供了方法获取本来对象。而且该方法是静态的,并返回值类型是本来类型。

3、由以上特点可以看出该类淘宝开店教程使用了单例设计模式完成。

二、方法

1、获取本类对象

static RuntimegetRuntime();

2、在单独的进程中执行指定字符串命令

Processexec(String command);

3、在Process中有一个杀掉子进程的方法,可将exec方法开启的进程结束

void destroy();

示例:

  1. class RuntimeDemo
  2. {
  3. public static void main(String[] args)throws Exception
  4. {
  5. Runtime r=Runtime.getRuntime();//获取本类对象
  6. Process p=r.exec("notepad.exe");//执行记事本程序
  7. r.exec("notepad.exe  RuntimeDemo.java");//用记事本打开指定文件
  8. Thread.sleep(3000);//让线程等待3秒
  9. p.destroy();//杀掉指定进程
  10. }
  11. }

第三讲     时间类

一、Date类

1、概述

Date类表示特定的瞬间,精确到毫秒。

java中的默认显示格式为:Mon Jun 10 22:35:21 CST2013

2、自定义格式

默认的格式不一定满足每个人的需求,那么就需要自定义格式化模式。因为Date类中的大部分方法已过时,所以只能找其子类来实现。子类DateFormat中有format方法可以实现,但是DateFormat是抽象类,不能实例化。但是其下有个SimpleDateFormat子类,可以定义时间模式伤感的句子

具体步骤:

1)创建Date对象

2)将时间模式封装到SimpleDateFormat对象中

3)调用format方法让格式化模式指定Date对象

代码如下:

  1. import java.util.*;
  2. import java.text.*;
  3. class DateDemo
  4. {
  5. public static void main(String[] args)
  6. {
  7. Date d=new Date();//创建Date对象
  8. //sop(d);
  9. ////将模式封装到SimpleDateformat对象中。
  10. SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日E HH:mm:ss");
  11. //调用format方法让模式格式化指定Date对象。
  12. String time=sdf.format(d);
  13. sop(time);
  14. }
  15. public static void sop(Object ojb)
  16. {
  17. System.out.println(ojb);
  18. }
  19. }

二、Carendar类

1、概述:

1)Calendar是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH等日历字段之间的转换提供了一些方法。

2)Calendar可以对年月日等时间进行获取。并提供了相应的子段值。可参阅API文档。

2、方法:

2.1、基本获取时间

1)获取年份:Calendar.YEAR

2)获取月份:Calendar.MONTH

3)获取日期:Calendar.DAY_OF_MONTH

4)获取星期:Calendar.DAY_OF_WEEK

5)获取小时:Calendar.HOUR_OF_DAY

6)获取分钟:Calendar.MINUTE

7)获取秒数:Calendar.SECOND

2.2、设置时间:

1)根据日历的规则,为给定的日历字段添加或减去指定的时间量:

void add(int field,int amount);

2)获取指定的日历字段对应的时间值:

int get(int field);

3)将给定日历字段对应的时间值设置为给定值:

void set(int field,int value);

设置日历字段 YEAR、MONTH和DAY_OF_MONTH的值:

void set(int year,int month,int date);

示例:

  1. import java.util.*;
  2. class  CalendarDemo
  3. {
  4. public static void main(String[] args)
  5. {
  6. Calendar c=Calendar.getInstance();
  7. sop(pattern(c));//显示今天日期和当前时间
  8. c.add(Calendar.YEAR,3);//年份变为3年后
  9. sop(pattern(c));//显示指定日期和时间
  10. }
  11. //获取指定日期和时间
  12. public static String pattern(Calendar c)
  13. {
  14. String s=year(c)+month(c)+day(c)+week(c)+" "+time(c);
  15. return s;
  16. }
  17. //获取年份
  18. public static int year(Calendar c)
  19. {
  20. return c.get(Calendar.YEAR);
  21. }
  22. //获取月份
  23. public static String month(Calendar c)
  24. {
  25. String[] yue={"一月","二月","三月","四月",
  26. "五月","六月","七月","八月",
  27. "九月","十月","十一月","十二月"};
  28. return yue[c.get(Calendar.MONTH)];
  29. }
  30. //获取日期
  31. public static int day(Calendar c)
  32. {
  33. return c.get(Calendar.DAY_OF_MONTH);
  34. }
  35. //获取星期
  36. public static String week(Calendar c)
  37. {
  38. String[] day={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
  39. return day[c.get(Calendar.DAY_OF_WEEK)];
  40. }
  41. //获取时间,格式为时:分:秒
  42. public static String time(Calendar c)
  43. {
  44. String s=c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);
  45. return s;
  46. }
  47. //打印输出
  48. public static void sop(Object obj)
  49. {
  50. System.out.println(obj);
  51. }
  52. }

小练习:

  1. /*
  2. 练习
  3. 1、获取任意年的二月有多少天:
  4. 思路:根据指定年设置一个时间就是
  5. c.set(year,2,1)//某一年的3月1日。
  6. c.add(Calenar.DAY_OF_MONTH,-1);//3月1日,往前推一天,就是2月最后一天。
  7. 2、获取前一天的现在这个时刻
  8. 思路:c.add(Calenar.DAY_OF_MONTH,-1);
  9. 3、计算有效上课天数,每周六日不上课,计算任意年从九月到十月的有效上课天数
  10. 思路;
  11. 1、根据指定年设定一个时间就是c.set(year,8,1)//某一年的9月1日
  12. 2、定义一个计数器,判断指定时间是否是星期六或者星期日,不是则计数加1
  13. 3、日期偏移量1天,直至判断到这个月的最后一天
  14. */
  15. import java.util.*;
  16. class  OtherClassTest
  17. {
  18. public static void main(String[] args)
  19. {
  20. //练习1测试
  21. sop("2012年二月份有"+whatDay(2012)+"天");
  22. //练习2测试
  23. sop("昨天的现在这个时刻:"+lastNowTime());
  24. //练习3测试
  25. sop("2013年9月到10月上了"+howDay(2013)+"天课");
  26. }
  27. //练习1
  28. public static int whatDay(int year)
  29. {
  30. Calendar c=Calendar.getInstance();
  31. c.set(year,2,1);
  32. c.add(Calendar.DAY_OF_MONTH,-1);
  33. return c.get(Calendar.DAY_OF_MONTH);
  34. }
  35. //练习2
  36. public static String lastNowTime()
  37. {
  38. Calendar c=Calendar.getInstance();
  39. c.add(Calendar.DAY_OF_MONTH,-1);
  40. return pattern(c);
  41. }
  42. //练习3
  43. public static int howDay(int year)
  44. {
  45. Calendar c=Calendar.getInstance();
  46. c.set(year,8,1);
  47. int count=0;
  48. for (int x=c.get(Calendar.DAY_OF_MONTH); x<=30;x++ )
  49. {
  50. if(c.get(Calendar.DAY_OF_WEEK)!=1&&c.get(Calendar.DAY_OF_WEEK)!=7)
  51. count++;
  52. c.add(Calendar.DAY_OF_MONTH,1);
  53. }
  54. return count;
  55. }
  56. //获取指定日期和时间
  57. public static String pattern(Calendar c)
  58. {
  59. String s=year(c)+month(c)+day(c)+week(c)+" "+time(c);
  60. return s;
  61. }
  62. //获取年份
  63. public static int year(Calendar c)
  64. {
  65. return c.get(Calendar.YEAR);
  66. }
  67. //获取月份
  68. public static String month(Calendar c)
  69. {
  70. String[] yue={"一月","二月","三月","四月",
  71. "五月","六月","七月","八月",
  72. "九月","十月","十一月","十二月"};
  73. return yue[c.get(Calendar.MONTH)];
  74. }
  75. //获取日期
  76. public static int day(Calendar c)
  77. {
  78. return c.get(Calendar.DAY_OF_MONTH);
  79. }
  80. //获取星期
  81. public static String week(Calendar c)
  82. {
  83. String[] day={"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
  84. return day[c.get(Calendar.DAY_OF_WEEK)];
  85. }
  86. //获取时间,格式为时:分:秒
  87. public static String time(Calendar c)
  88. {
  89. String s=c.get(Calendar.HOUR_OF_DAY)+":"+c.get(Calendar.MINUTE)+":"+c.get(Calendar.SECOND);
  90. return s;
  91. }
  92. //打印输出
  93. public static void sop(Object obj)
  94. {
  95. System.out.println(obj);
  96. }
  97. }

第四讲     Math类

一、概述

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

二、方法

1、doubleceil(double d);//返回大于指定数据的最小整数

2、doublefloor(double d);//返回小于指定数据的最大整数

3、double pow(doublea,double b);//返回a的b次方

4、long round(doubleb);//返回b四舍五入的值

5、doublerandom();//返回正号的double值,是一个大于等于0.0且小于1.0的随机数

三、Random类

这是java.util中的一个单独的类,该类对象用于获取随机数。与Math中的random方法是一样的,不过这个类有自身的方法,可以将相应的随机数强转为指定基本数据类型。

如:intnextInt(int n);//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int值。

小练习:

    1. /*
    2. 练习:给定一个小数,保留该小数的后n位。
    3. 1、先把给定小数乘以10的n次方,四舍五入保留整数部分
    4. 2、再把该整数除以10的n次方
    5. */
    6. class MathTest
    7. {
    8. public static void main(String[] args)
    9. {
    10. double d=retention(13.6572,2);
    11. System.out.println("d="+d);
    12. }
    13. //保留小数位方法
    14. public static double retention(double d,int n)
    15. {
    16. double d1=d*Math.pow(10,n);//先将要保留的小数位变为整数
    17. long l=Math.round(d1);//将小数四舍五入
    18. return l/Math.pow(10,n);//返回保留了指定小数位的小数
    19. }
    20. }

Java基础---其他对象的更多相关文章

  1. java基础(二) -对象和类

    Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为.例如,一条狗是一 ...

  2. Java基础03-12_对象比较

    对象比较 如果说现在有两个数字要判断是否相等,可以使用"=="完成 如果是字符串要判断是否相等使用"equals()" 但是如果说现在有一个自定义的类,要想判断 ...

  3. JAVA基础之对象的初始化

    本文主要记录JAVA中对象的初始化过程,包括实例变量的初始化和类变量的初始化以及 final 关键字对初始化的影响.另外,还讨论了由于继承原因,探讨了引用变量的编译时类型和运行时类型 一,实例变量的初 ...

  4. java基础(一)对象

    对象的创建 Test test = new Test(); Test test = new Test("a"); 其实,对象被创建出来时,对象就是一个对象的引用,这个引用在内存中为 ...

  5. Java基础 -- 持有对象(容器)

    一 容器的用途 如果对象的数量与生命周期都是固定的,自然我们也就不需要很复杂的数据结构. 我们可以通过创建引用来持有对象,如 Class clazz; 也可以通过数组来持有多个对象,如 Class[] ...

  6. Java 基础之一对象导论

    对象导论 1.1 抽象过程 所有编程语言都提供抽象机制.人们所能解决的问题的复杂性直接取决于抽象的类型和质量. 汇编语言是对底层机器的轻微抽象. 我们将问题空间中的元素及其再解空间中的表示称为对象.这 ...

  7. Java基础之对象序列化

    1. 什么是Java对象序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长.但在现 ...

  8. Java基础 ----- 判断对象的类型

    1. 判断对象的类型:instanceOf 和 isInstance 或者直接将对象强转给任意一个类型,如果转换成功,则可以确定,如果不成功,在异常提示中可以确定类型 public static vo ...

  9. 【Java基础】对象的具体创建过程

    所有的类(以Dog类为例)在第一次使用时,动态的加载到JVM中,当首次创建Dog对象时,或者是Dog类的静态方法.静态属性域在第一次被访问时,JVM解释器查找到classpath,定位到Dog.cla ...

随机推荐

  1. block的各种定义

    1.作为变量 //block 的申明,定义,调用,block快捷方式inline //<#returnType#>(^<#blockName#>)(<#parameter ...

  2. 【JS】cookies 的使用

    摘要 cookies 的限制 IE6~IE6以下,每个域名最多20个cookie IE7及以上,每个域名最多50个cookie Firefox,每个域名最多50个cookie Opera,每个域名最多 ...

  3. 浅谈js分页的几种方法

    一个项目中必然会遇到分页这种需求的,分页可以使数据加载更合理,也让页面显示更美观,更有层次感!那么js分页到底如何实现呢?下面我就来讲一下三种循序渐进的方法 1.自己纯手写分页 更深入的去理解分页的意 ...

  4. struts2增删改查---layer---iframe层

    在这里写一下struts2中的简单的增删改查 struts.xml中的配置 <?xml version="1.0" encoding="UTF-8" ?& ...

  5. Nagios部署与配置

    Nagos是一款开源电脑系统和网络监视工具,能够有效监控windows,linux,Uninx的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知运维人员 ...

  6. .net程序实现给机器加域,添加域账号到本地管理员

    以下.net代码中共有两个方法. AddComputerToDomain实现给把本计算机添加到某个域中 AddDomainUserToLocalAdminGroup实现把域中某用户添加到本地管理员 请 ...

  7. react入门之使用webpack搭配环境(一)

    react入门之搭配环境(一) 如果你想直接上手开发,而跳过这些搭配环境的繁琐过程,推荐你使用官方的create-react-app命令 npm install -g create-react-app ...

  8. Linux的nginx环境的vue 部署

    1.使用WebStrom编程好的vue 进入到Terminal运行npm run build           2.使用WinSCP进入到nginx 目录配置文件下面,找到nginx.conf文件: ...

  9. 1.three.js世界的4大要素

    一.三大组件 在Three.js中,要渲染物体到网页中,我们需要3个组建:场景(scene).相机(camera)和渲染器(renderer).有了这三样东西,才能将物体渲染到网页中去. 记住关建语句 ...

  10. entos 7虚拟机安装手册

    entos 7虚拟机安装手册. 环境:VMware虚拟机软件 centos7 最小化安装包 步骤: 第一步:新建虚拟机 第二步:选择要安装的虚拟机的操作系统镜像.如我这里使用的就是CentOS7最小化 ...