现在的位置: 首页 > 综合 > 正文

java零碎知识总结(不断更新中)

2014年03月03日 ⁄ 综合 ⁄ 共 1866字 ⁄ 字号 评论关闭

String类的相关方法:

1.整型数转化为制定长度的字符串,不足为数前面补零

String.format(String format,Object  args)

具体使用如:

String.format("%06",123)//其中6转换后字符串的长度,123为要转换的整数,返回结果为String型

输出结果000123

2.int \char等基本数据类型转换为String

int a;
String s = Integer.toString(a);
char a;
String s = Character.toString(a);

3.replaceAll()方法的使用:

(一)一般方法:
区分大小写的替换:
String source = "AAaaBBa";
source.replaceAll("a","G") ;

运行结果为AAGGbbG 其中"a"是要替换的字符,“G”是替换字符

不区分大小写的替换:
String source = "AAaaBBa";
String change = "a";
source.replaceAll("(?i)"+change,"G");

运行结果为GGGGBBG  其中“(?i)”表示对大小写不敏感
(使用正则表达式)

String source = "AAaaBBa";
String oldString = "a";
String newString = "G";
Matcher m = Pattern.compile(oldString, Pattern.CASE_INSENSITIVE).matcher(source);//大小写敏感,即区分大小写
System.out.println(m.replaceAll(newString));
Matcher m1 = Pattern.compile(oldString, Pattern.CANON_EQ).matcher(source);//CANON_EQ:canonical equivalence(规范相等性)即严格的相等也即是区分大小写
System.out.println(m1.replaceAll(newString));

运行结果:

GGGGBBG
AAGGBBG
(二)使用正则表达式去掉String中重复的元素
String s = "aaaaaabbbbcccc";
s = s.replaceAll("(?s)(.)(?=.*\\1)" , "");
System.out.println(s);

运行结果:abc

BigInteger类的一些方法:

1.BigInteger转换为二进制

BigInteger n = scanner.nextBigInteger();
String s = n.toString(2);

其中可以更改为其他数字,表示要转换为的进制数

Scanner输入的一些问题

1.char型是Scanner不能输入的。解决方式为:char a = (char)System.in.read();

其中System.in.read();返回值为int类型,也就是说将控制台输入的字符转换为其的Ascall(0-255)值后输出,只能检测一个字符。

如输入ab时,输出结果为97(a的Ascall码)

2.

Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
String s = scanner.nextLine();
System.out.println("a:"+a+" s:"+s);

如果输入的是3 4(3 4之间有一个空格)则输出结果是a:3 s: 4(注意此时4前面有一个空格也作为输出)

如果输入的是3然后回车,则输出的是a:3 s:(此时s是一个行分隔符)

注:scanner.nextLine()方法扫描的是当前行的起始位置到换行截止(注意这里的起始位置指的是上一个类型扫描结束后的第一个位置,对于上例而言就是在扫描3之后的空格就

是起始位置终止在回车)。换行不输出。输入3之后换行,实际上扫描到的字符是\r\n,但是因为回车\n不输出从而s="\r"(输出时即换行)。

实际上相当于nextLine()吃进了回车\n不作为输出。

final关键字的使用

final 关键字可修饰类、成员变量、方法

1.final修饰类时,表示这个类不可以被继承如String和Math类

2.final修饰成员变量时,表示这个变量是常量。一旦初始化后,将不能被修改。如果final修饰的是引用型变量则此变量不可以改变,不能再指向其他对象。但可以修改此变量的属性值。

3.final修饰方法时,表示这个方法不能在子类中被重写。

抱歉!评论已关闭.