java复习(3)字符串、数组

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练习
        
    }
}
原文地址:https://www.cnblogs.com/weberweber/p/6588986.html