第十一章总结

 

 1,包装类

integer类

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

 

 

 

Integer类提供了以下4个常量:

(1)MAX_VALUE:表示int类型可取的最大值,即2^31-1。

(2)MIN_VALUE:表示int类型可取的最小值,即-2^31。

(3)SIZE:用来以二进制补码形式表示int值的位数。

(4)TYPE:表示基本类型int的Class实例、

查看integer类的常量

 

 double 类

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

Double类的常用方法

 

 

Double类主要提供了以下变量:

(1) MAX_EXPONENT:返回int值,表示有限double变量可能具有的最大指数。

(2) MIN_EXPONENT:返回int值,表示标准化double变量可能具有的最小指数。

(3) NEGATIVE_INFINITY:返回double值,表示保存double类型的负无穷大值的常量。

(4) POSITIVE_INFINITY:返回double值,表示保存double类型的正无穷大值的常量
 

 boolean 类

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

Boolean类的常用方法

 

 

Boolean提供了以下3个变量:

(1)TRUE:对应基值true的Boolean对象。

(2)FALSE:对应基值false的Boolean对象。

(3)TYPE:基本类型boolean的Class对象

Character类

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

Character类的常用方法、

 

 

 Character类提供了大量表示特定字符的常量,例如:

(1)COUNECTOR_PUNCTUATION:返回byte型值,表示Unicode规范中的常规类型“Pc”。

(2)UNASSIGNED:返回byte型值,表示Unicode规范中的常规类型“Cn”。

(3)TITLECASE_LETTER:返回byte型值,表示Unicode规范中的常规类型“Lt”


Number类

 对于数值型的包装类,它们有一个共同的父类——Number类,该类是一个抽象类,它是Byte、Integer、Short、Long、Float和Double类的父类,其子类必须提供将表示的数值转换为byte、int、short、long、float和double的方法

2,数字处理

数字格式化

数字格式化操作主要针对的是浮点型数据,包括double型和float型数据。在Java中使用java.text.DecimalFormat格式化数字。

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

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

(2)如果数据绝对值小于0.001并且大于10000000,使用科学记数法表示。

        DecimalFormat类是NumberFormat的一个子类,用于格式化十进制数字。它可以将一些数字格式化为整数、浮点数、百分数等。通过使用该类可以为要输出的数字加上单位或控制数字的精度。一般情况下,可以在实例化DecimalFormat对象时传递数字格式,也可以通过 DecimalFormat类中的applyPattern()方法来实现数字格式化。

        当格式化数字时,可在 DecimalFormat类中使用一些特殊字符构成一个格式化模板,使数字按照一定的特殊字符规则进行匹配

 

DecimalFormat类的常用方法 

 

在 DecimalFormat类中,除了可通过格式化模板来格式化数字,还可以使用一些特殊方法对数字进行格式化设置 

DecimalFormat myFormat=new DecimalFormat();//实例化DecimalFormat类对象
myFormat.setGroupingSize(2);//设置将数字分组的大小
myFormat.setGroupingUsed(false);//设置是否支持分组

在上述代码中,setGroupingSize()方法设置格式化数字的分组大小,setGroupingUsed()方法设置是否可以对数字进行分组操作。

在项目中创建DecimalMethod类,在类的主方法中调用setGroupingSize()与setGroupingUsed()方法实现数字的分组

 

Math类

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

Math.数学方法

Math类中,除函数方法外还存在一些常用数学常量,可以使用如下形式调用:

Math.PI
Math.E

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

(1)public static double sin(double a):返回角的三角正弦。

(2)public static double cos(double a):返回角的三角余弦。

(3)public static double tan(double a):返回角的三角正切。

(4)public static double asin(double a):返回一个值的反正弦。

(5)public static double acos(double a):返回一个值的反余弦。

(6)public static double atan(double a):返回一个值的反正切。

(7)public static double toRadians(double angdeg):将角度转换为弧度。

(8)public static double toDegrees(double angdeg):将弧度转换为角度


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

 

 

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

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

(2)public static double log(double a):用于取自然对数。

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

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

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

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

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

 

取整函数方法 
Math类中主要包括以下几种取整方法:

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

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

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

(4)public static int round(float):将参数加上0.5后返回与参数最近的整数。

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


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


取最大值、最小值、绝对值函数方法
 这是在程序中最常用的方法,Math类中包含的操作方法如下:

(1)public static double max(double a,double b):取a与b之间的最大值。

(2)public static int min(int a,int b):取a与b之间的最小值,参数为整型。

(3)public static long min(long a,long b):取a与b之间的最小值,参数为长整型。

(4)public static float min(float a,float b):取a与b之间的最小值,参数为单精度浮点型。

(5)public static double min(double a,double b):取a与b之间的最小值,参数为双精度浮点型。

(6)public static int abs(int a):返回整型参数的绝对值。

(7)public static long abs(long a):返回长整型参数的绝对值。

(8)public static float abs(float a):返回单精度浮点型参数的绝对值。

(9)public static double abs(double a):返回双精度浮点型参数的绝对值

取最大值、最小值、绝对值的方法

 

Random类

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

Random r=new Random();

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

Random r=new Random(seedValue);

Random类对象。

seedValue:随机数生成器的种子。

在Random类中获取各种数据类型随机数的方法:

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

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

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

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

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

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

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

获取不同取值范围、不同类型的随机数

 

BigInteger类

使用BigInteger类,可以实例化一个BigInteger对象,并自动调用相应的构造函数。BigInteger类具有很多构造函数,但最直接的一种方式是参数以字符串形式代表要处理的数字。

        例如,将2转换为BigInteger类型,可以使用以下语句进行初始化操作

BigInteger twoInstance=new BigInteger("2");

BigInteger类中常用的几种运算方法:

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

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

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

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

(5)public BigInteger remainder(BigInteger val):做取余运算。

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

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

(8)public BigInteger negate():取相反数。

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

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

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

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

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

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

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

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

 使用BigInteger类进行数学运算

 

BigDecimal类

BigDecimal类和BigInteger类都能实现大数字的运算,不同的是BigDecimal类加入了小数的概念。BigDecimal类支持任何精度的定点数,可以用它来精确计算货币值

 

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

 

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

使用BigDecimal类进行数学运算 

 

 

 

System类

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

控制台输出字符 

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

不会自动换行的print()方法
System.out.print("Hello!");
       此方法输出“Hello”文字,输出完毕后,光标会停留在“Hello”文字末尾,不会自动换行。

可以自动换行的println()方法
System.out.println("书籍是人类进步的阶梯!");
        此方法输出文字后会自动换行。光标停留在下一行的开头。

Java输出换行的两种方法:

System.out.print("\n");//利用换行符\n实现换行
System.out.println();//空参数即可实现换行
 

 计时

System.currentTimeMillis()方法可以获取自1970年1月1日零点至今的毫秒数,是为获取当前毫秒数最常用的方法

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

 

Scanner类 

 

控制台输出内容用到了System.out就表示向控制台输出,System.in就表示从控制台输入,让Scanner扫描System.in就可以获取用户输入的值了。

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

import java.util.Scanner;//引入Scanner类

使用Scanner类扫描控制台的代码:Scanner sc=new Scanner(System.in);

 猜数字游戏

日期时间类 

 

Date类

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

 

例如,使用Date类的第二种构造方法创建一个Date类的对象,代码:

 
  1. long timeMillis=System.currentTimeMillis();//当前系统时间所经历的毫秒数

  2. Date date=new Date(timeMillis);

 

获取当前的日期和时间 

 

日期时间格式化
        DateFormat类是日期时间格式化子类的抽象类,可以按照指定的格式对日期或时间进行格式化。

         DateFormat类提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期时间Formatter,格式化风格主要包括SHORT、MEDIUM、LONG和FULL4种:

        (1)SHORT:完全为数字,如12.13.52或3:30pm。

        (2)MEDIUM:较长,如Jan 12,1952。

        (3)LONG:更长,如January 12,1952或3:30:32pm。
        (4)FULL:完全指定,如Tuesday、April 12、1952 AD或3:30:42pm PST。

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

DateFormat df=DateFormat.getDateInstance();
        使用getDateInstance()方法获取的是所在国家或地区的标准日期格式。

        DateFormat类还提供了一些其他静态方法

 

由于DateFormat类是一个抽象类,不能用new创建实例对象。因此,除了使用getXXXInstance()方法创建其对象,还可以使用其子类,如SimpleDateFormat类,该类是一个以与语言环境相关的方式来格式化和分析日期的具体类,它允许进行格式化(日期→文本)、分析(文本→日期)和规范化

 

 

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

 

 

DateFormat类提供的Date parse(String source)方法可以将字符串转为其字面日期对应的Date对象,整个过程相当于日期格式化的逆操作。

        例如,将“2021-02-19”这个字符串转成Date对象,代码:

DateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Date date=sdf.parse("2021-02-19");

 

Calendar类
        Calendar提供了一个类方法getInstance(),以获得其类型的一个通用的对象。Calendar类的getInstance()方法返回一个Calendar对象,其日历字段已由当前日期和时间格式化,使用方法:

Calendar rightNow=Calendar.getInstance();

 

 

 

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

 

 

对Calendar类的使用的总结: 
(1)c.set(Calendar.DAY_OF_MONTH,0)获取的是上个月的最后一天,所以调用前需要将月份往后加一个月。

(2)Calendar.MONTH的第一个月是使用0记录的,所以在获得月份数字后要加1。年和日是从1开始记录的不需要加1。

(3)Calendar.DAY_OF_WEEK的第一天是周日,周一是第二天,周六是最后一天

Runtime类

        Runtime类不能使用new关键字创建实例,只能通过Runtime.getRunntime()方法获取实例

 

.执行本地命令
        本地命令指的是操作系统的命令。

        Runtime类提供exec()方法让Java代码可以执行系统命令,exec()方法有很多重载形式,如:

Process exec(String command)
Process exec(String[] cmdarray)
command:要执行的系统命令,字符串类型。

cmdarray:要执行的命令和相应的命令参数,字符串数组类型。

        使用第一种重载方式的代码:

Runtime.getRuntime().exec("javac hello.java");
        使用第二种重载方式的代码:

String command[]={"javac","hello.java");
Runtime.getRuntime().exec(command);

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

 

查看内存 

        Runtime类可以通过freeMemory()方法查看当前Java虚拟机可用内存的剩余量

 监控虚拟机内存使用情况

注意: freeMemory()方法得到的剩余内存量是近似值 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值