字符串
//字符串转为char
String str = "abc";
char[] strArr = str.toCharArray();
//char转换为字符串
str = String.valueOf(strArr);
//将char类型转换为int类型
int c = str.charAt(0) - '0';
//字符串截取方法,str.substring(a,b),截取从位置a到位置b的字符串,左闭右开[a,b)
String substring = str.substring(0,1);
//判断str中是不是含有"a"
boolean isContain = str.contains("a");
数组
int[] arr = {1,2,3,4,5};
int[][] arrs = {{1,2,3},{4,5,6}};
// 排序
Arrays.sort(arr);
// 一维数组输出
java.util.Arrays.toString(arr); // [1, 2, 3, 4, 5]
// 二维数组输出
java.util.Arrays.deepToString(arrs); // [[1, 2, 3], [4, 5, 6]]
// 数组长度,arrs.length 表示有多少行 arrs[i].length表示第i行有多少列
int m = arrs.length; // 2
int n = arrs[0].length; // 3
保留小数
// %.2f: . 后面的数字即表示保留几位小数
String.format("%.2f",0.253); // 0.25
大数
java中的基础数据类型能存储的最大的二进制数是 2 ^ 63 - 1,
对应的十进制数是9223372036854775807,也就是说只要运算过程中会超过这个数,就会造成数据溢出,从而造成错误.
- 而java.math.*包中提供了大数类,其理论上可以存储无限位的大数,只要内存足够的话。 大数类又分为整数和浮点数.即BigInteger and BigDecimal
- 大数类的对象不能直接进行运算,需要调用类中相应的方法,并且方法的参数必须和调用的类相同,BigInteger不能调用BigDecimal,不能作为其方法参数, 即整数和浮点数不能混合运算.
这里只列出BigInteger的常用方法,BigDecimal的用法与BigInteger类似
//1.直接声明
BigInteger a,b,c;
//2.使用构造函数初始化
BigInteger a = new BigInteger("123456789101112131415");
//赋值
//注意 val 不能超过 long 类型的最大取值9223372036854775807, 超过int时要在数后面加L如:
a = BigInteger.valueOf(123456789101112L); //大于int范围的要加L
//输入
a = sc.nextBigInteger();
// 加法
c = a.add(b);
// 减法
c = a.subtract(b);
// 乘法
c = a.multiply(b);
// 除法
c = a.divide(b);
// 取余
c = a.remainder(b);
// 次方 2^32
BigInteger.valueOf(2).pow(32);// 4294967296