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

Java核心技术卷一学习笔记1在搞本科生毕设之余,闲下来看看书,写写博客。由于研究生学习要做一个数据可视化的项目,需要用到Java。所以拿了一本《Java核心技术卷一》正在一步步复习之前所学的Java知识。   3.9大数值   如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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

      3.9大数值

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

    BigInteger a=BigInteger.valueOf(val);

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

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

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+"分之一");
		
	}

}

Jetbrains全家桶1年46,售后保障稳定

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • HTML上document的方法

    HTML上document的方法document:属性document.title//设置文档标题等价于HTML的<title>标签document.bgColor//设置页面背景色document.fgColor

  • ios事件-触摸事件2(手势 和 pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()的关系)

    ios事件-触摸事件2(手势 和 pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()的关系)ios事件-触摸事件2(手势和pointInSide()、hitTest()、touchesBegan()、touchesMoved()、touchesEnded()、touchesCancelled()的关系)先看效果图本文中,凡是看到xxx(),即表示xxx是一个函数或者方法!!!事件分为事件传递和事件响应,其中,事件响应又称事件处理。具体代码FindViewViewContr…

  • echarts柱状图显示值_echarts tooltip

    echarts柱状图显示值_echarts tooltip犯罪嫌疑人Xhttp://echarts.baidu.com/opti…sunburst没有提供tooltip显示item的name属性,name在data中,所以可以在sunburst.data.emphasis设置vardata=[{name:’Grandpa’,emphasis:{itemStyle:{color:’r…

  • java读取csv存入list_Java读取CSV文件为List

    java读取csv存入list_Java读取CSV文件为List1packagetest;23importlombok.extern.slf4j.Slf4j;45importjava.io.BufferedReader;6importjava.io.FileInputStream;7importjava.io.IOException;8importjava.io.InputStreamReader;9importjava.util.ArrayLi…

    2022年10月28日
  • 在国内怎么使用谷歌Chrome浏览器,为什么我的谷歌浏览器进去就加载失败

    在国内怎么使用谷歌Chrome浏览器,为什么我的谷歌浏览器进去就加载失败下面跟着我的步伐一起看看吧!一、当你如获至宝的在搜索框输入关键字然后按下回车,经过差不多一杯奶茶的时间加载,你看到了这张图妈耶!不会是我有下载错软件包了吧?我网掉了,没有啊?我设置不对啊?等等,你差不多猜对了,还真跟设置有点关系,我们要知道,正常情况下,国内是无法使用谷歌搜索的二、设置接着你打开设置找到搜索引擎,然后我们选择百度昂梵蒂冈这里我么输入www.baidu.com然后保存即可再次打开谷歌浏览器,这才像摸像样嘛…

  • JavaScript 数组排序——快速排序[通俗易懂]

    JavaScript 数组排序——快速排序[通俗易懂]数组中的快速排序就是取原始数组中的一个元素最为基点,小于基点的放在一个数组中,大于基点的放在一个数组中,无限循环,知道将数组分解到长度(length<1)停止vararr=[12,3,569,78,0,-56,-56,-56,1223,11,16,13,1];functionquickSort(arr){if(arr.length<1)returnarr;分解数组,长度小于1的时候停止执行varmiddle=pa…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号