欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新Java实用教程第8讲系统常用类(一)(共30张PPT课件).pptx

    • 资源ID:33080038       资源大小:194.56KB        全文页数:30页
    • 资源格式: PPTX        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新Java实用教程第8讲系统常用类(一)(共30张PPT课件).pptx

    第8讲 系统(xtng)常用类(二) 8.1日期和时间日期和时间 8.2 格式化输出格式化输出(shch) 8.3 Arrays类类 8.4 Math类类 8.5 System类类 8.6 Random类类 8.7 Class类类 8.8 本讲小结本讲小结第一页,共三十页。 (在Java中还有一些常用类必须(bx)为程序员所熟悉,如日期和时间类,格式化输出,操作数组的工具类,包含数学公式的Math类,产生随机数的Random类等。第8讲 系统(xtng)常用类(二)第二页,共三十页。8.1 日期日期(rq)和时间和时间 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间(shjin)之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题。 在Java中日期和时间主要涉及到Date、DateFormat、SimpleDateFormat、Calendar和GregorianCalendar等五个类。第三页,共三十页。 Date类表示特定的瞬间,精确到毫秒。从JDK 1.1开始,Date类中的大部分方法已经不推荐使用(shyng)了,原因是这些方法不能满足国际化的要求。取而代之的是应该使用(shyng)Calendar 类实现日期和时间字段之间转换,使用(shyng)DateFormat类来格式化和分析日期字符串。下面是使用(shyng)Date的一个例子:8.1.1 Date类类第四页,共三十页。/ DateDemo.javaimport java.util.Date;public class DateDemo public static void main(String args) Date now = new Date(); System.out.println(当前时间为: + now); 上例中的时间是按照“星期(xngq),月,日,时,分,秒,年”的顺序输出的,如果想把顺序调整为中国人的习惯,就必须对Date对象进行格式化。8.1.1 Date类类第五页,共三十页。 DateFormat 是日期/时间(shjin)格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间(shjin)。下面的程序代码是按照美国的方式格式化日期/时间:/ DateFormatUSADemo.java/ DateFormatUSADemo.javaimport java.text.DateFormat;import java.util.Date;public class DateFormatUSADemo public static void main(String args) /得到日期的DateFormat对象 DateFormat df1 = DateFormat.getDateInstance();/得到日期/时间的DateFormat对象 DateFormat df2 = DateFormat.getDateTimeInstance(); /输出格式化后的日期/时间System.out.println(DATE: + df1.format(new Date(); System.out.println(DATETIME: + df2.format(new Date(); 8.1.2 Dateformat类类第六页,共三十页。下面的程序代码是按照中国的方式格式化日期(rq)/时间:/ DateFormatChinaDemo.javaimport java.text.DateFormat;import java.util.Date;import java.util.Locale;public class DateFormatChinaDemo public static void main(String args) DateFormat df1 = DateFormat.getDateInstance(DateFormat.YEAR_FIELD,new Locale(zh,CN); DateFormat df2 = DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD,new Locale(zh,CN);System.out.println(DATE: + df1.format(new Date();System.out.println(DATETIME: + df2.format(new Date(); 8.1.2 Dateformat类类第七页,共三十页。 SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期- 文本)、分析(文本- 日期)和规范化。 SimpleDateFormat使得可以选择任何用户定义(dngy)的日期-时间格式的模式。但是,仍然建议通过DateFormat中的getTimeInstance、getDateInstance或 getDateTimeInstance来新的创建日期-时间格式化程序。8.1.3 SimpleDateformat类类第八页,共三十页。下面程序代码展示了采用自定义格式来格式化当前(dngqin)的日期/时间:/ SimpleDateFormatDemo.javaimport java.text.SimpleDateFormat;import java.util.Date;public class SimpleDateFormatDemo public static void main(String args) Date now = new Date(); String s = 北京时间:yyyy年MM月dd日,E,HH:mm:ss; SimpleDateFormat f = new SimpleDateFormat(s); System.out.println(f.format(now);8.1.3 SimpleDateformat类类第九页,共三十页。Calendar是个抽象类,是系统时间的抽象表示。此类中定义了多个方法用于“特定瞬间”与日历(如 YEAR、MONTH、DAY_OF_MONTH、HOUR等)之间的转换,对日历字段进行操作。“特定瞬间”可用毫秒值来表示,它是距历元(即格林威治标准时间1970年1月1日的 00:00:00.000,格里高利历)的偏移量。Calendar提供了一个类方法 getInstance,以获得此类型的一个通用的对象,其日历字段已由当前日期和时间初始化。一个Calendar的实例是系统时间的抽象表示,从Calendar的实例可以(ky)知道年、月、日、星期、月份、时区等信息。Calendar类中有一个静态方法get(int x),通过这个方法可以(ky)获取到相关实例的一些值(年、月、日、星期、月份等)信息。参数x是一个产量值,在Calendar中有定义。8.1.4 Calender类类第十页,共三十页。使用Calendar时,要注意其中的陷阱:(1)Calendar的星期是从周日开始(kish)的,常量值为0。(2)Calendar的月份是从一月开始的,常量值为0。(3)Calendar的每个月的第一天值为1。 8.1.4 Calender类类第十一页,共三十页。 下面程序代码展示了Caleandar类的用法:/ CalendarDemo.javaimport java.util.Calendar;public class CalendarDemo public static void main(String args)/ 定义一个具体的日期(rq) 2012-05-31 17:02:20System.out.println(- 定义一个具体的日期 -); Calendar c = Calendar.getInstance(); c.set(2012, 4, 31, 17, 02, 20); / System.out.println(c.getTime(); / 获得这个日期的各个组成部分 System.out.println(- 获得日期的各个组成部分 -); System.out.println(年: + c.get(Calendar.YEAR); System.out.println(月: + (c.get(Calendar.MONTH) + 1);System.out.println(日: + c.get(Calendar.DAY_OF_MONTH); System.out.println(时: + c.get(Calendar.HOUR_OF_DAY); System.out.println(分: + c.get(Calendar.MINUTE); System.out.println(秒: + c.get(Calendar.SECOND); System.out.println(星期: + (c.get(Calendar.DAY_OF_WEEK) - 1); System.out.println(n); 8.1.4 Calender类类第十二页,共三十页。GregorianCalendar是Calendar的一个具体子类,提供了世界上大多数国家使用的标准日历系统,经常结合Calendar抽象类使用。下面程序代码展示了GregorianCalendar类的用法(yn f): import java.util.Calendar; import java.util.Date;import java.util.GregorianCalendar; public class GregorianCalendarDemo public static void main(String args) GregorianCalendar now1 = new GregorianCalendar(); GregorianCalendar now2 = new GregorianCalendar(2014, 10, 30, 15, 55, 44); /通过日期和毫秒数设置Calendar now1.setTime(new Date(); System.out.println(now1); now1.setTimeInMillis(new Date().getTime(); 8.1.5 GregorianCalender类类第十三页,共三十页。 System.out.println(now1); System.out.println(-通过Calendar获取相关信息(xnx)-); System.out.println(年: + now2.get(Calendar.YEAR); System.out.println(月: + now2.get(Calendar.MONTH); System.out.println(日: + now2.get(Calendar.DAY_OF_MONTH); System.out.println(时: + now2.get(Calendar.HOUR); System.out.println(分: + now2.get(Calendar.MINUTE); System.out.println(秒: + now2.get(Calendar.SECOND); System.out.println(上午、下午: + now2.get(Calendar.AM_PM); System.out.println(星期: + now2.get(Calendar.DAY_OF_WEEK); System.out.println(-通用星期中文化转换-); String dayOfWeek = , 日, 一, 二, 三, 四, 五, 六; System.out.println(now2是: + dayOfWeeknow2.get(Calendar.DAY_OF_WEEK); System.out.println(-通用月份中文化转换-); String months = 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月; System.out.println(now2是: + monthsnow2.get(Calendar.MONTH); 8.1.5 GregorianCalender类类第十四页,共三十页。8.2 格式化输出格式化输出(shch) 从Java SE5开始Java推出了类似于C语言中printf()风格的格式化输出,实现这一格式化输出的函数(hnsh)都被定义在PrintStream类中,下面的程序代码展示了这种用法:/ PrintfDemo.javapublic class PrintfDemo public static void main(String args) int a = 10;double b = 2.3;String s = HelloWorld;System.out.printf(a = %dn, a);System.out.printf(b = %fn, b);System.out.printf(s = %sn, s);System.out.printf(-n);System.out.format(a = %dn, a);System.out.format(b = %fn, b);System.out.format(s = %sn, s);/从上面的程序可以看出,从上面的程序可以看出,printf()与与format()的功能是相同的。的功能是相同的。8.2.1 printf()8.2.1 printf()和和format()format()第十五页,共三十页。8.2.2 String.format() 从Java SE5开始,String类中增加了关于(guny)字符串格式化输出的函数format(),此函数的返回类型为String,下面程序代码展示了format()函数的用法: / StringFormatDemo.java public class StringFormatDemo static void showAdd(int a,int b)String add = Integer.toString(a+b);String sum = String.format(%d + %d = %s,a,b,add);System.out.println(sum);public static void main(String args) int a =10,b=20;showAdd(a,b);第十六页,共三十页。8.2.3 Formatter类类在Java中,所有新的格式化功能(gngnng)都由Formatter来处理,此类提供了对布局对齐和排列的支持,以及对数值、字符串和日期/时间数据的常规格式和特定于语言环境的输出的支持。Formatter类有多个构造函数,详情请查阅JDK API文档。下面程序代码展示了Formatter类的用法:/ FormatterDemo.javaimport java.util.Formatter;public class FormatterDemo public static void main(String args) String s1 = 左上角坐标为:;String s2 = 右下角坐标为:;int x1 = 10,y1 = 10,x2 = 100,y2 = 100;Formatter f = new Formatter(System.out);f.format(%s(%d,%d)n, s1,x1,y1);f.format(%s(%d,%d), s2,x2,y2);第十七页,共三十页。8.3 Arrays类类 此类包含用来操作数组的各种方法,比如排序、搜索、复制、比较等。相关方法的用法请查阅JDK API文档。 其方法主要包括: 1.对整个数组进行排序:Arrays.sort(数组); 2.比较数组元素是否相等:Arrays.equals(数组1,数组2); 3.使用二分法查找(ch zho)数组中的元素,没有则返回负数: Arrays.binarySearch(数组, 要查找的值)第十八页,共三十页。8.4 Math类类 Math 类包含用于执行基本数学运算的方法(fngf),如初等指数、对数、平方根和三角函数,相关方法(fngf)的用法请查阅JDK API文档。 其主要方法有: 1.求绝对值:Math.abs(); 2.取整运算:向下取整Math.ceil(double) 向上取整Math.floor(double) 3. 取大值:Math.max(); 4.取随机数:Math.random();0,1)之间的随机值 5.取近似值第十九页,共三十页。8.5 System类类System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便(fngbin)的进行调用。下面代码中使用System类获取当前操作系统的名字和用户名:/ SystemDemo.javapublic class SystemDemo public static void main(String args) String osName = System.getProperty(os.name);String user = System.getProperty(user.name);System.out.println(当前操作系统是: + osName);System.out.println(当前用户是: + user);第二十页,共三十页。8.6 Random类类Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为(chn wi)种子数(seed),在种子数的基础上进行一定的变换,从而产生需要的随机数字。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。第二十一页,共三十页。8.6 Random类类Random类有两个构造方法:(1)Random():使用一个和当前系统(xtng)时间对应的相对时间有关的数字作为种子数,然后使用这个种子创建一个新的随机数生成器。(2)Random(long seed):使用单个long类型的种子创建一个新的随机数生成器。第二十二页,共三十页。8.7 Class类类类是程序的一部分,每个类都有一个Class类型的对象,用来保存这个类的信息。每当编写并编译了一个新类,就会产生一个Class类型的对象,实际上这个对象被保存在一个同名的.class文件中。所有的类都是在第一次使用时,被“类加载器”动态加载到JVM中。一个Java程序可能会包含多个类,只有用到的类才被动态加载。因此,Java程序在开始运行之前并没有被完全加载,其各个部分是在必须时才加载的。当遇到某个类时,类加载器首先检查这个类的Class对象是否已经加载,如果没有加载,它就会根据类名查找(ch zho).class文件,把.class装载到内存。一旦这个类的.class文件(里面包含这个类的Class对象)被加载到内存,它就被用来创建这个类的所有对象。第二十三页,共三十页。8.7 Class类类获得(hud)Class对象的方式有三种:(1)利用对象调用getClass()方法获取该对象的Class实例;(2)使用Class类的中静态forName()方法获得与字符串对应的Class对象。例如:Class c1=Class.forName(MyObject); MyObject必须是接口或者类的名字。(3)运用.class的方式来获取Class实例,对于基本数据类型的封装类,还可以采用.TYPE来获取相对应的基本数据类型的Class实例,例如:Class c2 = Manager.class;第二十四页,共三十页。8.7 Class类类有关(yugun)Class类中的常用方法,读者可以查阅JDK API文档。下面程序代码分别使用三种方法获得Class对象:/ ClassObject.javaclass MyClasspublic class ClassObject public static void main(String args) MyClass pt=new MyClass();Class c1=pt.getClass();System.out.println(方式一: + c1.getName();tryClass c2=Class.forName(ch5.MyClass);System.out.println(方式二: + c2.getName();catch(ClassNotFoundException e)e.printStackTrace();第二十五页,共三十页。8.7 Class类类Class c3=MyClass.class;System.out.println(方式(fngsh)三: + c3.getName();Class c4=int.class;System.out.println(基本数据类型: + c4.getName();Class c5=Integer.TYPE;System.out.println(包装类: + c5.getName();Class c6=Integer.class;System.out.println(包装类: + c6.getName();第二十六页,共三十页。8.8 本讲小结本讲小结(xioji)本讲主要讲述了Java中的一些常用类,包括(boku)日期和时间类、数组工具类、数学类、系统类、随机数类等。第二十七页,共三十页。讲后练习讲后练习(linx)1、从键盘输入任意两个日期,两个日期之间使用回车换行,输出这两个日期之间相差的天数,输入日期的格式为:年/月/日。(如:输入:2013/12/01 2013/12/05 输出:相差4天)2、使用Math.random()生成任一整数,使其属于(shy)区间10,120)。并总结出在任意区间a,b中生成一整数的公式。3、使用Random类生成任一整数,使其属于区间10,120。4、编写程序:使用蒙地卡罗方法估算值。第二十八页,共三十页。讲后练习讲后练习(linx)关于蒙地卡罗的说明:蒙地卡罗为摩洛哥王国之首都,该国位于法国与义大利国境,以赌博闻名。蒙地卡罗的基本原理为以乱数配合面积公式来进行解题,这种以机率来解题的方式带有赌博的意味,虽然在精确度上有所疑虑,但其解题的思考方向却是个值得学习的方式。解法:蒙地卡罗的解法适用于与面积有关的题目,例如求PI值或椭圆面积,这边介绍如何求PI值;假设有一个圆半径为1,所以四分之一圆面积就为PI/4,而包括此四分之一圆的正方形面积就为1,如下图所示: 如果随意的在正方形中投射飞标(点),则这些飞标(点)有些会落于四分之一圆内,有些会落在圆外。假设所投射的飞标(点)有n点,在圆内的飞标(点)有c点,则依比例来算,就会得到上图中最后的公式。至于(zhy)如何判断所产生的点落于圆内,很简单,令乱数产生X与Y两个数值,如果X2+Y2等于1就是落在圆内。第二十九页,共三十页。内容(nirng)总结第8讲 系统(xtng)常用类(二)。String dayOfWeek = , 日, 一, 二, 三, 四, 五, 六。String months = 一月, 二月, 三月, 四月, 五月, 六月, 七月, 八月, 九月, 十月, 十一月, 十二月。System.out.format(s = %sn, s)第三十页,共三十页。

    注意事项

    本文(最新Java实用教程第8讲系统常用类(一)(共30张PPT课件).pptx)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开