java学习第十四天

1:正则表达式(理解)
    (1)就是符合一定规则的字符串
    (2)常见规则
        A:字符
            x 字符 x。举例:‘a‘表示字符a
            \\ 反斜线字符。
            \n 新行(换行)符 (‘\u000A‘)
            \r 回车符 (‘\u000D‘)

        B:字符类
            [abc] a、b 或 c(简单类)
            [^abc] 任何字符,除了 a、b 或 c(否定)
            [a-zA-Z] a到 z 或 A到 Z,两头的字母包括在内(范围)
            [0-9] 0到9的字符都包括

        C:预定义字符类
            . 任何字符。我的就是.字符本身,怎么表示呢? \.
            \d 数字:[0-9]
            \w 单词字符:[a-zA-Z_0-9]
                在正则表达式里面组成单词的东西必须有这些东西组成

        D:边界匹配器
            ^ 行的开头
            $ 行的结尾
            \b 单词边界
                就是不是单词字符的地方。
                举例:hello world?haha;xixi

        E:Greedy 数量词
            X? X,一次或一次也没有
            X* X,零次或多次
            X+ X,一次或多次
            X{n} X,恰好 n 次
            X{n,} X,至少 n 次
            X{n,m} X,至少 n 次,但是不超过 m 次
    (3)常见功能:(分别用的是谁呢?)
        A:判断功能
            String类的public boolean matches(String regex)
        B:分割功能
            String类的public String[] split(String regex)
        C:替换功能
            String类的public String replaceAll(String regex,String replacement)
        D:获取功能
            Pattern和Matcher
                Pattern p = Pattern.compile("a*b");
                Matcher m = p.matcher("aaaaab");

                find():查找存不存在
                group():获取刚才查找过的数据
    (4)案例
        A:判断电话号码和邮箱
        B:按照不同的规则分割数据
        C:把论坛中的数字替换为*
        D:获取字符串中由3个字符组成的单词

2:Math(掌握)
    (1)针对数学运算进行操作的类
    (2)常见方法(自己补齐)
        A:绝对值
        B:向上取整
        C:向下取整
        D:两个数据中的大值
        E:a的b次幂
        F:随机数
        G:四舍五入
        H:正平方根
    (3)案例:
        A:猜数字小游戏
        B:获取任意范围的随机数

3:Random(理解)
    (1)用于产生随机数的类
    (2)构造方法:
        A:Random() 默认种子,每次产生的随机数不同
        B:Random(long seed) 指定种子,每次种子相同,随机数就相同
    (3)成员方法:
        A:int nextInt() 返回int范围内的随机数
        B:int nextInt(int n) 返回[0,n)范围内的随机数

4:System(掌握)
    (1)系统类,提供了一些有用的字段和方法
    (2)成员方法(自己补齐)
        A:运行垃圾回收器
        B:退出jvm
        C:获取当前时间的毫秒值
        D:数组复制

5:BigInteger(理解)
    (1)针对大整数的运算
    (2)构造方法
        A:BigInteger(String s)
    (3)成员方法(自己补齐)
        A:加
        B:减
        C:乘
        D:除
        E:商和余数

6:BigDecimal(理解)
    (1)浮点数据做运算,会丢失精度。所以,针对浮点数据的操作建议采用BigDecimal。(金融相关的项目)
    (2)构造方法
        A:BigDecimal(String s)
    (3)成员方法:
        A:加
        B:减
        C:乘
        D:除
        E:自己保留小数几位

7:Date/DateFormat(掌握)
    (1)Date是日期类,可以精确到毫秒。
        A:构造方法
            Date()
            Date(long time)
        B:成员方法
            getTime()
            setTime(long time)
        C:日期和毫秒值的相互转换
        案例:你来到这个世界多少天了?
    (2)DateFormat针对日期进行格式化和针对字符串进行解析的类,但是是抽象类,所以使用其子类SimpleDateFormat
        A:SimpleDateFormat(String pattern) 给定模式
            yyyy-MM-dd HH:mm:ss
        B:日期和字符串的转换
            a:Date -- String
                format()

            b:String -- Date
                parse()
        C:案例:
            制作了一个针对日期操作的工具类。

8:Calendar(掌握)
    (1)日历类,封装了所有的日历字段值,通过统一的方法根据传入不同的日历字段可以获取值。
    (2)如何得到一个日历对象呢?
        Calendar rightNow = Calendar.getInstance();
        本质返回的是子类对象
    (3)成员方法
        A:根据日历字段得到对应的值
        B:根据日历字段和一个正负数确定是添加还是减去对应日历字段的值
        C:设置日历对象的年月日
    (4)案例:
        计算任意一年的2月份有多少天?
时间: 2024-07-28 15:59:08

java学习第十四天的相关文章

JAVA学习第十四课(接口:implements)

接口: 我们知道抽象类中可以定义抽象方法,也可以定义非抽象方法,当一个抽象类中的方法都是抽象方法的时候,我们就可以定义另一种表现方式:接口(interface),所以接口是一种特殊的抽象类 接口的出现将"多继承"通过另一种形式表示出来,即"多实现". 注意:接口的定义不是class,而是interface,当然最后编译时还是class文件 interface Demo { abstract void show(); abstract void show1(); }

JAVA学习第二十四课(多线程(三))- 线程的同步

继续以卖票为例 一.线程安全问题的解决 同步的第一种表现形式:同步代码块 思路: 将多条操作共享数据的线程代码封装起来,当有线程在执行这些代码的时候,其他线程是不允许参与运算的,必须要当期线程把代码执行完毕后,其他线程才可以参与运算 在java中用同步代码块解决这个问题 同步代码块格式: synchronized(对象) { 需要被同步的代码部分 } class Ticket implements Runnable { private int num = 100; Object god = ne

Java学习 (十四)、面向对象编程(六)抽象类

抽象的定义:抽象是把多个事物的共性的内容抽取出来,本质就是把我们关注的内容抽取出来.(比如:宝马,奔驰都属于汽车,汽车是抽象出来的概念); 抽象类:Java中可以定义没有方法体的方法,该方法由其子类来具体的实现.该没有方法体的方法我们称之为抽象方法,含有抽象方法的类我们称之为抽象类; 抽象方法特点: ①   只有方法头没有方法体的方法称为抽象方法: ②   抽象方法用abstract来修饰; ③   抽象方法代表一种不确定的操作或行为; ④   抽象方法不能被调用; 抽象类的特点: ①   定义

黑马程序员——JAVA学习笔记十四(高新技术三)

10 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供定的服务. 按照代理的创建时期,代理类可以分为两种. 静态代理:由程序员创建或特定工具自动生成源代码,再对其编译.在程序运行前,代理类的.class文件就已经存在了. 动态代

Java学习第二十四天

1:多线程(理解) (1)JDK5以后的针对线程的锁定操作和释放操作 Lock锁 (2)死锁问题的描述和代码体现 (3)生产者和消费者多线程体现(线程间通信问题) 以学生作为资源来实现的 资源类:Student 设置数据类:SetThread(生产者) 获取数据类:GetThread(消费者) 测试类:StudentDemo 代码: A:最基本的版本,只有一个数据. B:改进版本,给出了不同的数据,并加入了同步机制 C:等待唤醒机制改进该程序,让数据能够实现依次的出现 wait() notify

JavaScript学习总结(十四)——JavaScript编写类的扩展方法

在?J?a?v?a?S?c?r?i?p?t?中?可以使?用?类的p?r?o?t?o?t?y?p?e属性来?扩?展?类的属?性?和?方?法,在实际开发当中,当JavaScript内置的那些类所提供的动态方法和动态属性不满足我们实际开发时,我们就可以通过"prototype"属性给自定义类添加方法和属性或者扩展原有的类中的方法和属性. 一.扩展JavaScript内置类,添加动态方法 语法格式: 类名.prototype.方法名 = function([param1],[param2],.

“全栈2019”Java第五十四章:多态详解

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第五十四章:多态详解 下一章 "全栈2019"Java第五十五章:方法的静态绑定与动态绑定 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组"

“全栈2019”Java第六十四章:接口与静态方法详解

难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第六十四章:接口与静态方法详解 下一章 "全栈2019"Java第六十五章:接口与默认方法详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组&qu

Java进阶(三十四)Integer与int的种种比较你知道多少?

Java进阶(三十四)Integer与int的种种比较你知道多少? 前言 如果面试官问Integer与int的区别:估计大多数人只会说到两点:Ingeter是int的包装类,注意是一个类:int的初值为0,Ingeter的初值为null.但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱.所以我对它们进行了总结,希望对大家有帮助. 首先看代码: package