字符串常用方法、正则表达式、Object包装类、日期操作

一、字符串常用方法

IndexOf();lastIndexOf();

length():返回的字符串的长度。

数组中length叫属性,集合中size返回元素个数。

substring();截取子字符串

toUpperCase():将字符串中英文字母变大写

toLowerCase():将字符串中英文字母变小写     

charAt(int index):取索引上的字符     

concat(String str):与参数str进行拼接

contains(String str):判断字符串中是否包含子字符串

strendsWith(String str):判断是否以str为后缀startsWith(String str):判断是否以str为前缀     replace(char old,char new):     

replace(String old,String new):用new替换old     equals(Object str):与参数str比较内容是否一致equalsIgnoreCase(String str):忽略大小的比较

二、正则表达式:


正则表达式是一组特殊的字符串,通常用来进行查找、匹配、替换等操作,也就是一组“规则字符串”。
   常用格式:
   .:任意字符
   [a-zA-Z0-9_]---->[\w]:单词字符中的任意一个。
2.String类型支持正则表达式的API   
    1:matchs(String reg):判断字符串对象是否符合正则表达式reg。
    2:split(String reg):用匹配正则表达式reg的子串对字符串进行拆分,拆分成字符串数组。
 在拆分时,如果符合正则表达式的子串在字符串的首位也有,就会拆分出一个“”空字符串
元素,如果在末尾则没有拆分效果。
    3:replaceAll(String reg,String new):使用new字符串来替换符合reg的部分。
三、Object类型:
  是所有引用类型的父类,处于引用类型的顶端。
在自定义类时,如果不手写继承Object,系统会默认提供该父类。
Object类型的引用变量可以指向任何类型的对象。


怎么使用数组存不同类型的数据?
  Object[] arr = new Object[3];
  arr[0] = "111";
  arr[1] = new Scanner(System.in);
  arr[2] = new Person();
四、Object类型中的API:
   1、toString():将变量转换成字符串;实际上是用来描述变量所指向的对象信息。但是Object中此方法的逻辑为"类全名@散列码"。
在自定义类时,继承过来的toString()方法无意义,我们应该重写此方法:重写规则:"类名[属性名=属性值,属性名=属性值]"当在输出语句中写变量,会默认调toString()。
   2、equals(Object obj):在Object中此方法是用来比较两个对象的地址信息是否相同,相当于"=="通常都是比较对象之间的内容是否一样,所以,在自定义类时,应该重写equals方法。
   public boolean equals(Object obj)

重写规则:1:判断参数是否为null;2:判断参数是否是本身;3:判断传进来的参数类型

五、包装类
   java语言是面向对象的语言,而八大基本数据类型的数据不是对象。有可能有把八大基本数据类型的值当成对象来用的需求,所以
设计出相应的引用类型,即对应的包装类:
byte---java.lang.Byte
short--java.lang.Short
int----java.lang.Integer
long---java.lang.Long
double-java.lang.Double
float--java.lang.Float
它们父类是java.lang.Number
char---java.lang.Character
boolean--java.lang.Boolean
父类:java.lang.Object

包装类中常用API:

1:包装类提供将字符串转换成相应的基本数据类型
    parseXXX(String str);
   XXX:对应的是基本数据类型名
reg:int num = Integer.parseInt("123");
//结果为int类型的123
String str = "3.14";
double d = Double.parseDouble("str");
double d = Double.parseDouble("str");
//上述代码会报异常NumberFormatExcepton,数字格式异常

2:valueOf(基本数据类型的参数):静态方法将基本数据类型转换成包装类型每个包装类中都提供了相应的方法valueOf(String str)

3:Integer.parseInt(String str)等,作用是将字符串转换成相应的包装类对应的基本数据类型的值。
  注意:valueOf(String str)和parseInt(String str)等方法都有可能会出现运行时异常。
NumberFormatException
装箱:将基本数据类型转换成相应的包装类
拆箱:将包装类对象转换成基本数据类型
jdk1.5之后,java语言支持自动拆装箱操作

编译器在检查基本数据类型变量的方法时,先检查是否有本身或者是自动转换的基本数据类型的方法,如果有就调用,如果没有检查本身包装类的方法。有,就调用,没有就编译错误。
eg:Integer a = 5;//装箱 Integer a = Integer.valueOf(5);
   int b = a; //拆箱 int b = a.intvalue();
两个包装类型对象做计算:
   Integer a = 5;//装箱
   Integer b = 6; //装箱
   Integer c = a+b; //拆箱后计算再装箱
六、日期类型,日期格式化类型
   1:日期类型:java.util.Date.
   该类型中大多数方法都已经过时,被Calendar类型代替
少部分API:
   Date d = new Date();//获取的当前系统时间
   System.currentTimeMillis();
实际上是据1970年1月1日0时0分0秒的毫米数
   long time = d.getTime();
   setTime(long time):
构造器:Date(long time)
   2:SimpleDateFormat:
   类的作用:将时间格式化成字符串String format(Date date)
将字符串转换成时间Date parse(String str)
编译期间会抛异常:ParseException
y:年
M:月
d:日
H:24小时制
h:12小时制
m:分
s:秒
E:星期
a:上午

p:下午

七、日历类型:Calendar,是一个接口,不能实例化。

有很多子类型。最常用的是格力高里历法(大多数国家通用的历法,即阳历)
1:作用是更方便的计算日期分量。
2:获取子类型的方法
   getInstance():会自动获取子类型,会自动划分时区。静态方法
3:多态的方法:Calendar cal = Calendar.getInstance()


猜你喜欢

转载自blog.csdn.net/mine_cun/article/details/79945810