String有很多方法,复习一下,把一些很少用的稍微过遍手,加强记忆,方便以后工程上直接使用
(1)length() 返回长度
(2)indexOf() 返回字符串中字符的下标 如:s.indexOf('a') 注意字符串下标从0开始
同理 有 lastIndexOf()、 charAt()
(3)subString(int beginIndex, int endIndex ) 返回子字符串
(4)trim() 去空格 toLowerCase()全小写 同理 toUpperCase() 全大写
(5)replace(char old, char new) 某字符全替换
(6)startsWith(String begin) 返回布尔,判断是否以某串开头 同理有 endsWith()
(7)equals(String s) 判断是否字符串相等 等同于"=="判断 返回布尔 同理equalsIgnoreCase()
(8)format("%tX",Object...orgs) 格式化、常用于日期、时间的格式化
(9)正则表达式 判断字符串是否满足某一格式 如邮箱、密码
ps:很多时候需要字符转换,有方法可将字符串转换为数字:
int a=Intenger.parseInt(String s); //转为整数
double b=Double.valueOf(String s);//转为对应浮点数
简单练习代码如下,看了基本都清楚了。目的就是稍微过遍手拉熟悉下拉,方便工程快速使用
package re03; import java.util.Date; /** * Description:String练习 * * @author weber DateTime 2017年3月20日 下午2:38:36 */ public class StringPractice { public String subStringPractice(String s) { String sub = s.substring(0, s.length() - 5); // substring 取子字符串 sub.trim(); // trim 去空格 return sub; } public boolean startEndPractice(String s) { char sta[] = { s.charAt(0), s.charAt(1) }; //charAt 获取下标对应char char en[] = { s.charAt(s.length() - 2), s.charAt(s.length() - 1) }; String start = new String(sta); String end = new String(en); return (s.startsWith(start) && s.endsWith(end)); //startsWith 判断是否以某字符串开头 } public boolean equalPractice(String s) { return s.equalsIgnoreCase(s.toLowerCase().toUpperCase()); //equal 判断相等 toLowerCase 全小写 } public void formatPractice() { Date d = new Date(); String day = String.format("%te", d); //format 格式化 String month = String.format("%tB", d); String year = String.format("%tY", d); String form = String.format("%tF", d); System.out.println(form + "\n" + year + month + day); } public void judgePractice(String s) { String refer = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}"; //正则表达式 if (s.matches(refer)) System.out.println("合法邮箱"); else System.out.println("不合法邮箱"); } public static void main(String[] args) { String s = "http://www.cnblogs.com/weberweber/"; StringPractice p = new StringPractice(); System.out.println(p.subStringPractice(s)); System.out.println(p.startEndPractice(s)); System.out.println(p.equalPractice(s)); p.formatPractice(); p.judgePractice(s); } }
数组同样也有一些方法,在这里简单复习熟悉:
(1)length 返回长度,二维数组b[][]有 b.length 和 b[i].length 两个方法
(2)fill(int arr[], int fromIndex, int toIndex , int value) 填充
(3)copyOf(Object arr, int length); 返回一个新数组 同理有 copyOfRange(Object arr, int fromIndex, int toIndex, int value)
(4)sort(Object arr) 从小到大排序,数字先于大写字母先于小写字母
(5)binarySearch(arr, int fromIndex, int to Index, int value) 返回索引到值的下标
简单练习代码如下,看了基本都清楚了。目的就是稍微过遍手拉熟悉下拉,方便工程快速使用
package re03; import java.util.Arrays; import java.util.Scanner; public class ArrayPractice { public static void main(String[] args) { int a[]=new int[]{1,2,3}; int c[]=Arrays.copyOf(a,5); //copyOf练习 int b[][] = new int[2][3]; System.out.println(Arrays.toString(c)); //toString练习 for(int i:a){ System.out.println(i); } Arrays.fill(a, 2, 3 , 4); //fill练习 System.out.println(Arrays.toString(a)); Scanner sc = new Scanner(System.in); for(int i=0;i<b.length;i++) for(int j=0;j<b[i].length;j++) { b[i][j]=sc.nextInt(); } sc.close(); Arrays.sort(b[1]); //sort练习 System.out.println(Arrays.toString(b[1])); b[1][2]=5; System.out.println(Arrays.binarySearch(b[1], 5)); //binarySearch练习 } }