Java基础的一些常用类及其常用方法

一.String类及其常用方法

  1. 长度 length()
  2. 拼接 str.concat(str2)
  3. 格式化
 //方式一
System.out.printf("大家好,我的名字叫:%s,我今年:%d岁了,我的存款有:%f %n","曹操",36,999.99);
//方式二
String s = String.format("大家好,我的名字叫:%s,我今年:%d岁了,我的存款有:%f","曹操",36,999.99);
System.out.println(s);
  1. **charAt(index)**返回指定索引处的字符
  2. **indexOf(str)**返回指定字符串在此字符串中第一次出现处的索引
  3. **compareTo(str2)**比较两个字符串
  4. equals()equalsIgnoreCase()
  5. **getBytes()**使用默认字符集将字符串变为字节数组,IO流中会用到
  6. toCharArray() 字符串转换为字符数组
  7. 截取:subString()
  8. 转换成大小写toLowerCase() toUpperCase()
  9. 截取前后空白 trim()
  10. 替换:replace()
  11. 分割:split()
  12. 正则匹配 matches(String reg) 返回boolean

二.正则表达式

  • 正则表达式的介绍:
    正则表达式,又称规则表达式。(英语:Regular Expression,常简写为regex)。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。支持正则表达式的有:PHP、Java、Python、JavaScript等。有了正则表达式写代码更加简洁,通常两三行代码就可以达到目的。
  • 规则
  1. 任意一个字符表示匹配任意对应的字符,如a匹配a,7匹配7,-匹配-。

  2. []代表匹配中括号中其中任一个字符,如[abc]匹配a或b或c。

  3. -在中括号里面和外面代表含义不同,如在外时,就匹配-,如果在中括号内[a-b]表示匹配26个小写字母中的任一个;[a-zA-Z]匹配大小写共52个字母中任一个;[0-9]匹配十个数字中任一个。

  4. 在中括号里面和外面含义不同,如在外时,就表示开头,如7[0-9]表示匹配开头是7的,且第二位是任一数字的字符串;如果在中括号里面,表示除了这个字符之外的任意字符(包括数字,特殊字符),如[^abc]表示匹配出去abc之外的其他任一字符。

  5. .表示匹配任意的字符。

  6. \d表示数字。

  7. \D表示非数字。

  8. \w表示字母、数字、下划线,[a-zA-Z0-9_]。

  9. \W表示不是由字母、数字、下划线组成。

  10. [\u4e00-\u9fa5]匹配汉字

  11. ?: 表示出现0次或1次。

  12. +表示出现1次或多次。

  13. *表示出现0次、1次或多次。

  14. {n}表示出现n次。

  15. {n,m}表示出现n~m次。

  16. {n,}表示出现n次或n次以上。

//要匹配的字符
	String str = "8";
//正则表达式
	String regex = "[0-9]";
// 方式一
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(str);
    System.out.println(m.matches());
//方式二
	System.out.println(Pattern.matches(regex, str));
//方式三
	System.out.println(str.matches(regex));

例子:

 //某网站要求注册的账号只能是:字母和数字,不能都是字母,不能都是数字,且要求字母开头,长度在6-12之间,
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        //断言 ,预测 (?!正则 ) 排除 正则匹配的情况
        String s="";
        while (!s.matches("^[a-zA-Z](?![a-zA-Z]{5,11}$)[a-zA-Z0-9]{5,11}")){
            System.out.println("请输入注册账号:");
            s = sc.next();
        }
        System.out.println("注册成功!");
    }

三.Math

Math常用方法

  • 向上/下取整,四舍五入 ceil() floor() round()
  • 绝对值 abs()
  • 随机数 random() 范围:[0,1) 小数
  • 幂函数 pow(a,b)
  • sqrt()平方根

四.日期类

1.Date

1、创建一个当前时间的Date对象

//创建一个代表系统当前日期的Date对象
  Date d = new Date();

2、创建一个我们指定的时间的Date对象:
使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要代表的年份减去1900,实际需要代表的月份减去1以后的值。

//创建一个代表2014年6月12号的Date对象
Date d1 = new Date(2014-1900, 6-1, 12); (注意参数的设置)

3、正确获得一个date对象所包含的信息,如:
    Date d2 =  new Date(2014-1900, 6-1, 12);
    //获得年份 (注意年份要加上1900,这样才是日期对象d2所代表的年份)
        int year = d2.getYear() + 1900;
    //获得月份  (注意月份要加1,这样才是日期对象d2所代表的月份)
        int month = d2.getMonth() + 1;
     //获得日期
        int date = d2.getDate();
     //获得小时
        int hour = d2.getHours();//不设置默认为0
     //获得分钟
        int minute = d2.getMinutes();
     //获得秒
        int second = d2.getSeconds();
     //获得星期 
		int day = d2.getDay();

2.Calendar

1.Calendar类的功能要比Date类强大很多,考虑了时区等问题。
2.Calendar类是一个抽象类,提供了getInstance方法用来创建对象。
//1.创建一个代表系统当前日期的Calendar对象
Calendar c = Calendar.getInstance();//默认是当前日期
//2.创建一个指定日期的Calendar对象
Calendar c1 = Calendar.getInstance();
c1.set(2014, 5 - 1, 9)//3.创建一个指定日期的Calendar对象--方式二
c1.set(Calendar.DATE,10);
c1.set(Calendar.YEAR,2015);
//4.获取时间
    // 获得年份
    int year = c1.get(Calendar.YEAR);
    // 获得月份
    int month = c1.get(Calendar.MONTH) + 1;(MONTH+1// 获得日期
    int date = c1.get(Calendar.DATE);
    // 获得小时
    int hour = c1.get(Calendar.HOUR_OF_DAY);
    // 获得分钟
    int minute = c1.get(Calendar.MINUTE);
    // 获得秒
    int second = c1.get(Calendar.SECOND);
    // 获得星期几
    int day = c1.get(Calendar.DAY_OF_WEEK);
//5.和Date关联
setTime(new Date())

3.SimpleDateFormat

​ 日期格式化

//1.创建格式化对象
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//2.调用format或parse方法,可以进行String和Date之间的转换
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值