8月30号学习总结

8月30号学习总结

1.异常(Excepetion)

1.1 处理异常
try{
...
}catch(Exception e){
...
}finally{
...
}

finally
无论是否出现异常都会被执行,特别要注意的是,如果没有写 catch ,那么 finally 是会被执行的,但是中断后的语句是不会被执行的。

1.2 不处理异常(抛出)

自定义异常throw new Exception(…);
方法声明异常throws x,x1….;

public class Client {
    public static void main(String[] args) {
        try {
            fun1(16);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    public static void fun1(int age) throws Exception {
        if (age < 18) {
            System.out.println("不允许进入房间");
            throw new Exception("年龄限制不允许进入");
        } else {
            System.out.println("允许进入");
        }
    }
}
1.3 异常堆栈信息。

异常类:异常提示信息
堆栈信息:自下而上是异常出现的代码所在方法的调用顺序的先后。
查询最上面一层,最直接,最有效。

2.常用类。

2.1 String

toString()方法
当我们创建一个对象,需要打印它的一些值的时候会获得一个地址,此时我们可以重写
toString()方法来直接获得值,而不是获取地址。

@Override
    public String toString() {
        return follow + point;
    }

常用方法
1.charAt(int index)
返回指定索引出的char值。
2.concat()
连接2个字符串,返回新的字符串。
3.contains()
包含,返回布尔值。
4.endWith()
判断字符串是否以XXX结尾,返回布尔值。
5.equals()
equals比较的是内容
==比较的是地址
6.indexOf()
返回字符从左往右第一次出现的索引。
7.lastIndexOf()
返回字符从右往左第一次出现的索引。
8.isEmpty()
判断字符串长度是否为0,返回布尔值。
9.length
返回字符串的长度。
10.replace()
替换,返回新的字符串。
11.replaceAll()
替换,返回新的字符串。
12.split(正则表达式)
匹配到什么,就以什么分割,返回一个数组。
13.startsWith()
判断字符串是否以XXX开头,返回布尔值。
14.substring(start,end)
截取字符串。
15.toLowerCase()
将字符串转化为小写。
16.toUpperCase()
将字符串转换为大写。
17.trim()
去掉起始和结束的空格。

2.2 StringBuffer

在进行大数据的字符串拼接时使用 StringBuffer

public class Demo3 {
    public static void main(String[] args) {
        Date d11 = new Date();
        String s = "";
        for (int i = 0; i < 100000; i++) {
            s += 1;
        }
        Date d22 = new Date();
        System.out.println(d22.getTime() - d11.getTime()); // 3418

        Date d1 = new Date();
        StringBuffer sb = new StringBuffer("");
        for (int i = 0; i < 100000; i++) {
            sb.append(i);
        }
        Date d2 = new Date();
        System.out.println(d2.getTime() - d1.getTime()); // 16
    }
}
2.3 Date

getDate()
getDate() 方法可返回月份的某一天。

getDay()
getDay() 方法可返回一周(0~6)的某一天的数字。

getFullYear()
getFullYear() 方法可返回一个表示年份的 4 位数字。

getHours()
getHours() 方法可返回时间的小时字段。

getMilliseconds()
getMilliseconds() 方法可返回时间的毫秒。(0-999)

扫描二维码关注公众号,回复: 3076059 查看本文章

getMinutes()
getMinutes() 方法可返回时间的分钟字段。 (0-59)

getMonth()
getMonth() 方法可返回表示月份的数字。返回值是 0(一月) 到 11(十二月) 之间的一个整数。

getSeconds()
getSeconds() 方法可返回时间的秒。返回值是 0 ~ 59 之间的一个整数。

getTime()
getTime() 方法可返回距 1970 年 1 月 1 日之间的毫秒数。

SimpleDateFormat
Java中怎么才能把日期转换成想要的格式呢,或把字符串转换成一定格式的日期,如把数据库中的日期或时间转换成自己想要的格式,JAVA中提供了SimpleDateFormat类可以实现。

SimpleDateFormat 是一个各种项目中使用频度都很高的类,主要用于时间解析与格式化,频繁使用的主要方法有parse和format.

parse方法:将字符串类型(java.lang.String)解析为日期类型(java.util.Date)
format方法:将日期类型(Date)数据格式化为字符串(String)

SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
这里写图片描述

Date d = new Date(); // 获取当前的服务器时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss.SSS");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
System.out.println(sdf2.format(d));
System.out.println(sdf.format(d));

计算两个日期间隔的天至毫秒数。

String str1 = "2018年08月30日 11:36:36.538";
String str2 = "2017年10月30日 12:46:36.538";
SimpleDateFormat dfs = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss.SSS");
 long between = 0;
 try {
     java.util.Date begin = dfs.parse(str2);
     java.util.Date end = dfs.parse(str1);
     between = (end.getTime() - begin.getTime());// 得到两者的毫秒数
     System.out.println(between);
 } catch (Exception ex) {
     ex.printStackTrace();
 }
 long day = between / (24 * 60 * 60 * 1000);
 long hour = (between / (60 * 60 * 1000) - day * 24);
 long min = ((between / (60 * 1000)) - day * 24 * 60 - hour * 60);
 long s = (between / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
 long ms = (between - day * 24 * 60 * 60 * 1000 - hour * 60 * 60 * 1000
         - min * 60 * 1000 - s * 1000);
 System.out.println(day + "天" + hour + "小时" + min + "分" + s + "秒" + ms
         + "毫秒");

猜你喜欢

转载自blog.csdn.net/pingxiaoje/article/details/82226774