第十一章总结

一.包装类

1.integer类

java.lang 包中的 Integer 类、Byte 类、Short 类和 Long 类,分别将基本数据类型 int、byte、sho和 long 封装成一个类,由于这些类都是 Number 类的子类,区别就是封装不同的数据类型,其包含方法基本相同,所以本节以Integer 类为例讲解整数包装类。

Integer 类在对象中包装了一个基本数据类型 int 的值,该类的对象包含一个 int 类型的字段。此外
该类提供了多个方法,能在 int类型和 String 类型之间互相转换,同时还提供了其他一些处理 int类时非常有用的常量和方法。

1.Integer类的常用方法:

2.查看Integer类的常量值:

2.Double类

Double类和Float类是对double、float基本类型的封装,它们都是Number类的子类,都是对浮数进行操作,所以常用方法基本相同。

Double类在对象中包装一个基本类型为double 的值,每个Double类的对象都包含一个double类的字。此外,该类还提供多个方法,可以将 double类型转换为String 类型,将 String 类型转换为double类量。也提供了其他一些处理double类型时有用的常量和方法。

3.Double类的常用方法:

3.Boolean类

Bcolean类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean类型的对象只包含一个类型为boolean 的字段。此外,此类还为 boolean 类型和 String类型的相互转换提供了许多方法,并提供了处理boolean类型时非常有用的其他一些常量和方法。

4.Boolean类的常用方法:

4.Character类

Character 类在对象中包装一个基本类型为 char 的值,该类提供了多种方法,以确定字符的类别(小写字母、数字等),并可以很方便地将字符从大写转换成小写,反之亦然。Character 类提供了很多方法来完成对字符的操作。

5.Character类常用方法:

5.Number类

前面介绍了 Java 中的包装类,对于数值型的包装类,它们有一个共同的父类----Number 类,该类是一个抽象类,它是 Byte、Integer、Short、Long、Float 和 Double 类的父类,其子类必须提供将表示的数值转换为 byte、int、short、long、float 和 double 的方法。例如,doubleValue()方法返回双精度点值,floatValue()方法返回单精度浮点值

二.数字处理

1.数字格式化

数字格式化在解决实际问题时应用非常普遍,如表示某超市的商品价格,需要保留两位有效数字.数字格式化操作主要针对的是浮点型数据,包括 double 型 float 型数据。在 Java 中使用java.text.DecimalFormat 格式化数字

在 Java 中,没有格式化的数据遵循以下原则:

如果数据绝对值大于 0.001 并且小于 10000000,使以常规小数形式表示。

如果数据绝对值小于 0.001 或者大于 10000000,使用科学记数法表示。

由于上述输出格式不能满足解决实际问题的要求,通常将结果格式化为指定形式后输出。在 Java
中,可以使用 DecimalFormat 类进行格式化操作。DecimalFormat 类是 NumberFormat 的一个子类,用于格式化十进制数字。它可以将一些数字格式化为整数、浮点数、百分数等。通过使用该类可以为要输出的数字加上单位或控制数字的精度。一般情况下,可以在实例化 DecimalFormat 对象时传递数字格式,也可以通过 DecimalFormat 类中的applyPattern()方法来实现数字格式化。当格式化数字时,可在 DecimalFormat 类中使用一些特殊字符构成一个格式化模板,使数字按照一定的特殊字符规则进行匹配。

6.DecimalFormat类的常用方法:

2.Math类

Math 类提供了众多数学函数方法,主要包括三角函数方法,指数函数方法,取整函数方法,取最大值、最小值,以及平均值函数方法。这些方法都被定义为 static 形式,所以在程序中应用比较简便.可以使用如下形式调用:

Math.数学方法

在 Math 类中,除函数方法外还存在一些常用数学常量,如PI、E等。这些数学常量作为 Math 类的成员变量出现,调用起来也很简单。可以使用如下形式调用:

Math.PI

Math.E

Math 类中的常用数学运算方法较多,大致可以将其分为四大类别,分别为三角函数方法,指数函数方法,取整函数方法,以及取最大值、最小值和绝对值函数方法。

 三角函数方法

Math 类中包含的三角函数方法如下:

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): 将弧度转换为角度

以上每个方法的参数和返回值都是 double 型的。将这些方法的参数的值设置为 double 型是有一定道理的,参数以弧度代替角度来实现,其中 1°等于 /180 弧度,所以 180°可以使用弧度来表示。除了可以获取角的正弦、余弦、正切、反正弦、反余弦、反正切,Math 类还提供了角度和弧度相互转换的方法 toRadians0和 toDegrees()。但需要注意的是,角度与弧度的转换通常是不精确的

7.在Java代码中进行三角函数运算:

指数函数方法

Math 类中与指数相关的函数方法如下:

public static double exp(double a): 用于获取e的a 次方,即取e的a次方。

public static double log(double a): 用于取自然对数,即取 Ina 的值

public static double log10(double a): 用于取底数为 10的a 的对数

public static double sqrt(double a): 用于取a 的平方根,其中 a 的值不能为负值。

public static double cbrt(double a): 用于取a的立方根。

public static double pow(double a,double b): 用于取a的b 次方

8..在Java代码中进行指数函数运算:

取整函数方法

在具体的问题中,取整操作使用也很普遍,所以 Java 在 Math 类中添加了数字取整方法。Math类中主要包括以下几种取整方法:

public static double ceil(double a): 返回大于等于参数的最小整数。

public static double floor(double a): 返回小于等于参数的最大整数

public static double rint(double a): 返回与参数最接近的整数,如果存在两个同样接近的整数则结果取偶数。

public static intround(floata):将参数加上0.5后返回与参数最近的整数

public static long round(double a): 将参数加上0.5后返回与参数最近的整数,然后强制转换为长整型。

9.各场景下取整函数的运算结果:

取最大值,最小值,绝对值函数方法

在程序中最常用的方法就是取最大值、最小值、绝对值等,Mat 类中包括的操作方法如下:

public static double max(double a.double 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 a,double 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): 返回双精度浮点型参数的绝对值。

10.取最大值,最小值,绝对值的方法:

3.Random类

Random 类是 JDK 中的随机数生成器类,可以通过实例化一个 Random 对象创建一个随机数生成器,语法如下:

Random r = new Random();

以这种方式实例化对象时,Java 编译器将以系统当前时间作为随机数生成器的种子。因为每时每刻的时间不可能相同,所以产生的随机数不同。但是如果运行速度太快,也会产生两个运行结果相同的随机数。

用户也可以在实例化 Random 类对象时,设置随机数生成器的种子。语法如下:

Random r = new Random(seedValue);


在 Random 类中,提供了获取各种数据类型随机数的方法,下面列举几个常用的方法:

public int nextInt(): 返回一个随机整数。

public int nextInt(int n): 返回大于等于0且小于的随机整数

public long nextLong(): 返回一个随机长整型值。

public boolean nextBoolean(): 返回一个随机布尔型值

public float nextFloat(): 返回一个随机单精度浮点型值。

public double nextDouble(): 返回一个随机双精度浮点型值。

public double nextGaussian(): 返回一个概率密度为高斯分布的双精度浮点型值。

11.获取不同取值范围,不同类型的随机数:

4.BigInteger类

BigInteger 类的数字范围较 Integer 类的数字范围要大得多。前文介过 Integer 类是 int 的包装类int 的最大值为 2的31次方-1,如果要计算更大的数字,使用 Interer 类就无法实现了,所以 Java 中提供了BigInteger 类来处理更大的数字。Biglnteger 类支持任意精度的整数,也就是说,在运算中 Bigintege类可以准确地表示任何大小的整数值而不会丢失信息。在 BigInteger 类中封装了多种操作,除了基本的加、减、乘、除操作,还提供了绝对值、相反数最大公约数以及判断是否为质数等操作。

使用 BigInteger 类,可以实例化一个 BigInteger 对象,并自动调用相应的构造函数。BigInteger类具有很多构造函数,但最直接的一种方式是参数以字符串形式代表要处理的数字。例如,将 2 转换为 BigInteger 类型,可以使用以下语句进行初始化操作:

Biglnteger twolnstance = new Biglnteger("2");

一旦创建了对象实例,就可以调用 BigInteger 类中的一些方法进行运算操作,包括基本的数学运算和位运算以及一些取相反数、取绝对值等操作。下面列举了 BigInteger 类中常用的几种运算方法:

public BigInteger add(BigInteger val): 做加法运算。

public BigInteger subtract(BigInteger val): 做减法运算

public BigInteger multiply(BigInteger val): 做乘法运算

public BigInteger divide(BigInteger val): 做除法运算。

public BigInteger remainder(BigInteger val): 做取余操作

public BigInteger[] divideAndRemainder(BigInteger val): 用数组返回余数和商,结果数组中第
一个值为商,第二个值为余数。

public BigInteger pow(int exponent): 进行取参数的exponent 次方操作。

public BigInteger shiftLeft(int n): 将数字左移n位,如果 n 为负数,做右移操作

public BigInteger shifRight(intn):将数字右移位,如果n 为负数,做左移操作

public BigInteger negate(): 取相反数。

public BigInteger and(BigInteger val): 做与操作。

public BigInteger or(BigInteger val): 做或操作。

public int compareTo(BigInteger val): 做数字比较操作

public boolean equals(Object x): 当参数是 BigInteger 类型的数字并且数值与对象实例的数值
相等时,返回 true。

public BigInteger min(BigInteger val): 返回较小的数值。

public BigInteger max(BigInteger val): 返回较大的数值

12. 使用BigInteger类进行数学运算:

5.BigDecimal

BigDecimal类和 BigInteger 类都能实现大数字的运算,不同的是 BigDecimal 类加入了小数的概念般的 float 型和 double 型数据只可以用来做科学计算或工程计算,但由于在商业计算中要求数字精度比较高,所以要用到 BigDecimal类。BigDecimal 类支持任何精度的定点数,可以用它来精确计算货币值。在 BigDecimal类中

 BigDecimal 类型的数字可以用来做超大的浮点数的运算,如加、减、乘、除等,但是在所有的运算中除法是最复杂的,因为在除不尽的情况下商小数点后的末位的处理是需要考虑的

 在上述方法中,BigDecimal 类中 divide()方法有多种设置,用于返回商小数点后的末位的处理

13.使用BigDecimal类进行数学运算:

 

三.System类

System类是 JDK 中提供的系统类,该类是用 final 修饰的,所以不允许被继承。System 类提供乘多系统层面的操作方法,并且这些方法全部都是静态的。

 

1.控制台输出字符

System 类提供了标准输入、标准输出和错误输出流,也就是说,System 类提供了3 个静态对象:in、out 和err。

不会自动换行的 print()方法

 print()方法的语法如下:

System.out.print("Hello!");

可以自动换行的 println()方法

语法如下:

System.out.printin(书籍是人类进步的阶梯!");

2.计时

System.currentTimeMillis()方法可以获取自 1970年1月1日零点至今的毫秒数。虽然 Date 日期类也有类似的方法,但代码会比 System 类多,所以 System.currentTimeMillis()方法是为获取当前毫秒费最常用的方法。因为该方法的返回值精确到毫秒,所以可以利用该方法来记录程序的运行时间。

14.查看执行一万次字符串拼接所消耗的时间:

四.Scanner类

与 C 语言不同,Java 从控制台中读出用户输入的值,用到的不是一行可以直接使用的代码,而是由一个叫 Scanner 的类来实现的。Scanner 英文直译就是扫描仪,它的用途就和现实生活的扫描仪一样,可以把数字化信息流转为人类可识别的文字。控制台输出内容用到了 System.out 就表示向控制台输出System.in 就表示从控制台输入,让 Scanner 扫描System.in 就可以获取用户输入的值了。

使用 Scanner类首先要引入该类,其语法如下:

import java.util.Scanner;

 

15.猜数字游戏:

五.日期时间类

1.Date类

Date 类用于表示日期时间,使用该类表示时间需要使用其构造方法创建对象

 

 

16.获取当前的日期和时间:

2.日期时间格式化

DateFormat 类是日期时间格式化子类的抽象类,可以按照指定的格式对日期或时间进行格式化DateFormmat 类提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期时间Formatter,格式化风格主要包括 SHORT、MEDIUM、LONG和FULL4种:
SHORT:完全为数字,如12.13.52或3:30pm。

MEDIUM:较长,如 Jan 12.1952。

LONG:更长,如January 12,1952或3:30:32pme

FULL:完全指定,如 Tuesday、April 12、1952AD或3:30:42pm PST。

另外,使用 DateFormat 类还可以自定义日期时间的格式。要格式化一个当前语言环境下的日期,首先需要创建 DateFormat 类的一个对象,由于它是抽象类,因此可以使用其静态方法getDatelnstance()进行创建,语法如下:

DateFormat df = DateFormat.getDatelnstance();

SimpleDateFormat 类提供了 19 个格式化字符,可以让开发者随意编写日期格式 

  

 

17.以中文形式打印当前的日期和时间:

3.Calendar类

打开 Java API 文档可以看到java.util.Date 类提供的大部分方法都已经过时了,因为 Date 类在设计之初没有考虑到国际化,而且很多方法也不能满足用户需求,比如需要获取指定时间的年月日时分秒信息,或者想要对日期时间进行加减运算等复杂的操作,Date 类已经不能胜任,因此JDK 提供了新的时间处理类——Calendar 日历类。
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR等日历字段之间的转换提供了一些方法,并为操作日历字段(如获得下星期的日期)提供了一些方法。另外,该类还为实现包范围外的具体日历系统提供了其他字段和方法,这些字段和方法被定义为 protected。Calendar 提供了一个类方法 getInstance(),以获得此类型的一个通用的对象。Calendar 类的getInstance()方法返回一个 Calendar对象,其日历字段已由当前日期和时间初始化,其使用方法如下:

Calendar rightNow = Calendar.getlnstance():

 

 

 

18.今天离中华人民共和国成立100周年差多少天:

六.Runtime类

 Runtime 类是JDK 提供的运行时类,该类为Java 程序提供了与当前运行环境相连接的一个通道Java 程序可以利用该类对当前的运行环境执行一些简单的操作。Runtime 类不能使用 new 关键字创键实例,只能通过 Runtime.getRuntime()方法获取实例。

 

 

1.执行本地命令

本地命令指的是操作系统的命令。例如,在 Linux 系统下就表示 shell 命令,在 Windows 系统下
表示 cmd 命令。Runtime 类提供 exec()方法让 Java 代码可以执行系统的命令,exec()方法有很多重载的形式,例如:

Process exec(String command)

Process exec(String[] cmdarray)

 

19.让Java程序执行Windows系统的help命令:

 2.查看内存

Runtime类可以通过 freeMemory()方法查看当前Java 虚拟机可用内存的剩余量。如果程序能够实时监控内存剩余量,就可以尽量控制程序对内存的占用,从而避免出现“内存溢出”的情况。同样,也可以用来对测试程序性能,检验程序算法是否导致内存紧张。

20.监控虚拟机内存使用情况:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值