常用API学习06(Java)

Biglnteger

public BigInteger(int num, Random rnd)     获取随机大整数,范围:[0~2的num次方-1]

public BigInteger(String val)     获取指定的大整数

public BigInteger(String val, int radix)     获取指定进制的大整数

public static BigInteger valueOf(long val)     静态方法获取BigInteger的对象,内部有优化

对象一旦创建,内部记录的值不能发生改变。

针对BigInteger(String val, int radix)补充细节:字符串中的数字必须是整数;字符串中的数字必须要跟进制吻合;比如二进制中,那么只能写0和1,写其他的就报错。

针对static BigInteger valueOf(long val)补充细节:能表示的范围比较小,在long的取值范围之内,如果超出long的范围就不行了。在内部对常用的数字(-16~16)进行了优化。提前把-16~16先创建好BigInteger的对象,如果多次获取不会重新创建新的。

下面将代码实现:

package com.itheima.biginteger;import java.math.BigInteger;
import java.util.Random;public class BigIntegerDemo01 {public static void main(String[] args) {//获取一个随机的大整数BigInteger bd1 = new BigInteger(4,new Random());//[0,15]System.out.println(bd1);//获取一个指定的大整数BigInteger bd2 = new BigInteger("99999999999999999999999999999999999999999");System.out.println(bd2);//获取一个指定进制的大整数BigInteger bd4 = new BigInteger("100",10);BigInteger bd5 = new BigInteger("11001011",2);System.out.println(bd4);System.out.println(bd5);//静态方法获取BigInteger对象,内部有优化BigInteger bd6 = BigInteger.valueOf(9999);System.out.println(bd6);BigInteger bd7 = BigInteger.valueOf(16);BigInteger bd8 = BigInteger.valueOf(16);System.out.println(bd7 == bd8);//地址相同BigInteger bd9 = BigInteger.valueOf(17);BigInteger bd10 = BigInteger.valueOf(17);System.out.println(bd9 == bd10);//地址不同//对象一旦创建,内部的数据不能发生改变BigInteger result = bd7.add(bd8);System.out.println(result);System.out.println(bd7==result);System.out.println(bd8==result);}
}

运行结果:

#总结:如果BigInteger表示的数字没有超出long的范围,可以用静态方法获取。如果BigInteger表示的超出long的范围,可以用构造方法获取。对象一旦创建,BigInteger内部记录的值不能发生改变。只要进行计算都会产生一个新的BigInteger对象。

Biglnteger常见成员方法

代码实现:

package com.itheima.biginteger;import java.math.BigInteger;public class BigIntegerDemo02 {public static void main(String[] args) {//创建两个BigInteger对象BigInteger bd1 = BigInteger.valueOf(10);BigInteger bd2 = BigInteger.valueOf(5);//加法System.out.println(bd1.add(bd2));//减法System.out.println(bd1.subtract(bd2));//乘法System.out.println(bd1.multiply(bd2));//除法,获取商System.out.println(bd1.divide(bd2));//比较是否相同System.out.println(bd1.equals(bd2));//次幂System.out.println(bd1.pow(2));//返回较大值System.out.println(bd1.max(bd2));//返回较小值System.out.println(bd1.min(bd2));//转为int类型整数,超出范围数据有误int i = bd1.intValue();System.out.println(i);}
}

接下来单独看一下:public BigInteger[] divideAndRemainder(BigInteger val)

package com.itheima.biginteger;import java.math.BigInteger;public class BigIntegerDemo03 {public static void main(String[] args) {BigInteger bd1 = BigInteger.valueOf(10);BigInteger bd2 = BigInteger.valueOf(5);//除法,获取商和余数BigInteger[] arr = bd1.divideAndRemainder(bd2);System.out.println(arr[0]);System.out.println(arr[1]);}}

运行结果:

结果显示,数组的第一个数据是商,第二给数据是余。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「深度学习之优化算法」(十四)麻雀搜索算法

1. 麻雀搜索算法简介 (以下描述,均不是学术用语,仅供大家快乐的阅读)   麻雀搜索算法(sparrow search algorithm)是根据麻雀觅食并逃避捕食者的行为而提出的群智能优化算法。提出时间是2020年,相关的论文和研究还比较少,有可能还有一些正在发表中,受疫情影响需要论…

【Android关键字】startActivityForResult/onActivityResult/setResult方法的使用

最近在写一个安卓程序,在程序里需要用到startActivityForResult这个Intent操作关键字,与该关键字有关的还有onActivityResult和setResult。这里对其用法进行一个总结。 三者在API中的形式 //startActivityForResult与startActivity类似,只不…

C++:const修饰指针

const修饰符常常需要在c中使用到&#xff0c;需要注意到他对于指针修饰的时候的不同区别。 #include<iostream> using namespace std; int main() {//1.const修饰指针int a 10;int b 10;const int* p &a;//指针指向的值不可以改&#xff0c;指针的指向可以改// …

2023最新ChatGPT商业运营网站源码+支持ChatGPT4.0+新增GPT联网功能+支持ai绘画+实时语音识别输入+用户会员套餐+免费更新版本

2023最新ChatGPT商业运营网站源码支持ChatGPT4.0新增GPT联网功能支持ai绘画实时语音识别输入用户会员套餐免费更新版本 一、AI创作系统二、系统程序下载三、系统介绍四、安装教程五、主要功能展示六、更新日志 一、AI创作系统 提问&#xff1a;程序已经支持GPT3.5、GPT4.0接口…

Matlab学习笔记

1.入门 1.1矩阵与运算 a[1 2 3;4 5 6;7 8 9] *表示矩阵乘法 .* .^之类则是对矩阵每个元素运算&#xff08;点乘&#xff09; inv(a)矩阵的逆 format long/short 显示更多/更少位小数 串联 A[a a] 横着 [a;a] 竖着 sum(A)会得到各列的和&#xff08;得到行向量&#xff09; …

MyBatis基础知识

文章目录 Mybatis简介MyBatis历史MyBatis特性MyBatis下载和其它持久化层技术对比 搭建MyBatis开发环境创建maven工程创建MyBatis的核心配置文件创建mapper接口创建MyBatis的映射文件通过junit测试功能加入log4j日志功能 核心配置文件详解默认的类型别名MyBatis的增删改查MyBati…

Java常见面试题

文章目录 一、Java基础面试题二、面向对象编程面试题三、集合框架面试题四、多线程面试题五、数据库面试题六、异常处理面试题七、设计模式面试题八、Spring相关面试题九、性能优化面试题十、Java 8新特性面试题十一、JVM相关面试题十二、框架相关面试题十三、并发编程面试题十…

Flutter的状态管理之Provider

前言 像vue、react有对应的状态管理库&#xff0c;比如&#xff1a;pinia、Redux 。同样flutter中也有状态管理库&#xff0c;但是flutter中的状态管理库很多&#xff0c;对于像我这样的新手来说这很难选择。因此只好选择官方库——Provider 因为是第一次学习&#xff0c;如果…

vue2watch监听遇到的问题

1 vue 父组件里引入子组件 显示与隐藏是v-if控制时 父传入子的参数通过watch 监听请求接口时 watch 时而监听不到 请求接口的参数就不对 如图 父组件这么引入子组件v-show 和v-if 是有区别的 2 子组件通过watch 监听后 清空页面要展示的列表数据 重新从第一页加载数据&#x…

扶小微、惠民生,平安养老险护航中小企业健康发展

今年以来&#xff0c;随着经济社会全面恢复常态化运行&#xff0c;稳增长、稳就业、稳物价政策效应逐步显现&#xff0c;市场需求逐步恢复&#xff0c;生产供给持续增加&#xff0c;我国经济发展质量继续提高&#xff0c;国民经济恢复向好。平安养老险作为平安集团内专业养老保…

【雕爷学编程】Arduino动手做(164)---Futaba S3003舵机模块3

37款传感器与模块的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&#x…

log4j复现之CVE-2017-5645

log4j复现之CVE-2017-5645 一、靶机环境的安装 1.docker环境安装 apt-get update apt-get install -y apt-transport-https ca-certificates apt install docker.io apt-get install python3-pip pip3 install docker-compose docker-compose -v2.下载vlnhub git clone …

长沙打造“全球研发中心城市”,智能网联产业如何交卷?

作者 | 魏启扬 来源 | 洞见新研社 知乎上有一个浏览超百万的热门问题——“大家怎么看待长沙这个城市&#xff1f;” 答主“星球研究所”的回答获得了高赞&#xff0c;“这是一个天性如火的城市”。 网红城市的外衣下&#xff0c;从湖南卫视的综艺节目&#xff0c;到网红美…

qiankun:react18主应用 + 微应用 react18 + vue3

一&#xff1a;主应用 搭建react项目 npx create-react-app react-qiankun-main安装Antd npm install antd –save在 index.js中引入 import { ConfigProvider } from "antd"; import zhCN from "antd/locale/zh_CN"; import "antd/dist/reset.css…

Redis PipelineScript

文章目录 前言一、Pipeline是什么&#xff1f;二、Pipeline具体实现特点缺点 三、ScriptScript具体实现对比Pipeline三、总结 前言 玩过远程过程调用的小伙伴都知道&#xff0c;一次请求多条数据要比多次请求1条数据效率高&#xff08;当然&#xff0c;这里的多条数据通常是完…

DDOS百科:什么是 DDoS 攻击及如何防护DDOS攻击

一、什么是 DDoS 攻击&#xff1f; 当多台机器一起攻击一个目标&#xff0c;通过大量互联网流量淹没目标或其周围基础设施&#xff0c;从而破坏目标服务器、服务或网络的正常流量时&#xff0c;就会发生分布式拒绝服务(DDoS)攻击。 DDoS允许向目标发送指数级更多的请求&#…

【大数据之Hadoop】三十七、Hadoop HA高可用

1、HA概述 实现高可用最关键的策略是消除单点故障。HA分成各个组件的HA机制&#xff1a;HDFS的HA和YARN的HA。   Hadoop2.0之前&#xff0c;在HDFS集群中NameNode存在单点故障&#xff08;SPOF&#xff09;。 NameNode主要在以下两个方面影响HDFS集群&#xff1a; &#xff…

AI时代图像安全“黑科技”如何助力人工智能与科技发展?

〇、前言 7月7日下午&#xff0c;2023世界人工智能大会&#xff08;WAIC&#xff09;“聚焦大模型时代AIGC新浪潮—可信AI”论坛在上海世博中心红厅举行。人工智能等技术前沿领域的著名专家与学者、投资人和领军创业者汇聚一堂&#xff0c;共同探索中国科技创新的驱动力量。 在…

4. 设计(黑盒)测试用例 (一) 等价类 边界值 判定表

本篇文章我们将详细介绍如何来测试用例。 1. 设计测试用例的基本要素 1.1 测试用例概念 测试用例&#xff08;Test Case&#xff09;是为了实施测试而向被测试的系统提供的一组集合。 1.2 测试用例要素 测试环境、测试步骤、测试数据、预期结果。 1.3 测试用例的重要性 提…

【美团面试】软件测试面试题

一、设计登录界面测试用例 功能测试(Function test) 0. 什么都不输入&#xff0c;点击提交按钮&#xff0c;看提示信息。&#xff08;非空检查&#xff09; 1.输入正确的用户名和密码&#xff0c;点击提交按钮&#xff0c;验证是否能正确登录。&#xff08;正常输入&#xff0…