System类和Runtime类2
包装类:
一、包装类
java针对8中基础类型都包装了对应的引用类型(都放在java.lang包下)
byte Byte
short Short
int Integer
long Long
char Character
float Float
double Double
boolean Boolean
注:JDK5新特性
自动装箱和拆箱
二、包装类的用途
1)静态常量
MAX_VALUE
MIN_VALUE
SIZE
2)提供与字符串相关转换的静态方法
XXX.parseXxx(String)//字符串转特定类型
3)其他工具方法
如:把整数转换为其他进制表示
toBinaryString(int i)
toHexString(int i)
toOctalString(int i)
字符串:
一、字符串
字符串本质上就是一个不可修改的char数组
"abc"==['a','b','c']
二、字面值声明和new构造器声明
String a="abc";
String a2="abc";
String b=new String("abc");
区别:
a是存放在方法中中的字符串池中
b是存放在堆空间中
其他使用上没有任何区别,一般都是通过字面值声明
三、常用方法
1)字符串和char[]相互转换
char[] toCharArray()
将此字符串转换为一个新的字符数组。
String(char[] value) //构造器
2)测试字符串
boolean equals(Object anObject)
将此字符串与指定的对象比较。
boolean equalsIgnoreCase(String anotherString)
将此 String 与另一个 String 比较,不考虑大小写
boolean endsWith(String suffix) "abc" -"ab"
boolean startsWith(String prefix)
3)查找字符
indexOf
返回指定字符在此字符串中第一次出现处的索引。
lastIndexOf
返回指定字符在此字符串中最后一次出现处的索引
char charAt(int index)
返回指定索引处的 char 值。
4)字符串处理
substring //取子串
toLowerCase() / toUpperCase() 大小写转换
String trim() //去掉前后空格
split(String regex) //根据给定正则表达式的匹配拆分此字符串
四、字符串构建
StringBuilder/StringBuffer
方法:
append 追加
insert 插入
delete(int start, int end) 删除多个字符
deleteCharAt(int index) 删除一个字符
replace(int start, int end, String str) 替换多个
setCharAt(int index, char ch) 替换一个
toString();//转换为字符串
System类和Runtime类:
一、java.util.Random
这个类的对象用于生产随机数
1)创建对象
Random()
创建一个新的随机数生成器。
Random(long seed)
使用单个 long 种子创建一个新的随机数生成器。
如果种子一样,则生产的随机数序列是一样的
2)常用方法
nextBoolean()
nextDouble()
nextFloat()
nextInt()
nextInt(int n)
nextLong()
二、Math.random()
底层就是使用Random类
日期函数:
一、java.util.Date(表示一瞬间)
类 Date 表示特定的瞬间,**到毫秒。表示某个时间点到1970/01/01/00/00/00的毫秒数
用法:
Date currentTime=new Date();//表示当前时间
Date currentTime=new Date(100);//表示1970/01/01/00/00/00过100毫秒后的时间
需要学习方法:
long getTime()//返回date对象实际毫秒数
void setTime(long ms)//设置date对象的毫秒数
二、java.util.Calendar(用途:操作时间对象)
此类是抽象类,需使用其静态方法来获得其对象
用法:
Calendar calendar = Calendar.getInstance();// 操作时间的对象
//设置需要操作的时间,如果未调用此方法,则默认处理当前时间
calendar.setTime(java.util.Date对象);
//增加时间
calendar.add(某个时间字段,年月日等(使用Calendar的静态变量), 增加值);
//设置时间
calendar.set(某个时间字段,年月日等(使用Calendar的静态变量), 设置值);
//快速设置时间
calendar.set(1997, 6, 1);
calendar.set(1997, 6, 1, 8, 0,0);
// 获取操作后的时间
Date time = calendar.getTime();
注意:月份是从0开始,如果要设置月份为5月,则传入4
三、格式化和解析:使用java.util.SimpleDateFormat类
用法:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
其中的"yyyy-MM-dd"需要格式化的模式,其中yyyy表示年 M表示月 d表示日,其他请查询SimpleDateFormat这个类的API
1)格式化输出(日期->字符串)
把时间对象(java.util.Date)格式化后输入,(如输出1997年7月1日 23:59:59)
写法:
使用SimpleDateFormat类的format方法,此方法返回格式化后的字符串
2)解析(字符串-日期:把日期时间字符串转换为时间对象)
把某种日期时间格式字符串如(20080101)转换为java中的java.util.Date对象
写法:
使用SimpleDateFormat类的parse方法,此方法返回处理好后的对象
注意:
传入parse方法的格式化字符串必须和构建此对象的模式(pattern)必须一样,否则此方法会抛出ParseException异常
所以我们可以利用此方法是否抛出异常来判断用户是否正确输入
公开笔记对他人可见,有机会被管理员评为“优质笔记”
{{ noteEditor.content.length }}/2000
讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。
![SpringCloud实战入门视频课程](https://s2.51cto.com/images/201810/11/757e5810c413c88d0497d553c58a6900.png?x-oss-process=image)
![Spring Boot实战入门视频课程](https://s2.51cto.com/images/201712/29/c51651e2ec308a27c5a9d638d0d0c281.jpg?x-oss-process=image)
![Java项目实战之员工管理系统视频课程(Servlet/C3P0/AJAX/Bootstrap)](https://s2.51cto.com/images/201709/30/9dee05918c8112dcc93606f55490645b.jpg?x-oss-process=image)
![基于SpringBoot+MVC+Redis+Freemarker+Jersey网上商城视频课程](https://s2.51cto.com/images/201801/29/161f0d562d0dee830e844c2c7e8ac103.jpg?x-oss-process=image)
![Linux基础与提升视频教程(安装JDK,Tomcat,Mysql)](https://s2.51cto.com/images/202012/07/3fd388fa9d4f9ddcabe3403e4328808a.jpg?x-oss-process=image)
![基于Maven+ SpringMVC+ MyBatis +Druid+MySql员工管理系统视频教程](https://s2.51cto.com/images/201712/08/f7f652e9a84683cecf9a73cd445706e9.jpg?x-oss-process=image)
![Java高级开发之Java反射视频教程](https://s2.51cto.com/images/201801/11/a755c1cedececd821bd73aa462d3c8e1.jpg?x-oss-process=image)
![JavaSE系列视频课程之IO流](https://s2.51cto.com/images/201802/03/64dceb15d571f2e6e206e40e4033d1d9.png?x-oss-process=image)