9.java基本类型包装类
~~~~~~基本类型包装类~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*char-->Character int-->Integer
*基本数据类型特点:1都不是对象,2都没有方法
----Integer常用方法(转)-------------------------------------
**integer.xvalue() x为基本数据类型,功能是将integer对象转换成对应类型
**parseInt(String s) parseInt(String s, int radix)指定基数 toString(int i, int radix) 将i转成radix进制的数,以字符串输出
*toBinaryString(int i) 10转2 toOctalString(int i)10转8 toHexString(int i) 10转16 返回为字符串类型
* valueOf(String s, int radix)将s转为radix进制的integer对象
*Character.isDigit('a')判断字符是不是数字,isLetter(char ch) 判断字符是不是字母 toString()
*~~~~~~~String~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*改:4 getBytes() 转字节数组substring(1,5)截取从1-5的字符串,包括前不包括后 replace('c','b')将字符串中的c替换成b trim()返回字符串副本,不带前后空格,中间不管
*查:3 charAt() 返回指定索引处的值 indexOf('a',3)从指定字符串中从3角标开始找,有a字符的角标lastIndexOf()
*判:endsWith(String suffix) equalsIgnoreCase(String anotherString) 忽略大小写比较startsWith(String prefix)startsWith(String prefix, int 开始角标)
--->matches() 判断字符串是否匹配给定正则表达式
--->contains()判断子字符串是否是字符串中的子类
*特:System.out.printf("%.2f",(float)a); 保留2位小数输出(详解见笔记中格式化输出举例) String.format(%2d,%s,5,"abc")d表示整数占位符,s代表字符串占位符
--->split("#")以#拆分字符串,返回字符串数组,*拆分要\\*
*~~~~~~~~~StringBuffer~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**stringBulider不安全但速度快,stringBuffer安全
**常用方法:
*增 append(添加字符数组、基本数据类型、对象)、
*删 delete(删除从1-5的元素) deleteCharAt(int index)
*改 setCharAt(2,r) substring(1,4)返回指定角标子串修改指定索引位的值为r replace() insert(指定位置插入,其他类型)reverse(反转)
*查 length()charAt(返回索引处的值) indexOf("a")返回第一次出现a的角标lastIndexOf()
***面试string ,stringBulider,stringBuffer区别string是定长字符串,建立后不能改变,后两者是变长字符串
~~~~~~~java常用类~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
***最终类 String System Math
*Math abs(绝对值) acos(反余弦) cos() round(+0.5取小)cbrt(立方根) ceil(5.1)结果6 floor(5.1)结果5
* pow(double a, double b)a的b次方 sqrt(返回算数平方根)
*计算任意区间的随机数公式[a,b]-->(b-a+1)*Math.random()+a Random类Random ra=new Random(这里填具体数则随机数为常量) nextInt(9) 生成0-9的随机数,不包括9
*时间格式化两种方式:
1、Date date=new Date();
DateFormat df=DateFormat.getDateInstance();
System.out.println(df.format(date));
2、SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss S");
String strDate=sdf.format(date);
System.out.println("strDate="+strDate);
*日历类~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Calendar 日历类 抽象类System.out.println(Calendar.getInstance().get(Calendar.YEAR));DAY_OF_MONTH ,DAY_OF_WEEK ,DAY_OF_HOUR,MINUTE ,SECOND
Calendar cl=Calendar.getInstance();
Date date=cl.getTime();
~~~~~~~~正则表达式~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**正则表达式 主要用于匹配字符串 String regex="a*b" a可以有任意次数,b只能有一次
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
String regex="a*b";
boolean b="aaaaaab".matches(regex);
System.out.println("b="+b);*/
*[abc]字符串能匹配a或b或c,只匹配单个
*[^abc]匹配abc以外所有字符
*[a-zA-Z]匹配所有大小写字母
*"."匹配任意单个字符,"\\d"匹配任意单个数字,""
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9] 注意:包含_和单个数字
\W 非单词字符:[^\w]
"^a*b$" 以a开头,b结尾。a可以出现任意次
边界匹配器
^ 行的开头
$ 行的结尾
\b 单词边界
\B 非单词边界
\A 输入的开头
\G 上一个匹配的结尾
\Z 输入的结尾,仅用于最后的结束符(如果有的话)
\z 输入的结尾
Greedy 数量词
X? X,一次或一次也没有
X* X,零次或多次
X+ X,一次或多次
X{n} X,恰好 n 次
X{n,} X,至少 n 次
X{n,m} X,至少 n 次,但是不超过 m 次
Logical 运算符
XY X 后跟 Y
X|Y X 或 Y
(X) X,作为捕获组
特殊构造(非捕获)
(?:X) X,作为非捕获组
(?idmsux-idmsux) Nothing,但是将匹配标志i d m s u x on - off
(?idmsux-idmsux:X) X,作为带有给定标志 i d m s u x on - off
的非捕获组 (?=X) X, 括号前方字符的后面是否跟的是x,是则匹配
(?!X) X,匹配括号前字符的前面的字符是否是x,
(?<=X) X,匹配括号前字符的前面的字符是否是x,是则匹配
(?<!X) X,匹配括号前字符的前面的字符是否是x,否则匹配
(?>X) X,
()代表组,组的编号从1开始
通过组提取数据~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~``
String a="a*(\\d)";
boolean b="aaaab".matches(a);
Pattern p=Pattern.compile(a);
Matcher m=p.matcher("aaaaabc123");
while(m.find()){
String str=m.group(1);
System.out.println(str);
}
数据替换~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
public class Zhengze {
public static void main(String []a){
String e="a*(\\d*)";
String g="aaaab132123";
Pattern p=Pattern.compile(e);
Matcher m = p.matcher(g);
while(m.find()){
System.out.println(m.group(1));}
g=m.replaceFirst("hiahia");
System.out.println(g);
}}
Runtime runtime=Runtime.getRuntime();
Process process=runtime.exec("calc");
~~~~~~~~枚举~~~~~~~~~~~~~~~
public enum Light {
RED , GREEN , YELLOW ;
}