//二维数组初始化方法之一
int step[][]={{0,1},{0,2},{0,3},{1,0},{1,1},{1,2},{2,0},{2,1},{3,0}};
//四舍五入保留几位小数
double hhh=3.9772;
String result=String.format("%.2f",hhh);
System.out.println(result);
//整数前面补0
String result=String.format("%2d",h).replace(" ","0");
//定义long类型整数
long n=2021041820210418L;
//ArryaList用法
import java.util.ArrayList;
//定义
ArrayList<类型> arr=new ArrayList<>();
//添加元素
arr.add();
//遍历
for(类型 i:arr) {
System.out.println(i);
}
//BigInteger的用法
import java.math.BigInteger;
//定义
BigInteger a=new BigInteger("2");
BigInteger b=new BigInteger("3");
//四则运算
//加法
a.add(b);//5
//减法
a.subtract(b);//-1
//乘法
a.multiply(b);//6
//除法
a.divide(b);//0
//类型转换
int c=a.intValue();//将BigInteger型转换为int型,其他同理
int d=1;
BigInteger e=BigInteger.valueOf(d);//将int类型转换为BigInteger型
//取模
BigInteger e=x.mod(y);
//比较大小
int res;
res=x.compareTo(y);
if(res==0) {
System.out.println("x和y相等”);
}
if(res==1) {
System.out.println("x比y大");
}
if(res==-1) {
System.out.println("x比y小");
}
//数组排序(不用自己写系列)
import java.util.Arrays;
import java.util.Collections;
//一维数组从小到大
int num[]={1,5,7,3,4};
Arrays.sort(num);
//一维数组从大到小
Integer num[]={1,5,7,3,4};
Arrays.sort(num,Collections.reverseOrder());
//二维数组按照每行所有列的总和从小到大
int num[][]=new int[3][2];
Arrays.sort(num,(a,b)->(a[0]+a[1])-(b[0]+b[1]));
//二维数组只排特定一行的大小
Arrays.sort(num[2]);
//二维数组自定义排序
int a[][]={{2,4},{1,2},{1,3}};
Arrays.sort(a, new Comparator<int []>() {
@Override
public int compare(int[] o1, int[] o2) {
// TODO Auto-generated method stub
return o1[1]-o2[1];//按照每行的第二列的大小排序
}
});
//完全二叉树
完全二叉树需留意二叉树不是满二叉树
//set容器
//定义
Set<Integer> set=new HashSet<>();
//添加元素
set.add(0);
//删除元素
set.remove(0);
//将set集合转换成list集合
List<Integer> list=new ArrayList<>(set);
//String.substring()截取字符串指定部分
String s="qwertyuir";
String s1=s.substring(4,7);//前闭后开区间
System.out.println(s1);//tyu
//将字符串类型转换成整数
String s2="02";
int a=Integer.parseInt(s2);
System.out.println(a);//2
//直线Ax+By+C=0
A=y2-y1;
B=x1-x2;
C=y2*x1-x2*y1
//求三个数的最大公约数要先求值小的两个数的最大公约数,然后再求公约数和最大值的最大公约数
//字符串的比较用equals()方法
//定义最大值:int value=Integer.MAX_VALUE();
//将字符串转换成字符数组
String a="123456";
char b[]=a.toCharArray();
//将字符数组转换成字符串
String s=String.valueOf(b);
//提高求底数为a,指数为b的幂运算的运算效率(快速幂运算)
```java
public static long pow3(int a, int b){
long ans = 1;
while(b > 0){
if((b & 1) == 1){//(b&1)取最低位的值
ans *= a;
}
a *= a;
b >>= 1;//b右移
}
return ans;
}
//将字符串的某一个位置的字符单拿出来
String a="abcdefg";
char s=a.charAt(2);//c
//输入一个数字之后再输入字符串
//1.如果字符串中不含空格
int n=scan.nextInt();
String s=next();
//2.字符串中含有空格
int n=scan.nextInt();
scan.nextLine();//吸收整数后面的换行符
String s=nextLine();
//遍历含有空格的字符串,但又不想要其中的空格
for(String i:s.split(" ")) {
System.out.println(i);
}
//将ArrayList对象转换为普通数组,例如整形
int n=list.size();
Integer a=new Integer[n];//必须是Integer型 不能是int型
list.toArray(a);
//判断两个Integer型数需用equals()方法
//开方
a=Math.sqrt(b);
//字符串反转输出
String s1="abc";
String s2=new StringBuffer(s1).reverse().toString();
System.out.println(s2);//cba