前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java核心技术卷一学习笔记1

Java核心技术卷一学习笔记1

作者头像
全栈程序员站长
发布2022-11-19 17:40:53
1.8K1
发布2022-11-19 17:40:53
举报

大家好,又见面了,我是你们的朋友全栈君。

在搞本科生毕设之余,闲下来看看书,写写博客。由于研究生学习要做一个数据可视化的项目,需要用到Java。所以拿了一本《Java核心技术卷一》正在一步步复习之前所学的Java知识。

3.9大数值

如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。 使用静态的valueOf方法可以将普通的数值转换为大数值:

BigInteger a=BigInteger.valueOf(val);

由于Java中没有运算符重载功能,因此C++中“+”和“-”在Java中并不适用。而对应的是BigInteger类中的add和multiply运算。

下面是一个计算彩票中奖概率的小程序作为练习:

代码语言:javascript
复制
import java.math.BigInteger;
import java.util.Scanner;

/*
 * 用大数值计算中彩概率。
 */
public class BigIntegerTest {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		System.out.println("你想抽多少数字");
		int k=in.nextInt();
		
		System.out.println("数字量多大");
		int n=in.nextInt();
		/*
		 * 计算 n*(n-1)*...*(n-k+1)/(1*2*...*k)
		 */
		BigInteger lotteryOdds=BigInteger.valueOf(1);
		for(int i=1;i<=k;i++)
			lotteryOdds=lotteryOdds.multiply(BigInteger.valueOf(n-i+1)).divide(BigInteger.valueOf(i));
		System.out.println("你的概率是"+lotteryOdds+"分之一");
		
	}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/206575.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022年10月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档