一、String—>String[]
利用String.split()实现
注:在使用String.split 方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果,例如“|”,“*”,“+”等,需要变为“\\|”,“\\*”,“\\+”才可以。
String str = new String("abcedfg");
String[] arr = str.split("");
利用String.toCharArray()实现
String str = new String("abcedfghig");
char[] chr = str.toCharArray();
二、String[] —> String
借助StringBuffer类的append(),String本身不具备此方法
String[] str = new String[]{"abc","123","78"};
StringBuffer sb = new StringBuffer();
for(int i = 0;i<str.length;i++){
sb.append(str[i]);
}
三、char[] —> String
通过char.toString()
char[] chr = new char[]{'a','b','c'};
chr.toString();
通过String.valueOf()
char[] chr = new char[]{'a','b','c'};
String.valueOf(chr);
四、处理末位带空格的情况
针对末位带空格,通过StringBuffer或者StringBuilder来实现存储,并能够进行多次修改
通过StringBuffer实例.substring(0,StringBuffer实例.length()-1)实现将末位空格去除,再统一输出
五、其他类型转String
直接调用String.valueOf()进行转换
也使用可以使用int+“”;转成字符串
通过String.chatAt()获取下标元素
通过String.substring()截取i之后的元素
通过String.split(“”)分隔字符串得到数组
六、String—>int
String a = Integer.valueOf(b);
String a = Integer.ParseInt(b);
七、char–>String
String str = String.valueOf(char)
八、自定义排序
Arrays.sort(point,0, n, new Comparator() {
@Override
public int compare(Point o1, Point o2) {
if (o1.x - o2.x == 0) {
return (int) (o1.y - o2.y);
}
return (int) (o1.x - o2.x);
}
});
九、for each 输出
for (Point i:point
) {
System.out.println(i.x + "," + i.y);
}
十、大数阶乘
import java.math.BigInteger;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner inputScanner=new Scanner(System.in);
while(inputScanner.hasNext())
{
int n=inputScanner.nextInt();
BigInteger m;
m=BigInteger.valueOf(1);//将m定义成大数的1
for(int i=1;i<=n;i++)
{
m=m.multiply(BigInteger.valueOf(i));//大数乘法
}
System.out.println(m);
}
}
}
十一、大数加、减、乘、除、取余
//定义:
BigDemical bg = new BigDemical(int)
BigDemical bg = new BigDemical(String)
//加:
jia = bg.add(new BigDemical(1))
//减:
jian = bg.subtract(new BigDemical(1))
//乘:
cheng = bg.multiply(new BigDemical(1))
//除:
chu = bg.divide(new BigDemical(1))
//取余
yu = bg.divideAndRemainder(new BigDemical(2))
//返回一个数组:商yu[0] 余数yu[1]
十二、Java Character 类
Character 类用于对单个字符进行操作。
Character 类在对象中包装一个基本类型 char 的值
十三、模运算
a&1 等价于 a%2 == 0
a>>=1 等价于 a/=2
十四、next()与nextLine()
next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法会将输入的空格键、Tab键或Enter键等视为分隔符或结束符,所以next方法不能得到带空格的字符串。
而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。
要注意的是在每一个 next()、nextDouble() 、 nextFloat()、nextInt() 等语句之后如果还有一个nextLine(),需要再加一个nextLine()语句,将next()之后Enter结束符过滤掉,否则nextLine()会读取到Enter,而不能继续读取数据。