一.包装类:
1.Integer类:java.lang 包中的 Integer 类、Byte 类、Short 类和 Long 类,分别将基本数据类型 int、byte、short和long 封装成一个类,由于这些类都是 Number 类的子类,区别就是封装不同的数据类型,其包含的方法基本相同,所以本节以Integer 类为例讲解整数包装类。
Integer 类在对象中包装了一个基本数据类型 int 的值,该类的对象包含一个int类型的字段。此外该类提供了多个方法,能在 imt 类型和 String 类型之间互相转换,同时还提供了其他一些处理 int类型时非常有用的常量和方法。
例题11.1Integer类的常用方法:
例题1.2查看Integer类的常量值:
2.Double类:java.lang 包中的 Integer 类、Byte 类、Short 类和 Long 类,分别将基本数据类型 int、byte、short和long 封装成一个类,由于这些类都是 Number 类的子类,区别就是封装不同的数据类型,其包含的方法基本相同,所以本节以Integer 类为例讲解整数包装类。
Integer 类在对象中包装了一个基本数据类型 int 的值,该类的对象包含一个int类型的字段。此外该类提供了多个方法,能在 imt 类型和 String 类型之间互相转换,同时还提供了其他一些处理 int类型时非常有用的常量和方法。
例题11.3:Double类的常用方法:
3.Boolean类: Boolean类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean类型的对象只包含一个类型为boolean 的字段。此外,此类还为 boolean类型和 String类型的相互转换提供了许多方法,并提供了处理 boolean类型时非常有用的其他一些常量和方法。
11.4Boolean类的常用方法:
4.Character类:Character 类在对象中包装一个基本类型为 char 的值,该类提供了多种方法,以确定字符的类别(小写字母、数字等),并可以很方便地将字符从大写转换成小写,反之亦然。Character 类提供了很多方来完成对字符的操作.
例题11.5Character类的常用方法:
5.Number类: 前面介绍了 Java 中的包装类,对于数值型的包装类,它们有一个共同的父类一Number 类,该类是一个抽象类,它是 Byte、Integer、Short、Long、Float 和 Double 类的父类,其子类必须提供将表示的数值转换为 byte、int、short、long、flat 和 double 的方法。例如,doubleValue()方法返回双精度浮点值,floatValue0方法返回单精度浮点值.
二. 数字处理
1.数字格式化:数字格式化在解决实际问题时应用非常普遍,如表示某超市的商品价格,需要保留两位有效数字.数字格式化操作主要针对的是浮点型数据,包括 double 型和 flat 型数据。在 Java 中使用 java.text.DecimalFormat 格式化数字. 如果数据绝对值大于0.001 并且小于 10000000,使以常规小数形式表示. 如果数据绝对值小于0.001 或者大于 10000000,使用科学记数法表示。 由于上述输出格式不能满足解决实际问题的要求,通常将结果格式化为指定形式后输出。在 Java中,可以使用DecimalFormat 类进行格式化操作。 例题11.6
2.Math类:提供了众多数学函数方法,主要包括三角函数方法,指数函数方法,取整函数方法,取最大值、最小值,以及平均值函数方法。这些方法都被定义为 statie 形式.
2.1三角函数方法:
public static double sin(double a): 返回角的三角正弦
public static double cos(double a):返回角的三角余弦
public static double tan(double a): 返回角的三角正切。
public static double asin(double a):返回一个值的反正弦亿
public static double acos(double a): 返回一个值的反余弦<
public static double atan(double a): 返回一个值的反正切。
public static double toRadians(double angdeg): 将角度转换为弧度public static double toDegrees(double angrad): 将狐度转换为角度。
例题11.7
2.2指数函数方法:
public static double exp(double a):用于获取e的a次方, public static double log(double a):用于取自然对数,即取Ina的值 public static double log10(doublea):用于取底数为10的a的对数
public static double sqrt(double a):用于取a的平方根,其中a 的值不能为负值。
public static double cbrt(double a):用于取a的立方根。 public static double pow(double adouble b): 用于取a的b次方。
例题11.8
2.3取整函数方法: publie static double ceil(double a): 返回大于等于参数的最小整数。 public static double floor(double a): 返回小于等于参数的最大整数 public static double rint(double a): 返回与参数最接近的整数,如果存在两个同样接近的整数
则结果取偶数。
publicstaticintround(floata):将参数加上0.5后返回与参数最近的整数。 public staticlonground(doublea):将参数加上0.5后返回与参数最近的整数,然后强制转换为口长整型。
例题11.9
2.4取最大值,最小值,绝对值函数方法:
public static double max(double adouble b): 取a与b之间的最大值。
public static int min(int a,int b): 取a与b之间的最小值,参数为整型。
public static long min(long a,long b): 取a与b之间的最小值,参数为长整型。 public static float min(float a,float b): 取a与b之间的最小值,参数为单精度浮点型 public static double min(double adouble b): 取a与b之间的最小值,参数为双精度浮点型 public static int abs(int a): 返回整型参数的绝对值。
public static long abs(long a): 返回长整型参数的绝对值。
public static float abs(float a): 返回单精度浮点型参数的绝对值
public static double abs(double a):返回双精度浮点型参数的绝对值。
例题11.10
3.Random: r:Random类对象
seedValue:随机数生成器的种子。 在 Random类中,提供了获取各种数据类型随机数的方法,下面列举几个常用的方法:public int nextInt0:返回一个随机整数。
publicintnextInt(intn):返回大于等于0且小于n的随机整数
public long nextLong0:返回一个随机长整型值。
public boolean nextBoolean0: 返回一个随机布尔型值。
public float nextFloat0: 返回一个随机单精度浮点型值。
public double nextDouble0: 返回一个随机双精度浮点型值。
public double nextGaussian0:返回一个概率密度为高斯分布的双精度浮点型值。
例题11.11
4.BigInteger:
public BigInteger add(BigInteger val): 做加法运算。
public BigInteger subtract(BigInteger val): 做减法运算。 public BigInteger multiply(BigInteger val): 做乘法运算 public BigInteger divide(BigInteger val): 做除法算。 public BigInteger] divideAndRemainder(BigInteger va):用数组返回余数和商,结果数组中 public BigInteger remainder(BigInteger val): 做取余操作。 public BigInteger pow(int exponent): 进行取参数的exponent 次方操作。一个值为商,第二个值为余数。
public BigInteger shifLef(intn):将数字左移n位,如果n为负数,做右移操作。 public BigIntegernegate0:取相反数。 public BigIntegershitRight(intn):将数字右移n位,如果n为负数,做左移操作。 public BigInteger and(BigInteger val): 做与操作。 public BigInteger or(BigInteger val): 做或操作。 publicint compareTo(BigInteger val):做数字比较操作。 public boolean equals(Object x): 当参数是 BigInteger 类型的数字并且数值与对象实例的数值相等时,返回true.
public BigInteger min(BigInteger val): 返回较小的数值。 public BigInteger max(BigInteger val):返回较大的数值。
例题11.12
5.BigDecimal:BigDecimal 类和 Biglnteger 类都能实现大数字的运算,不同的是 BigDecimal 类入了小数的概念的 float 型和 double型数据只可以用来做科学计算成工程计算,但由于在商业计算中要求数字精度H较高,所以要用到 BigDecimal 类
例题11.13
课堂习题:
三.System类
1.控制输出字符:不会自动换行的print()方法:System.out.print("hello!"); 可以自动换行的println()方法:System.out.println("书籍是人类进步的阶梯!");
2.计时:System.currentTimeMillis0方法可以获取自1970年1月1日零点至今的毫秒数.
四.Scanner:
五.日期时间类:
1.Date类:Date 类用于表示日期时间,使用该类表示时间需要使用其构造方法创建对象,其构造方法及其说明如表11.14所示。
例题11.16
2.日期时间格式化:
如果在程序中直接输出Date对象,显示的是“Mon Feb 29 17:39:50CST2016”这种格式的日期时间,那么应该如何将其显示为“2016-02-29”或者“17:39:50”这样的日期时间格式呢?Java中提供了DateFormat类来实现类似的功能。 DateFormat 类是日期时间格式化子类的抽象类,可以按照指定的格式对日期或时间进行格式化。DateFormat 类提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期时间Formatter,格式化风格主要包括SHORT、MEDIUM、LONG和FULL4种:
SHORT:完全为数字,如12.13.52或3:30pm。 另外,使用DateFormat类还可以自定义日期时间的格式。要格式化一个当前语言环境下的日期,首先需要创建DateFormat类的一个对象,由于它是抽象类,因此可以使用其静态方法getDatelnstance(进行创建,语法如下:DateFormat df = DateFormatgetDatelnstance();
例题11.17
3.Calendar类:
打开JavaAPI文档可以看到java.util.Date类提供的大部分方法都已经过时了,因为 Date类在设计之初没有考虑到国际化,而且很多方法也不能满足用户需求,比如需要获取指定时间的年月日时分秒信息,或者想要对日期时间进行加减运算等复杂的操作,Date 类已经不能胜,因此JDK 提供了新的时间处理类--Calendar 日历类。
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY OF MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(如获得下星期的日期)提供了一些方法。另外,该类还为实现包范围外的具体日历系统提供了其他字段和方法,这些字段和方法被定义为 protected.Calendar 提供了一个类方法 getInstance0,以获得此类型的一个通用的对象。Calendar 类的getInstance0方法返回一个 Calendar对象,其日历字段已由当前日期和时间初始化,其使用方法如下:Calendar rightNow = Calendar.getlnstance();
例题11.18
课堂习题:
6.Runtime类:
6.1执行本地命令: Runtime 类提供 exe0方法让 Java 代码可以执行系统的命令,exec0方法有很多重的形式.
6.2查看内存: Runtime 类可以通过 freeMemory0方法查看当前Java虚拟机可用内存的剩余量。如果程序能够实时监控内存剩余量,就可以尽量控制程序对内存的占用,从而避免出现“内存溢出”的情况。同样,也可以用来对测试程序性能,检验程序算法是否导致内存紧张。