第四周笔记

前两天
正则表达式:
(1)很多时候,我们都需要对一些字符进行匹配,查找,替换等复杂的
操作。我们可以通过”正则表达式”来帮助实现这些复杂操作。
(2)正则表达式, 它是一个有“特殊意义”的字符串,定义了一种”
校验规则”
常用字符集
[]:表示匹配括号内的一个字符
[abc]:表示匹配abc中的任意一个 字符
():分组
()将正则表达式的部分规则进行了划分,可以使用|来进
行选择其中一组规则
reg:手机号前带有区号
+861375651674
0086 1375651674
正则表达式:
(+86|0086)?\s?1\d{10}

判断一个字符串是不是一个网址
http://www.baidu.com
https://www.baidu.com
www.baidu.com
www.baidu.cn
www.baidu.com.cn
www.baidu.net
www.baidu.edu

^和 :添加在正则表达式后,表示要校验的普通字符串的末尾
必须符合规则

前后都有此符号时:考虑的普通字符串的整体

reg:
“^[\d]{6,8}”

   "123456aaaaaaaaa"可以满足上述正则表达式

   "[\\d]{6,8}$"
   "abc12345678" 可以满足上述正则表达式

   "^[\\d]{6,8}$"
   "12345678"

matchs(String regex):此方法验证不了我们自定义添加的^或

总结:正则表达式 是一个灵活,逻辑性强的规则校验语法。
通常用于文本中
===============================
包装类:
java语言是面向对象的语言,而基本数据类型的数据不是对象,但是
有的时候我们需要研究使用基本数据类型的数据,需要将之转换成对象来使用。
这个时候,我们可以将基本数据类型包装成 引用类型。

   每一个基本数据类型都对应一个包装类:
byte--->    Byte 
short-->    Short
int-->      Integer
long-->     Long
float-->    Float
double-->   Double
char-->     Character
boolean-->  Boolean   

特点:
(1)都是final修饰的
(2)一经创建的对象里的数据不可变
常用构造器:
Integer(int value)
通过指定的基本数据类型的数据构建一个Integer对象
Integer(String str)
通过指定的字符串的数据构建一个Integer对象
常用方法:
int intValue();
作用是将包装类的对象拆箱成基本数据类型
static int parseInt(String s)
作用是将字符串转成10进制的基本数据类型
static Integer valueOf(String s)
作用是将字符串转成Integer对象

注意:将字符串转成基本数据类型时,有可能出现运行时异常:
java.lang.NumberFormatException

JDK1.5以后支持自动装箱和拆箱
第三天
String replace(char oldchar,char newchar);
String replaceAll(String regex,String newStr);

String[] split(String regex);

包装类的常量池:
当将基本数据类型进行自动装箱时,装箱后的对象的字面值,如果
是在-128~127之间,会先检查常量池中是否有相同字面值的
对象,如果有,则将常量池的对象的地址给引用变量。

总结:
(1)八种包装类都是final修饰
(2)一经创建,对象内容不可变
(3)Character和Boolean的父类是Object
其他六种的父类是Number类型

BigDecimal:大数字类型  
   如果:想进行精确无误差运算,我们可以使用BigDecimal类型

提供了相应的加减乘除等功能方法进行精确运算。

日期与时间
一、java中的时间:
(1)java中采用标准类库的Date类型时间。使用距离一个固定时间点的
毫秒数的时间点来表示时间
(2)固定时间点即纪元(UTC)。也就是1970年1月1日 00:00:00
(3)UTC与GMT都是世界通用的时间格式

(javase:标准版本的jdk,即类库为基本类库
javaee:企业版本的jdk,基本类库满足不了企业开发的需求,因此此jdk中,含有其他与企业开发相关的类库
javame:移动版本的jdk,jdk中含有与移动端开发的类型)
二、Date类型
java.util.Date类型,封装了日期与时间的信息。
之后里面的很多功能都弃用,渐渐的使用Calender类型来替代

(1)构造器
Date():
创建一个封装当前系统时间的Date对象
Date(long time):
创建一个距离纪元time毫秒的Date对象
(2)常用方法
long getTime();
返回距离纪元的毫秒数
void setTime(long time);

修改时间对象的毫秒数

SimpleDateFormat:
作用:此类型可以对Date进行格式化及其将字符串转成Date类型。

常用构造器:
SimpleDateFormat(String format):
创建一个指定格式的SimpleDateFromat对象。
常用方法:
String format(Date date)
作用是将参数date按照构造器里的格式进行格式化成字符串
Date parse(String str)
作用是将指定字符串str转变成Date类型
常用格式:
yy:
yyyy: 年
MM:月
dd:日

  HH:时(24制)
  hh:时(12制)
  mm:分
  ss:秒
  a:上下午
  E:星期              

练习: 计算自己已经生活了多少毫秒

Calendar:
(1)是日历类型,此类型封装了有关于日历的所有信息。主要用于
计算时间分量。
时间分量:日期和时间的一部分有效值。
(2)Calendar
是一个抽象类,提供了一方法getInstance()来获取一个通用的
子类型对象,一般都是GregorianCalendar(格力高历,阳历)类型
的对象。
(3)时间分量常量:
static int YEAR
static int MONTH:日历里的月份是0-11。

 static int DATE
 static int DAY_OF_WEEK:默认从周日到周六,即1-7
 static int DAY_OF_MONTH
 .....

(4)类型中提供了get(int field)方法,通过指定时间分量常量来获取
相应的时间分量的值
(5)提供了set(int field,int value),进行设置时间分量值

(6)提供了add(int field,int value),用于对当前日历信息通过
时间分量来计算value后的日历信息
注意:value值如果是负数,向前推算。

其他方法:
Date getTime():
将日历对象转成Date对象
void setTime(Date date);
将指定date日期转成日历对象的信息

 int getActualMaximum(int field)
      获取指定时间分量的最大值 
      如:
         指定Calendar.MONTH,获取的是11,即12月份
   Calendar.DATE,获取的是当前日历对象所在月天数的最大值

        练习:输出2016年每月的天数。          

1.已知字符串:”this is a test of java”.
按要求执行以下操作:
(1) 统计该字符串中字母s出现的次数
(2) 取出子字符串”test”
(3) 用多种方式将本字符串复制到一个字符数组Char[] str中.
(4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
(5) 用两种方式实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
(6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单

2.使用正则表达式匹配所输入的字符串是否是由数字和字母组成的内容,若不是则重新输入

3.密码设置:长度为8-10、以字母开头、必须要有数字、必须要有下划线

第四天
先总结几个程序代码对复习很有作用也就是昨天的昨天的作业
第一题
package String;

import java.util.Arrays;

public class Test {
public static void main(String[] args) {
String a=”this is a test of java”;
char[] b=a.toCharArray();
System.out.println(Arrays.toString(b));
int count=0;
char c=’s’;
for(int i=0;i

猜你喜欢

转载自blog.csdn.net/qq_42825206/article/details/81875410