ACM java常用语法总结
2017年11月14日 11:50:10 笑对这个世界的志贵 阅读数:181
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
public class Main
{
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
Scanner cin = new Scanner (new BufferedInputStream(System.in));//这个比较快
int a = cin.nextInt();
float b = cin.nextFloat();
double c = cin.nextDouble();
String str = cin.next();//scanf("%s", str);
String st = cin.nextLine();//gets(s);
BigInteger d = cin.nextBigInteger();
BigDecimal e = cin.nextBigDecimal();
while(cin.hasNext())
{
int a;
a = cin.nextInt();
if(a >= 0) System.out.printf("Yes\n");
else System.out.printf("No\n");
}
System.out.print();//C++ cout << ;
System.out.println();//C++ cout << << endl;
System.out.printf();//C++ printf();
int a[] = new int[20];//一维数组定义
a.length;//数组长度
int a[][] = new int[150][150];//二维数组定义
Arrays.sort(a, 0, 20);//排序函数。首地址,第一个元素位置,最后一个元素位置的后一位
Arrays.fill(a, 0, 20, 8);//赋值函数。将数组0-19的位置变为8
int arr[] = Arrays.copyOf(a, 20);//复制函数。复制长度20的a数组给arr
int arr[] = Arrays.copyOfRange(a, 0, 20);//复制函数。复制0-19的数组a给arr
//String
//初始化
String s = new String("Monday");//一维
String s[] = new String[]{"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};//二维
String st = cin.next();
int len = st.length();
char c = st.charAt(i);//相当于st[i]
char ch[] = st.toCharArray();//String 转换成 字符数组
Character.isJavaIdentifierStart(c);//判断首字符是否合法
Character.isJavaIdentifierPart(c);//判断中间字符是否合法
BigInteger ans, x;//大数赋初始值的两种方法
ans = new BigInteger("1");//十进制字符串变为大数
ans = BigInteger.valueOf(1);//整数变为大数
BigInteger x = cin.nextBigInteger();
int n = cin.nextInt();
ans = ans.add(x);//加法
ans = ans.subtract(x);//减法
ans = ans.multiply(x);//乘法
ans = ans.divide(x);//除法
ans = ans.remainder(x);//取余
ans = ans.negate();//取相反数
ans = ans.and(x);//ans&x 做与操作
ans = ans.or(x);//ans|x 做或操作
ans = ans.min(x);//min(ans,x);
ans = ans.max(x);//max(ans,x);
int bool = ans.compareTo(x);
//如果ans>x bool = 1;
//如果ans<x bool = -1;
//如果ans==x bool = 0;
ans = ans.shiftLeft(n);//将数字左移n位,如果n为负数,做右移操作。
ans = ans.shiftRight(n);//将数字右移n位,如果n为负数,做左移操作。
ans = ans.pow(n);//ans^n n是整数
BigDecimal ans, x;
ans = BigDecimal.ZERO;//初始化为0
ans = new BigDecimal("8.1234515");//将十进制字符串变为大数类型
ans = BigDecimal.valueOf(8.1234515);//将double类型变为大数类型
ans = cin.nextBigDecimal();//输入
int a = ans.intValue();
long b = ans.longValue();
float c = ans.floatValue();
double d = ans.doubleValue();
String s = ans.toString();
ans = ans.divide(x, 5, BigDecimal.ROUND_UP);//商最后一位如果大于0,则向前进位,正负数都如此
ans = ans.divide(x, 5, BigDecimal.ROUND_DOWN);//商最后一位无论是什么数都省略
ans = ans.divide(x, 5, BigDecimal.ROUND_CEILING);//商如果是正数,按照ROUND_UP模式处理;如果是负数,按照ROUND_DOWN模式处理。
ans = ans.divide(x, 5, BigDecimal.ROUND_FLOOR);//与ROUND_CEILING相反
ans = ans.divide(x, 5, BigDecimal.ROUND_HALF_DOWN);//四舍五入最后一位小于等于5舍弃,否则进位
ans = ans.divide(x, 5, BigDecimal.ROUND_HALF_UP);//四舍五入最后一位小于5舍弃,否则进位
ans = ans.divide(x, 5, BigDecimal.ROUND_HALF_EVEN);//如果商倒数第二位为奇数,按照ROUND_HALF_UP处理,否则按照ROUND_HALF_DOWN处理
}
}
/*arguments //args 参数
import //输入
util //跑龙套
static //静态的
Scanner //扫描器
Buffered // 缓冲的*/