1. 基础知识
数据类型、运算符、以及循环判断等与C++类似;
2.数组
(1).数组复制
System.arraycopy(Object source,int srcStart,Object dest,int destStart,int length);
参数分别为源数组,原数组的起始位置,目标数组,目标数组的起始位置,要复制数组的长度
(2).Arrays类的几个简单方法
所在的java包为java.util.Arrays
Arrays.sort(arr);对数组进行快速排序,默认升序
Arrays.equals(arr1,arr2);判断两个数组内的元素是否完全相等,如果完全相等返回true 否则返回false;
Arrays.binarySearch(arr,v);判断数组中是否含有v,采用二分查找,找到的话返回index,否则返回-1;
Arrays.fill(arr,0); 数组填充,将数组全部赋值为0;
Arrays.copyOf(arr,length);返回复制arr的length长度的数组,arr长度小于length补零大于截断
Arrays.copyOfRange(arr,start,length)复制数组函数,同上
Arrays.toString(arr);将数组转化为字符串类型
Arrays.asList(arr);将数组转化为列表
(3).String类的简单使用
首先每一个字符串的是String类的对象,同时字符串也可以使用String类来构建,或者直接赋值,String类内部采用Unicode编码,因此可以像英文母一样储存中文
构建方法:
<1> String s = ""; String s = new String("zifuchuan"); 甚至可以用字符数组构建;
<2>一些简单的自带方法
String s="my name is string"
s.length(); 返回字符串的长度
s.equals(s1); 判断两个字符串是否相等
s.toLowerCase();英文字符全部转化为小写
s.toUpperCase();英文字符全部转化为大写
s.charAt(int index);返回index处的字符
s.indexOf(char ch);返回指定字符的索引位置
s.indexof(String s);返回指定字符串的索引位置
s.lastIndexOf(char c);返回指定字符最后一个索引位置
s.substring(int beginindex);返回从beginindex到结尾的字符串
s.substring(int beginindex,int endindex);返回从begin到end的字符串不包括end;
s.toCharArray();转化为一个字符数组
s.split(str);将字符串用str分割转化为字符串数组,但是当分隔符为转义字符时需要加"\\"来转义,例如"!"就是以!为分隔符,将字符串分成字符串数组;
如果str="\\?|!"时意思就是用?或者!将字符串分割成字符串数组
<3> 一些注意事项
String类是不可变类型,一旦生成了一个string对象,里面的内容时不可变的,例如:
String s1 = new String("dsds");String s2 = s1;实际上s1与s2指的是同一个对象,所以用==判断是否相等时,是判断的是否为同一个对象;
在java执行时会维护一个String池(Pool),对于一些可以共享的字符串对象,会现在String池中查找是否存在相同的String内容(字符相同),如果有就直接返回,而不是直接创造一个新的String对象,以减少内存的耗用。
String s1="haha";String s2 = "haha";此时s1==s2返回值为true;
3.正则表达式
(1).基本;
正则表达式是用来判断字符串是否匹配的,检验字符串等等,需要用到的类为Pattern类和Matcher类,包名为java.util.regex中,其中Pattern类主要进行正则规范而
Matcher类执行规范,同时String类也会本身支持一些正则表达;
(2).最基本的正则规则;
正则表达式简单来说,就是用来匹配字符串的一种模式,例如正则表达式"java",那他就只能匹配"java";
<1>.通配符‘.’ : 他可以匹配除换行符之外的任意字符,例如".ython",就可以匹配"python","jython"等等;
<2>.有特殊含义的字符需要转义,用‘\’;
<3>.字符集,如[abc],就可以匹配字符abc中任意一个,而[^abc]则是匹配除abc三个字符之外的所有字符,[a-z]表示匹配全部小写字母,[a-zA-Z0-9]匹配大小写字母数字
<4>.常用规范;
\\ 反斜线(\)字符
\t 制表符
\n 换行
\d 数字
\D 非数字
\w 字母、数字、下划线
\W 非字母、数字、下划线
\s 所有空白字符(换行、空格等)
\S 所有非空白字符
^ 行的开头
$ 行的结尾
(X表示一组规范时):X 必须出现一次
X? 可以出现0次或1次
X* 可以出现0次或1次或多次
X+ 可以出现1次或多次
X{n} 必须出现n次
X{n,} 必须出现n次以上
X{n,m} 必须出现n~m次
(X、Y表示一组规范):
XY X规范后跟着Y规范
X|Y X规范或Y规范
(X) 作为一个捕获组规范
(3).Pattern类的方法:compile(String regex);返回一个Pattern对象,参数为正则表达式;
matcher(String content);返回一个Matcher对象,参数为要正则的表达式;
split(String content);返回字符串数组,参数为要正则的表达式;
(4).Matcher类的方法:
matches() 判断是否匹配正则表达式,返回boolean值;
replaceAll(String replacement); 符合正则表达式的部分,替换成replacement,返回替换后的字符串;
(5).String类的方法:
matches(String regex);参数为正则表达式,返回值为boolean;
replaceAll(String regex,String replacement);参数为正则表达式和要替换的字符串,返回值为替换后的字符串;
split(String regex);参数为正则表达式,返回值为字符串数组;