Java第九章 常用类

9.1 包装类

java是一种面向对象语言,但在Java中不能定义基础数据类型的对象,为了能将数据类型视为对象进行处理,Java提出了包装类的概念,它主要是将数据基础类型封装在包装类中,如int型数据类型数值包装类Integer,boolean型的包装类boolean等,这样便可以把这些数据类型转换为对象进行处理。

9.1.1 Integer类

java.lang包装的integer类、Byte类、Short类和Long类,分别将数据类型int、byte、short和long封装成一个类,由于这些类都是number的子类,区别就是封装不同的数据类型,其包含的基本方法相同。

1.构造方法

Integer类有以下两种构造方法。

(1)Integer(int number)

Integer number = new Integer(7);

(2) Integer(String str)

Integer number = new Integer("45");

2.常用方法

代码

结果

代码

结果

9.1.2 Double类

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

1、构造方法

(1)Double(double value)

Double number = new Double(3.14);

(2)Double(String str)

Double number = new Double ("3.14");

2、常用方法

3.常量

MAX_VALUE:值为 1.8E308 的常量,它表示 double 类型的最大正有限值的常量。
MIN_VALUE:值为 4.9E-324 的常量,它表示 double 类型数据能够保持的最小正非零值的常量。
NaN:保存 double 类型的非数字值的常量。
NEGATIVE_INFINITY:保持 double 类型的负无穷大的常量。
POSITIVE_INFINITY:保持 double 类型的正无穷大的常量。
SIZE:用秦以二进制补码形式表示 double 值的比特位数。
TYPE:表示基本类型 double 的 Class 实例。

代码

结果

9.1.3 Boolean类 

Boolean类将基本类型为boolean的值包装在一个对象中。

1、构造方法

(1)Boolean(boolean value)

Boolean b = new Boolean(true);

(2)Boolean(String str)

Boolean bool = new Boolean("ok");

2、常用方法

3.常量 

  • TRUE:对应基值 true 的 Boolean 对象。
  • FALSE:对应基值 false 的 Boolean 对象。
  • TYPE:表示基本类型 boolean 的 Class 对象。

代码

结果

9.1.4Character 类

Character类在对象中包装一个基本类型为char的值。

1.构造方法

Character(char value)

Character mychar = new Character("s");

2.常量

Character.CONNECTOR返回byte型数据表示Unicode规范中的常规类别“Pc"
Character.UNASSIGNED Unicode规范中的常规类别"Cn"
Character.TITLECASE_LETTER Unicode中的规范常规类别"Lt"

代码

结果

9.1.5 Number类

Number 是一个抽象类,也是一个超类(即父类)。Number 类属于 java.lang 包,所有的包装类(如 Double、Float、Byte、Short、Integer 以及 Long)都是抽象类 Number 的子类。

9.2 Math 类

在 Java 中 Math 类封装了常用的数学运算,提供了基本的数学操作,如指数、对数、平方根和三角函数等。Math 类位于 java.lang 包,它的构造方法是 private 的,因此无法创建 Math 类的对象,并且 Math 类中的所有方法都是类方法,可以直接通过类名来调用它们。

Math.数学方法

在Math类中除了函数方法外还存在一些常用的数学常量

Math.PI

Math.E

System.out.println("圆周率的值为"+Math.PI)

System.out.println("自然对数底数e的值为"+Math.E)

9.2.2常用数学运算方法

1.三角函数方法

代码

结果

 

2.指数方法

代码

结果 

3.取整函数方法 

4.取最大值、最小值、绝对值函数方法 

9.3 随机数

9.3.1 Math.rand()方法

Random 类提供了丰富的随机数生成方法,可以产生 boolean、int、long、float、byte 数组以及 double 类型的随机数,这是它与 random() 方法最大的不同之处。random() 方法只能产生 double 类型的 0~1 的随机数。
代码

import java.util.Scanner;
public final class ll {

	public static void main(String[] args) {
		System.out.println("-------猜数字游戏--------\n");//打印标题
		int iNum;//创建属性
		int iGuess;//创建属性
		Scanner in = new Scanner(System.in);//获取键盘值
		iNum = (int) (Math.random()*100);//随机生成值
		System.out.println("亲输入你猜的数字");//打印标题
		iGuess = in.nextInt();//赋值
		
		while ((iGuess != -1) && (iGuess != iNum))//判断
		{
			if (iGuess < iNum)//判断
			{
				System.out.println("太小,请重新输入:");//打印结果
				iGuess = in.nextInt();//赋值
			}else //判断
			{
				System.out.println("太大,请重新输入:");//打印结果
				iGuess = in.nextInt();//赋值
			}
		}
		if (iGuess == -1)//判断
		{
			System.out.println("退出游戏!");//打印结果
		}else//判断
		{
			System.out.println("恭喜你,你赢了,猜中的数字是:" + iNum);//打印结果
		}
		 System.out.println("\n-------游戏结束----------");//打印结果
	 	}
}

结果

 9.3.2Random 类

代码

import java.util.Random;
import java.util.Scanner;
public final class ll {

	public static void main(String[] args) {
		System.out.println("-------模拟微信抢红包---------\n");
		 Scanner sc = new Scanner(System.in);
		 System.out.println("请输入要装入红包的总金额:");
		 
		 double total = sc.nextDouble();
		 System.out.println("请输入红包个数:");
		 int bagsnum = sc.nextInt();
		 double min = 0.01;
		 
		 
		 Random random = new Random();
		 for (int i = 1; i < bagsnum; i++)
		 {
			 /**
			  * 通过公式模拟数字中的离散模型计算一个红包可以放的最大金额
			  * 本次可用最大金额 = 可分配金额 - (红包总数*已发出红包数)*红包的最小金额
			  */
			 double max = total - (bagsnum - i) * min;
			 
			 double bound = max - min;
			 
			 double safe = (double) random.nextInt();
			 double money = safe + min;
			 
			 total = total - money;
			 
			 System.out.println("第" + i + "个红包" + String.format("%.2f", money) + "元");
			 
			 System.out.println("第" + bagsnum + "个红包" + String.format("%.2f", total) + "元");
			 
			 sc.close();
		 }
		 
	 	}
}

结果 

9.4日期与时间 

9.4.1Date类

 方法

long timeMillis = System.currentTimeMillis();

Date date = new Date(timeMillis);

代码

 结果

SimpleDateFormat 类

如果使用 DateFormat 类格式化日期/时间并不能满足要求,那么就需要使用 DateFormat 类的子类——SimpleDateFormat。

SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类,它允许进行格式化(日期→文本)、解析(文本→日期)和规范化。SimpleDateFormat 使得可以选择任何用户定义的日期/时间格式的模式。

代码

 结果

 9.4.2Calendar 类

 

代码

 

结果 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值