1.获取char字符
char a = sc.next().charAt(0);
0代表拿字符串的第几个字符
2.大小字符转换
a(97)到A(65)可以用a-32
A(65)到a(97)可以用A+32
例子:
3.拿到String字符串的具体值(可配合for循环来反转字符串,第8条也可以反转)
比如:String a = ab32.65,要拿到2,就需要a.charAt(3)

4.要精确到少数点后几位
有两种方法,一种输出完会换行输出,另一种不会换行输出(这两种都是四舍五入的精确)
(1).System.out.printf("%.3f",a);------不换行
(2).String b = String.format("%.3f",a); System.out.println(b);-------换行
5.计算一个数字的指定次幂或开方根
比如:
计算2的3次方: Math.pow(2,3)
计算2的开平方根: Math.pow(2,0.5)
6.向前补0使达到指定宽度(可用来做时间题)
(1).整数类型
int hour = 5; int minute = 15;
System.out.printf("%02d:%02d\n",hour,minute); //输出"05:15"
这里面0代表没达到位数在前补0(只能补0,不能是其他数字); 2代表宽度为2个数; d代表这是整数类型; :代表两个数之间是:(可以换成空格等其他)
(2).小数类型
double a = 2.5;
System.out.printf("%03.4f\n",a); //输出2.5000
System.out.printf("%05.2f\n",a); //输出02.50
这里面0代表没到达位数在前补0; 3代表宽度为3个数(注意,这里的宽度是包含了小数点的,并且如果后面小数比3大,要优先满足后面的数); .4代表在小数点后面保留4位小数,如果没那么多在后补0; f代表这是小数类型
7.向后补0使达到指定宽度
方法一:
int num = 5;
String a = String.format("%d00",num);
System.out.println(a); //输出"500"
这个方法是你在d后输几个0就在后面加几个0,你输3个1,就会输出"5111"
优点: 代码简洁
缺点: 要知道num具体的值
方法二:
double a = sc.nextDouble();
//拿到整数部分
int b = (int) a;
//拿到小数部分
double c = a-b;
//整数部分个数
int num = String.valueOf(b).length();
//6是要求的宽度,d是小数应是多少位
int d = 6-num;
System.out.printf("%."+d+"f",a);
这个代码注意不包含小数点,也就是12.35是宽度为4
优点: 只需要知道要求的宽度是多少即可
缺点: 代码冗余
8.反转字符串
double a = sc.nextDouble();
//把小数转换为字符串类型
String b = String.valueOf(a);
//把字符串转换成StringBuilder类型
StringBuilder hh = new StringBuilder(b);
//核心代码,reverse()可用来反转
StringBuilder num = hh.reverse();
System.out.println(num);
9.向上取整
Math.ceil(数字);
10.向下取整
Math.floor(数字),可以用来判断一个数是否有小数
比如一个double型数字,可以Math.floor(num) == num,如果相等就说明没有小数,可以转成int类型使后面的.0去掉
11.StringBuilder的实用方法
(1). insert(int offset, String str): 在指定位置插入字符串
(2). delete(int start, int end): 删除从start到end位置的字符
(3). replace(int start, int end, String str): 替换从start到end位置的字符为指定的字符串
(4). substring(int start, int end): 从指定位置开始到另一个指定位置结束的子字符串
(5). toString(): 将StringBuilder对象转换为字符串
12.String的实用方法
(1). String.valueOf('a'); 把int,char,double,boolean,char[] 等类型变成String类型,返回类型:String
(2). a.equalsIgnoreCase("b"); 忽略大小写比较两个字符串的内容是否一样,返回类型:boolean
(3). a.contains("b"); 判断一个字符串里面是否包含指定内容,返回类型:boolean
(4). a.startsWith("b"); 判断一个字符串是否以指定的内容开头,返回类型: boolean
(5). a.endsWith("b"); 判断一个字符串是否以指定的内容结尾, 返回类型: boolean

13.从小到大排序(从大到小排序)
从小到大: Arrays.sort(数组名) 可以对数组进行从小到大排序
从大到小: 可以使用冒泡排序
冒泡排序例子:
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//用户输入依次添加到数组
int[] arr = new int[3];
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
//冒泡排序
for (int y = 0; y < arr.length-1; y++) {
for (int j = 0; j < arr.length - y-1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//打印数组
for (int l = 0; l < arr.length; l++) {
System.out.print(arr[l] + " ");
}
}
}
14. 取绝对值
Math.abs(a)
返回a(int,long,double,float)的绝对值
15.BigInteger常用方法(阶乘这种要高精度的用此类)
BigInteger a = new BigInteger("5");
BigInteger b = new BigInteger("3");
BigInteger num = a.add(b); //8 加法
BigInteger num1 = a.subtract(b); //2 减法
BigInteger num2 = a.multiply(b); //15 乘法
BigInteger num3 = a.divide(b); //1 除法
BigInteger num4 = a.remainder(b); //2 取余
常量:
BigInteger.ZERO //0;
BigInteger.ONE //1;
BigInteger.valueOf(a) //5;
1758

被折叠的 条评论
为什么被折叠?



