java中常用类

上传人:夏** 文档编号:585618471 上传时间:2024-09-02 格式:PPT 页数:29 大小:148.50KB
返回 下载 相关 举报
java中常用类_第1页
第1页 / 共29页
java中常用类_第2页
第2页 / 共29页
java中常用类_第3页
第3页 / 共29页
java中常用类_第4页
第4页 / 共29页
java中常用类_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《java中常用类》由会员分享,可在线阅读,更多相关《java中常用类(29页珍藏版)》请在金锄头文库上搜索。

1、基本数据类型的包装类nJava的基本数据包括byte、int、short、long、float、double、char,Java同时也提供了基本数据类型相关的类,Java语言用包装类来把基本类型数据转换为对象。每个Java基本类型在java.lang包中都有一个相应的包装类,参见表5-2。1表5.2 基本类型与包装类的对应基本类型对应的包装类booleanBooleanbyteBytecharCharactershortShortintIntegerlongLongfloatFloatdoubleDouble2 Double类和Float类nDouble类和Float类实现了对double和f

2、loat基本型数据的类包装。nDouble 类在对象中包装了一个基本类型 double 的值。每个 Double 类型的对象都包含一个 double 类型的字段。 nDouble类的构造方法:nDouble(double num)n构造一个新分配的 Double 对象,它表示基本的 double 参数。此外,该类还提供了多个方法,可以将 double 转换为 String,将 String 转换为 double,还提供了其他一些处理 double 时有用的常量和方法。3nFloat 类在对象中包装了一个 float 基本类型的值。Float 类型的对象包含一个 float 类型的字段。 nFl

3、oat类的构造方法:nFloat(double value)n构造一个新分配的 Float 对象,它表示转换为 float 类型的参数。此外,此类提供了几种方法,可在 float 类型和 String 类型之间互相转换,并且还提供了处理 float 类型时非常有用的其他一些常量和方法。4Byte、Integer、Short、Long类nByte 类将基本类型 byte 的值包装在一个对象中。nByte 类的构造方法:nByte(byte value) n构造一个新分配的 Byte 对象,以表示指定的 byte 值。一个 Byte 类型的对象只包含一个类型为 byte 的字段。 此外,该类还为

4、byte 和 String 的相互转换提供了几种方法,并提供了处理 byte 时非常有用的其他一些常量和方法。5nInteger 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。 nInteger类的构造方法:nInteger(int value) n构造一个新分配的 Integer 对象,它表示指定的 int 值。此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。 6nShort 类在对象中包装基本类型 short 的值。一个 Short 类型的对象只包

5、含一个 short 类型的字段。 nShort类的构造方法:nShort(short value) n构造一个新分配的 Short 对象,用来表示指定的 short 值。另外,该类提供了多个方法,可以将 short 转换为 String,将 String 转换为 short,同时还提供了其他一些处理 short 时有用的常量和方法。 7nLong 类在对象中封装了基本类型 long 的值。每个 Long 类型的对象都包含一个 long 类型的字段。 nLong类的构造方法:nLong(long value) n构造新分配的 Long 对象,表示指定的 long 参数。此外,该类提供了多个方法,

6、可以将 long 转换为 String,将 String 转换为 long,除此之外,还提供了其他一些处理 long 时有用的常量和方法。8Character类nCharacter 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。 nCharacter 类的构造方法:nCharacter(char value) n构造一个新分配的 Character 对象,用以表示指定的 char 值。Character类还提供了几种方法,这些方法可以直接通过类名调用,用来确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。9

7、一个字符数组大小写转换的例子。npublic class ep5_7 npublic static void main(String args) nchar a = a, b, c, D, E, F ;nfor (int i = 0; i a.length; i+) nif (Character.isLowerCase(ai) nai = Character.toUpperCase(ai);n else if (Character.isUpperCase(ai) nai = Character.toLowerCase(ai);nnnfor (int i = 0; i a.length; i+)

8、 nSystem.out.print( + ai);nnn10 Date与Calendar类nJava语言提供了以下2个类来处理日期。njava.util.Date:包装了一个long类型数据,表示与GMT(格林威治标准时间)的1970年1月1日00:00:00这一刻所相距的毫秒数。njava.util.Calendar:可以灵活地设置或读取日期中的年、月、日、时、分和秒等信息。11 Date类njava.util包中的Date类表示特定的时间,精确到毫秒。n使用Date类的无参数构造方法Date()创建的对象可以获取本地当前时间。nDate() n分配Date对象并初始化此对象,以表示分配它

9、的时间(精确到毫秒)。12n在类Date所有可以接受或返回年、月、日期、小时、分钟和秒值的方法中,将使用下面的表示形式:n年份 y 由整数 y - 1900 表示。n月份由从 0 至 11 的整数表示;0 是一月、1 是二月等等;因此 11 是十二月。 n日期(一月中的某天)按通常方式由整数 1 至 31 表示。13n小时由从 0 至 23 的整数表示。因此,从午夜到 1 a.m. 的时间是 0 点,从中午到 1 p.m. 的时间是 12 点。n分钟按通常方式由 0 至 59 的整数表示。n秒由 0 至 61 的整数表示;值 60 和 61 只对闰秒发生,尽管那样,也只用在实际正确跟踪闰秒的

10、Java 实现中。于按当前引入闰秒的方式,两个闰秒在同一分钟内发生是极不可能的,但此规范遵循 ISO C 的日期和时间约定。14时间的格式化DataFormat这时可以使用DataFormat 的子类SimpleDateFormat 来实现时期的格式化.SimpleDateFormat有一个常用构造方法public SimpleDateFormat(String pattern).该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用format(Data date)方法格式化时间对象date.15需要注意的是,pattern中应当含有一些有效的字符序列.例如y或yy 表示用2位

11、数字输出年份 yyyy表示用4为数字输出年份.M 或MM 表示用2 为数字或文本输出月份,如果想用汉字输出月份,pattern 中应连续包含至少3个M,如 MMM.d 或dd 表示用2为数字输出日.H或HH 表示用两位数字输出小时.m或mm 表示用两位数字输出分.s或ss 表示用两位数字输出秒.E 表示用字符串输出星期.16在下面的例子中,用三种格式输出时间。nimport java.util.Date;nimport java.text.SimpleDateFormat;nclass ep5_13 npublic static void main(String args) nDate now

12、Time = new Date();nSystem.out.println(nowTime);nSimpleDateFormat matter1 = new SimpleDateFormat(n time:yyyy年MM月dd日E 北京时间);nSystem.out.println(matter1.format(nowTime);nSimpleDateFormat matter2 = new SimpleDateFormat(n北京时间:yyyy年MM月dd日HH时mm分ss秒);nSystem.out.println(matter2.format(nowTime);nDate date1 =

13、 new Date(1000), date2 = new Date(-1000);nSystem.out.println(matter2.format(date1);nSystem.out.println(matter2.format(date2);nSystem.out.println(new Date(System.currentTimeMillis();nn17 Calendar类njava.util.Calendar类是一个抽象类。它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日

14、期)提供了一些方法。n抽象类不能采用new实例化,但我们可以使用Calendar类的static方法getInstance()初始化一个日历对象,如:nCalendar calendar = Calendar.getInstance();18nset()和get()方法可用来设置和读取日期的特定部分,比如年、月、日、时、分和秒等。上面的calendar对象可以调用方法:npublic final void set(int year, int month, int date); npublic final void set(int year, int month, int date, int h

15、ourOfDay, int minute); npublic final void set(int year, int month, int date, int hourOfDay, int minute, int second); 19n将日历翻到任何一个时间,参数year取负数时表示公元前。ncalendar对象调用方法:npublic int get(int field); 可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如:ncalendar.get(Calendar.MONTH); 返回一个整数,如果该整数是0表示当前日历是在一月,

16、该整数是1表示当前日历是在二月等。20ncalendar对象调用方法:npublic long getTimeInMillis(); 返回此calendar 的时间值,以毫秒为单位。21Calendar类实例22Math与Random类njava.lang包中的Math 类也称数学类,是一个工具类,它在解决与数学有关的一些问题是有着非常重要的作用。Math 类包含许多用来进行科学计算的类方法,涉及大多数学函数,如sin、cos、exp、abs(绝对值)等,这些方法可以直接通过类名调用。Math类还提供了Math.PI和Math.E两个静态数学常量:E和PI。它们的值分别为2.70452354和

17、3.149323846,该类是final的,不能被继承,类中的方法和属性全部是静态,不允许在类的外部创建Math类的对象。因此,只能使用Math类的方法而不能对其作任何更改。 23 Math类n表5-3 Math类的主要方法 方法方法说明int abs(int i)求整数的绝对值(另有针对long、float、double的方法)double ceil(double d)不小于d的最小整数(返回值为double型)double floor(double d)不大于d的最大整数(返回值为double型)int max(int i1,int i2)求两个整数中最大数(另有针对long、float、

18、double的方法)int min(int i1,int i2)求两个整数中最小数(另有针对long、float、double的方法)double random()产生01之间的随机数doubleint round(float f)求最靠近f的整数long round(double d)求最靠近d的长整数double sqrt(double a)求平方根double sin(double d)求d的sin值(另有求其他三角函数的方法如cos,tan,atan)double log(double x)求自然对数double exp(double x)求e的x次幂(ex)double pow(do

19、uble a, double b)求a的b次幂24n使用这些方法时,用法为Math.* (*为方法名)。用法如:q int a=Math.abs(124);q int b=Math.floor(-5.2);q double s=Math.sqrt(7);25Math类主要方法的举例。 nclass ep5_15 npublic static void main(String args) nSystem.out.println(Pi= + Math.PI);nSystem.out.println(E= + Math.E);nSystem.out.println(abs(-6.8)= + Math

20、.abs(-6.8);nSystem.out.println(ceil(6.8)= + Math.ceil(6.8);nSystem.out.println(floor(8.6)= + Math.floor(8.6);nSystem.out.println(max(-5,-6)= + Math.max(-5, -6);nSystem.out.println(min(5,6)= + Math.min(5, 6);nSystem.out.println(round(8.6)= + Math.round(8.6);nSystem.out.println(sqrt(16)= + Math.sqrt(1

21、6);nSystem.out.println(exp(1)= + Math.exp(1);nSystem.out.println(log(e)= + Math.log(Math.E);nSystem.out.println(pow(2,3)= + Math.pow(2, 3);nSystem.out.println(sin(30degree)= + Math.sin(Math.toRadians(30);nSystem.out.println(atan(90degree)= + Math.atan(Math.PI / 2);nn26Random类njava.util包中的Random类,此类的

22、实例用于生成伪随机数流。Random 类所实现的算法使用一个protected实用工具方法,每次调用它都可提供最多 32 个伪随机生成的位。 n构造方法: Random(); 创建一个新的随机数生成器。27Random类的一个应用例子。nimport java.util.Random;nclass RandInt nprivate Random r = null;npublic RandInt() nr = new Random();nnpublic int getint() nreturn r.nextInt();nnnclass RandDouble nprivate Random r =

23、 null;npublic RandDouble() nr = new Random();nnpublic double getDouble() nreturn r.nextDouble();nn28npublic class ep5_17 npublic static void main(String s) nRandInt rInt = new RandInt();nSystem.out.println(产生3个随机生成的整型数字);nfor (int i = 0; i 3; i+) nSystem.out.println(rInt.getint() + );nnRandDouble rDouble = new RandDouble();nSystem.out.println(产生3个随机生成的Double类型数字);nfor (int i = 0; i 3; i+) nSystem.out.println(rDouble.getDouble() + );nnn29

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号