正则表达式,Date,StringBuilder,StringTest,包装类
回顾:
Object:toString equals hashCode
String:字符串 - 不可变的
final char[]
int length()
char charAt(int)
常用API
正则表达式
boolean matches(String regex)
String replaceAll(String regex, String newStr)
String[] split(String regex)
只能出现 0-9 a-z A-Z _ $, 一共最多16个字符,最少6个字符输入正确身份证号11位电话号码IP地址 xx.xxx.xxx.xxxxxx@xx.com.cnLa-z(2~4) -> L(\dcom){2,4}
数量词 X? X,一次或一次也没有X* X,零次或多次X+ X,一次或多次X{n} X,恰好 n 次X{n,} X,至少 n 次X{n,m} X,至少 n 次,但是不超过 m 次预定义字符类 . 任何字符\d 数字:[0-9]\s 空白字符:[ \t\n\x0B\f\r]\w 单词字符:[a-zA-Z_0-9]一个163邮箱的地址[a-zA-Z]\w{5,17}@163\.com
字符串:由字符数组,Unicode编码集
1个字符=2个字节
操作系统中,文件存储都是字节单位
可变字符串
StringBuilder:线程不安全,效率高
StringBuffer :synchronized - 同步锁/并发 线程
线程安全,效率低
频繁改变字符串,就使用StringBuilder
java.lang -> 默认包
java.util -> 工具
long - 时间 毫秒
Date - 时间 年月日、时分秒
java.text: 格式化的
时间格式化 DateFormat SimpleDateFormat
String format(Date date) – 时间格式化
Date -> 2019-05-12 19:53:28
Date parse(String source) – 时间字符串的解析
2019-05-12 19:53:28 -> Date
作业:
~ day03/Test02 -> 码云
CSDN:2篇笔记
Date:
@Test
public void test03() {//时间格式化! format时间转换成字符串Date d1 = new Date();System.out.println(d1);DateFormat df =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//自定义格式String str = df.format(d1);System.out.println(str);
}@Test
public void test04() throws ParseException {//parse将字符串转换成时间DateFormat df =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//指定时间 2020-5-12 12:30:29Date d = df.parse("2020-5-12 12:30:29");System.out.println(d);
}
StringBuilder:
@Test
public void test02() {//String 不可变的//StringBuilder 可变的StringBuilder sb = new StringBuilder("hello");System.out.println(sb);StringBuilder sb1 = sb.append("hi");System.out.println(sb);System.out.println(sb == sb1);// append() - 向字符串末尾追加// insert() - 在指定位置上插入// delete() - 删除指定位置// replace() - 替换指定位置元素
}
StringTest:
@Test
public void test01() {//字符串拼接String s1 = "hello";s1 = s1.concat("hi");System.out.println(s1);
}
@Test
public void test02() {//字符串截取String email = "szl123@163.com";String user = email.substring(3);System.out.println(user);user = email.substring(0, 7);//截取前包含后不包含System.out.println(user);int index = email.indexOf("@");//user = email.substring(0, index);System.out.println(user);
}
@Test
public void test03() {//字符串替换。String str = "qnmlgb,你真是个大sb";str = str.replace("qnmlgb", "******");System.out.println(str);
}
@Test
public void test04() {//判断是否为空String str = "";System.out.println(str.isEmpty());
}
@Test
public void test05() {String str = "shlzihelhzin";System.out.println(str.lastIndexOf("l"));//返回指定字符在此字符串中最后一次出现处的索引System.out.println(str.lastIndexOf("hz"));//返回指定字符在此字符串中最后一次出现处的索引System.out.println(str.lastIndexOf("z",5));//返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
}
@Test
public void test06() {String str = "ShiZheLin";System.out.println(str.toUpperCase());//转换成大写输出 System.out.println(str.toLowerCase());//转换成小写输出System.out.println(str.toCharArray());//转换成字符串数组System.out.println();
}
@Test
public void test07() {String str = "janejarryasd";System.out.println(str.substring(4));//返回一个新的字符串,从4下标开始System.out.println(str.substring(4,9));// 前包含后不包含,返回新字符串System.out.println(str.subSequence(4,9));//前包含后不包含,返回新序列
}
@Test
public void test08() {String str = "www.shzihelin.com";System.out.println(str.startsWith("www."));//是否以指定字符开始
}
@Test
public void test09() {//正则表达式 ismatchesString email = "Shizhelin123@163.com";String regex = "[a-zA-Z]\\w{5,17}@163\\.com";System.out.println(regex);boolean ismatches = email.matches(regex);System.out.println(ismatches);
}
@Test
public void test10() {//用replaceAll 正则表达式 隐藏脏话。String str = "qnsbqnmlgb,qn你真是个大sb,zz"; String regex = "(((qn)?mlgb)|sb|zz|nc)+";str = str.replaceAll(regex, "**");System.out.println(str);
}
@Test
public void test11() {//用正则表达式将 192 168 6 66放入字符串数组中。String str = "192.168.6.66";String regex = "\\.";String ss[] = str.split(regex);System.out.println(Arrays.toString(ss));
}
@Test
public void test12() {//将英文单词放入字符串数组中,并计算长度String str = "hello hi,what's your name.my name is jerry!and you?";//,.!?空格//[,\.! \?]+加号不在 感叹号或者……加空格 中间有一个空字符串。所以要加加号!String regex = " |\\,|\\.|\\!|\\?";String arr[] = str.split(regex);System.out.println(Arrays.toString(arr));System.out.println(arr.length);
}
包装类:
@Test
public void test01() {
long time1 = System.currentTimeMillis();
System.out.println(time1);
//1557651077250 2019年5月12号 16:53
//0 =>计算机元年 1970年1月1日 00:00:00 这个时间就是开始计算的时间,格林威治时间。
/*
* byte:-128 ~ 127
* short: -2^15 ~ x^15-1 =>32200
* int: -2^31 ~ 2^31-1 =>2147480000
* long: -2^63 ~ 2^63 -1 =>??
*
*/
//byte\short\int\long\float\double\boolean\char
//Object
//为了符合一切皆对象,JDK给8个基本数据类型都提供了对应的包装类
//Byte\Short\Integer\Long\Float\Double\Boolean\Character
}
@Test
public void test02() {
int a = 1;
Integer a1 = 1;
//将Integer类型赋值给int类型 -> 自动拆箱 -> 编译器自动装箱
a = a1.intValue();//相当于 a = a1
//将int类型赋值给Integer类型 -> 自动装箱
a1 = a;//a1 = Integer.ValueOf(a);
System.out.println(a == a1);
}
@Test
public void test03() {//字符串变成整数。
String str = “1”;
int i = Integer.valueOf(str);
i=i+2;
System.out.println(i);//输出 3
System.out.println(Integer.MAX_VALUE);
System.out.println(Integer.MIN_VALUE);
System.out.println(Long.MAX_VALUE);
System.out.println(Long.MIN_VALUE);
}
正则表达式,Date,StringBuilder,StringTest,包装类相关推荐
- Java day13——API(2)正则表达式、StringBuilder、包装类、Collection集合
目录 正则表达式 定义 常用标识 数量词 预定义字符类: 字符本身和转义 相关的API boolean matches(String regex) String replaceAll(String r ...
- Java学习 day12 (常用API2)Object、Date、DateFormat、Calendar、System、StringBuilder、包装类
前言: 在java中,API是指一些预先定义的函数,直接导入API就可以快速使用已经编写好的代码和与之对应的功能,之前我们也进行了一些常用API的学习,比如String类.Arrays类.Math类, ...
- Api - 应用程序接口、常用类、 方法(Object、Date、Calendar、DateFormat、String、StringBuilder、包装类)
Object 所有类的父类 Class getClass() 通过对象的该方法,可以获得对象对应的类的字节码对象 Object clone() - 克隆.赋值 调用方法的对象, 需要类实现Clonea ...
- String StringBuilder StringBuffer 包装类 Date 类 枚举类
String,StringBuilder,StringBuffer直接的区别是: String 不可变长的字符序列 StringBuilder 可变长的字符序列,线程不安全的,效率较高 StringB ...
- JAVA→封装类Wrapper、字符串String及其方法、==与equals()、正则表达式、StringBuilder与StringBuffer、内嵌类
封装类 字符串String String常用方法 ==与equals(),StringBuilder,StringBuffer 基本类型和String转换 正则表达式 StringBuilder,St ...
- Java SE核心API(2) —— 正则表达式、Object、包装类
一.正则表达式 实际开发中,经常需要对字符串进行一些复杂的匹配.查找.替换等操作.而通过"正则表达式",就可以方便的实现这些功能. 正则表达式是一串特定字符,组成一个"规 ...
- java之进阶语法(System类、StringBuilder及包装类)
一.System类 java.lang.System 类包含一些有用的类字段和方法,可以获取与系统相关的信息或是系统级操作.它不能被实例化. 在 System 类提供的设施中,有标准输入.标准输出和错 ...
- Day14 Date 包装类 Character
1 Date Date:日期类:描述时间 注意1: java.sql.Date是java.util.Date的子类 我们学习的是java.util.Date 注意2: 很多方法都过时了:不 ...
- 复习Object类_日期时间类_System类_StringBuilder_包装类以及各类的细节
Object类_日期时间类_System类_StringBuilder_包装类以及各类的细节 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 Stri ...
- javaScript(call,apply,date,arguments,Math)
目录 call和apply this的情况 arguments Date对象 Math 包装类 字符串的相关方法 正则表达式 使用字面量来创建正则表达式 字符串和正则相关的方法 量词 练习 call和 ...
最新文章
- Linux df命令
- [Linux] 批量添加用户
- 编程语言与思维:科技公司如何自我重构?
- ElasticSearch PPT-笔记
- 哲学家就餐问题php代码,Python实现哲学家就餐问题实例代码
- 【蒲公英技术征文】如何在 ESP-12F/ESP8266 上实现 webserver
- Ubuntu16.04安装Hadoop+Spark+pyspark大数据python开发环境
- 机器学习常见损失函数
- 云计算odps使用笔记(一)环境搭建
- C++之指针探究(六):二级指针和指针数组
- 其它 博客园 自己写的文章 标题含有小写字母 查看文章时 标题就变成大写的了...
- 基于Packet Tracer的校园网络设计与规划
- varchar和varchar2的联系与区别
- [工具]勒索病毒解密工具汇总
- 结合面向对象设计原则分析正方形是否为长方形的子类
- 计算机无法读取内存卡,「图文」教你如何修复电脑无法识别读取的U盘(SD卡)...
- 芯动力——硬件加速设计方法——学习笔记(1)
- SUNDIALS中的RTOL和ATOL
- android每个程序的内存大小,如何获取Android手机全部内存和可用内存尺寸
- Java版Word开发工具Aspose.Words功能解析:查找和替换Word文档中的文本