之前就学过一点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+b
        ans_sub = a.subtract(b); //a-b
        ans_mul = a.multiply(b); //a*b
        ans_div = a.divide(b); //a/b
        ans_mod = a.mod(b); //a%b
        x=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("相等");
        else
             System.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);
		}
	}
}

之后继续更新