之前就学过一点java,但太久没用知识点早就还给书本,之前在实验室搞到一本java的书,今天来重新温习一下
java的语法大部分和c++语言是一样的,入门非常快,所以在这里基础语句的用法就省略了
输出:

System.out.println() 输出信息后追加一个换行
System.out.print()输出之后不追加换行

string:

str.IndexOf()//返回搜索的字符或字符串首次出现的位置
str.lastIndexOf()//返回搜索的字符或字符串最后一次的位置
charAt()//可将指定索引处的字符返回
trim()//返回字符串的副本,忽略前导空格和尾部空格
startsWith()//判断当前字符串对象的前缀是否为参数指定的字符串
endWith()//判断当前字符串是否为以给定的子字符串结束
toLowerCase()//把所有字符从大写字母改成小写字母
toUpperCase()//把所有字符从小写字母改成大写字母

java大数运算

在java中有个BigInteger类型,支持任意精度的整数,也就是说在运算中BigInteger类型可以准确地表示任何大小的整数值而不会丢失任何数据

public BigInteger add(BigInteger val)//做加法运算
public BigInteger subtract(BigInteger val)//做减法运算
public BigInteger multiply(BigInteger val)//做乘法运算
public BigInteger divide(BigInteger val)//做除法运算
public BigInteger remainder(BigInteger val)//做取余运算
public BigInteger negate(BigInteger val)//取相反数

BIgDecimal加入了小数的概念,支持任何精度的定点数,可以用它来精确计算货币值

public BigDecimal add(BigDecimal augend):做加法操作
subtract()做减法操作
multiply()做乘法操作
divide()做除法操作

大数阶乘:

import java.math.BigDecimal;
import java.util.Scanner;public class Main{public static BigDecimal factorial(BigDecimal n){
BigDecimal bd1 = new BigDecimal(1);//BigDecimal类型的1
BigDecimal bd2 = new BigDecimal(2);//BigDecimal类型的2
BigDecimal result = bd1;//结果集,初值取1
while(n.compareTo(bd1) > 0){//参数大于1,进入循环
result = result.multiply(n.multiply(n.subtract(bd1)));//实现result*(n*(n-1))
n = n.subtract(bd2);//n-2后继续
}
return result;
}public static void main(String[] args){System.out.println("请输入阶乘数:");Scanner sc = new Scanner(System.in); BigDecimal n = sc.nextBigDecimal(); sc.close();System.out.print(n + "!=" + factorial(n));}
}
/*
大数的加减运算不同于普通整数的加减乘除运算
加—— a+b: a=a.add(b);
减—— a-b: a=a.subtract(b);
乘—— a*b: a=a.multiply(b);
除—— a/b: a=a.divide(b);
求余—a%b: a=a.mod(b);
转换—a=b: b=BigInteger.valueOf(a);
比较 if (ans.compareTo(x) == 0)//比较System.out.println("相等");
System.out.println("a + b = "+ans_add); // 这里的‘+’ (第二个) 是连接的意思
*/
package wkf;
import java.util.*;
import java.math.*;
public class Main {public static void main(String args[]) {Scanner cin = new Scanner(System.in);BigInteger a,b,x,y;BigInteger ans_add,ans_sub,ans_mul,ans_div,ans_mod;a=cin.nextBigInteger();b=cin.nextBigInteger();ans_add = a.add(b); //a+bans_sub = a.subtract(b); //a-bans_mul = a.multiply(b); //a*bans_div = a.divide(b); //a/bans_mod = a.mod(b); //a%bx=BigInteger.valueOf(1);//转换System.out.println("a + b = "+ans_add);System.out.println("a - b = "+ans_sub);System.out.println("a * b = "+ans_mul);System.out.println("a / b = "+ans_div);System.out.println("a % b = " + ans_mod);System.out.println(x);if (a.compareTo(b) == 0)//比较System.out.println("相等");elseSystem.out.println("不相等");}
}

大数加法:

import java.math.BigInteger;
import java.util.*;
import java.io.*;public class Main
{public static void main(String args[]){Scanner in = new Scanner(System.in);int n = in.nextInt();     for(int i = 1; i <= n; ++i){BigInteger a = in.nextBigInteger();BigInteger b = in.nextBigInteger();BigInteger ans = a.add(b);System.out.println("Case " + i + ":");System.out.println(a + " + " + b + " = " +ans);}}
}

之后继续更新

Java的学习与java大数运算相关推荐

  1. Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型、符号、运算符、数组Array总结之详细攻略

    Java编程语言学习:Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组Array总结之详细攻略 目录 Java语言编程的基础知识之Java的变量与数据类型.符号.运算符.数组总 ...

  2. Java编程语言学习:Java语言基础案例(如求两门课分数之差、三门课平均分、关系运算符作比较)之详细攻略

    Java编程语言学习:Java语言基础案例(如求两门课分数之差.三门课平均分.关系运算符作比较)之详细攻略 目录 Java语言基础案例 1.求两门课分数之差.三门课平均分: 2.关系运算符作比较

  3. Java编程学习入门、Java语言学习、Java入门必看

    一.初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮>起床>洗漱>出宿舍>>吃早餐>到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 ...

  4. Java进阶学习之Java架构师的学习路线

    Java架构师,首先要是一个高级Java攻城狮,熟练使用各种框架,并知道它们实现的原理.Java架构师的作用就是要满足业务需求,用低的硬件网络成本和技术维护成本.Java架构师还要根据业务发展阶段,提 ...

  5. Java基础学习(2)---Java基础语法

    文章目录 一.注释.标识符.关键字 1.注释 2.标识符 3.关键字 二.数据类型 1.强类型语言和弱类型语言 2.Java的数据类型 三.类型转换 四.变量.常量 1.变量 2.常量 五.运算符 算 ...

  6. 最适合Java初学者学习的Java零基础入门教程

    各种各样的编程语言不断崛起,但唯有Java是牢牢占据着老大的位置,目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java. 因此,也是吸引了不少年轻人投入到Java的学习之中. 所以,今天 ...

  7. Java算法学习:java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制)

    java进制转换(十进制转八进制,十进制转二进制,十六进制转八进制) 这几天在复习C语言的数据结构栈和队列那一章的时候,看到利用栈的特性FILO实现的进制转换十分简洁 想起了java中实现栈的操作十分 ...

  8. java基础学习:java中的反射

    一.什么是java反射 什么是 java 的反射? 说到反射,写这篇文章时,我突然想到了人的"反省",反省是什么?吾一日三省吾身,一般就是反思自身,今天做了哪些对或错的事情. ja ...

  9. Java基础学习(11)---Java注解和反射

    文章目录 一.注解概述 二.内置注解 三.元注解 四.自定义注解 五.反射概述 ★ 静态语言 VS 动态语言 反射机制 Java反射机制研究及应用 Java反射优点和缺点 六.Class类 获取Cla ...

最新文章

  1. 【Qt】Qt信号与槽使用不当,使程序崩溃
  2. enumerate在python中的意思_Python中enumerate用法详解
  3. 读了这篇文字,做年薪百万的NLP工程师
  4. Chatter 导入
  5. leetCode 两个数组的交集 II 问题记录
  6. 采用预取(Prefetch)来加速你的网站(转)
  7. spring依赖注入_Spring源码阅读:Spring依赖注入容器
  8. 测试环境搭建流程_前端构建 DevOps 搭建 DevOps 基础平台(中)
  9. Largevis算法
  10. 计算机系统-Unicode字符集与它包含的UTF-8解决方案
  11. C#调用VC DLL 复杂结构 解决方法
  12. kubectl配置tab补全
  13. 树莓派摄像头,协议相关,人脸、车牌识别
  14. hermite插值法 matlab,分段三次Hermite插值Matlab实现
  15. Vue自定义组件——图片放大器,js点击<img>触发图片放大,富文本内图片点击实现放大器效果
  16. JMETER badboy 下载及安装
  17. BAPI_PRODORDCONF_GET_TT_PROP 生产订单完工确认
  18. 字节跳动问我计算机网络,我一口气全答对!
  19. Juniper SRX NAT46/NAT64配置
  20. python写采集程序_python实现简易采集爬虫

热门文章

  1. 为了偷吃东西你能有多拼?! | 今日最佳
  2. centos7 禁止ip访问_centos7.6版本限制某个IP访问指定端口
  3. 32位hex转浮点 python_python——int()、hex()、oct()、bin()、float()数值类型转换函数
  4. 高德面试官问我:JVM内存溢出后服务还能运行吗,我一顿操作行云流水
  5. abb限位开关已打开drv1_广告雕刻机限位开关触发
  6. php 异常 重试,Python中异常重试的解决方案详解
  7. python函数用于创建对象_Python-创建类并使用函数更改其对象值
  8. java buffalo_随你怎么玩!Buffalo 网络硬盘新潮流
  9. leetcode1005. K 次取反后最大化的数组和
  10. leetcode 515. 在每个树行中找最大值(层序遍历06)