Java竞赛可能会用到的东西

以下部分内容并非原创,原作者见到还请谅解~

大数

String s=”12345”;
BigInteger c=BigInteger.valueOf(s);

格式输出

System.out.printf("%+8.3f
", 3.14); //"+"表示后面输出的数字会有正负号,正的+,负的- ;8.3f表示输出浮点数,宽度为8,小数点保持3位有效 
System.out.printf("%+-8.3f
", 3.14);//"-"表示靠左对齐
System.out.printf("%08.3f
", 3.14);//"0"8位宽度中自动补0
System.out.printf("%(8.3f
", -3.14);//"("如果是负数,自动加上( )
System.out.printf("%,f
", 123456.78); //","金钱表示方法,每三位有一个逗号
System.out.printf("%x
", 0x2a3b); //输出16进制数
System.out.printf("%#x
", 0x2a3b);//输出带0x标识的16进制数
System.out.printf("老板:您名字%s,年龄:%3d岁,工资:%,-7.2f
","ajioy",21,36000.00);
System.out.printf("老板:您名字%1$s,年龄:%2$#x岁
","ajioy",38); //"n{1}quot;表示用第n个参数

各种进制转换

int iOct = 0567;//八进制数字的声明,在前面加上0(零)
int iTen = 1000;//十进制数字的声明
int iHex = 0xAbcd;//十六进制数字的声明,在前面加上0x(零x),x和abcd不区分大小写
 
System.out.println("八进制0567装换成二进制:Integer.toString(iOct, 2)="+Integer.toString(iOct, 2));
System.out.println("八进制0567装换成二进制:Integer.toBinaryString(iOct)="+Integer.toBinaryString(iOct));
System.out.println("八进制0567装换成十进制:Integer.toString(iOct, 10)="+Integer.toString(iOct, 10));
System.out.println("八进制0567装换成十进制:Integer.toString(iOct)="+Integer.toString(iOct));
System.out.println("八进制0567装换成十六进制:Integer.toString(iOct, 2)="+Integer.toString(iOct, 16));
System.out.println("八进制0567装换成十六进制:Integer.toHexString(iOct)="+Integer.toHexString(iOct));
 
System.out.println();
 
System.out.println("十进制1000装换成十六进制:Integer.toString(iTen,16)="+Integer.toString(iTen,16));
System.out.println("十进制1000装换成十六进制:Integer.toHexString(iTen)="+Integer.toHexString(iTen));
System.out.println("十进制1000装换成八进制:Integer.toString(iTen,8)="+Integer.toString(iTen,8));
System.out.println("十进制1000装换成八进制:Integer.toOctalString(iTen)="+Integer.toOctalString(iTen));
System.out.println("十进制1000装换成二进制:Integer.toString(iTen,2)="+Integer.toString(iTen,2));
System.out.println("十进制1000装换成二进制:Integer.toBinaryString(iTen)="+Integer.toBinaryString(iTen));
 
System.out.println();
 
System.out.println("十六进制0xAbcd装换成十进制:Integer.toString(iHex,10)="+Integer.toString(iHex,10));
System.out.println("十六进制0xAbcd装换成十进制:Integer.toString(iHex)="+Integer.toString(iHex));
System.out.println("十六进制0xAbcd装换成八进制:Integer.toString(iHex,8)="+Integer.toString(iHex,8));
System.out.println("十六进制0xAbcd装换成八进制:Integer.toOctalString(iHex)="+Integer.toOctalString(iHex));
System.out.println("十六进制0xAbcd装换成二进制:Integer.toString(iHex,2)="+Integer.toString(iHex,2));
System.out.println("十六进制0xAbcd装换成二进制:Integer.toBinaryString(iHex)="+Integer.toBinaryString(iHex));
 
System.out.println();
//还可将任意进制的整数装换成其他任意进制的数字
System.out.println("十六进制0xAbcd装换成七进制:Integer.toString(iHex,7)="+Integer.toString(iHex,7));
 
程序输出:
八进制0567装换成二进制:Integer.toString(iOct, 2)=101110111
八进制0567装换成二进制:Integer.toBinaryString(iOct)=101110111
八进制0567装换成十进制:Integer.toString(iOct, 10)=375
八进制0567装换成十进制:Integer.toString(iOct)=375
八进制0567装换成十六进制:Integer.toString(iOct, 2)=177
八进制0567装换成十六进制:Integer.toHexString(iOct)=177
十进制1000装换成十六进制:Integer.toString(iTen,16)=3e8
十进制1000装换成十六进制:Integer.toHexString(iTen)=3e8
十进制1000装换成八进制:Integer.toString(iTen,8)=1750
十进制1000装换成八进制:Integer.toOctalString(iTen)=1750
十进制1000装换成二进制:Integer.toString(iTen,2)=1111101000
十进制1000装换成二进制:Integer.toBinaryString(iTen)=1111101000
十六进制0xAbcd装换成十进制:Integer.toString(iHex,10)=43981
十六进制0xAbcd装换成十进制:Integer.toString(iHex)=43981
十六进制0xAbcd装换成八进制:Integer.toString(iHex,8)=125715
十六进制0xAbcd装换成八进制:Integer.toOctalString(iHex)=125715
十六进制0xAbcd装换成二进制:Integer.toString(iHex,2)=1010101111001101
十六进制0xAbcd装换成二进制:Integer.toBinaryString(iHex)=1010101111001101
十六进制0xAbcd装换成七进制:Integer.toString(iHex,7)=242140

  

原文地址:https://www.cnblogs.com/bruce27/p/4545002.html