第六章:Java常用类知识梳理
6.1 Object和Object常用方法
Java中的顶级类是Object类,Object类是所有类的父类,那么Object提供的常用方法有哪些呢?
答案:equals、hashcode、toString。
下面我们一起来看看Object类相关的一些方法使用:
这是Object的hashcode(返回对象的哈希码值)和equals方法(判断指定对象与该对象是否相等):
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
UserInfo user1=new UserInfo();
UserInfo user2=new UserInfo();
System.out.println(user1.hashCode());
System.out.println(user2.hashCode());
System.out.println(user1.equals(user2));
}
}
这是Object的toString(使用字符串表示该对象的信息)方法:
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
UserInfo user1=new UserInfo();
System.out.println(user1);
}
}
6.2 String类与StringBuffer的常用方法
下面我们来看看编程中非常重要的字符串类:
(1)charAt返回指定下标位置的字符),字符串点charAt(0)就是返回第一个位置字符
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="张三";
System.out.println(str.charAt(0));
}
}
(2)concat字符串的连接
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="张三";
String str1=str.concat("很帅") ;
System.out.println(str1);
}
}
(3)equals比较两个字符串是否一致
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="张三";
System.out.println(str.equals("张三"));
}
}
(4)indexOf查找
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="张三是个好同学";
int xb=str.indexOf('好');
System.out.println(xb);
}
}
(5)length获取字符串的长度
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="张三是个好同学";
System.out.println(str.length());
}
}
(6)replace替换
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="张三是个好同学";
String newStr=str.replace('好', '帅');
System.out.println(newStr);
}
}
(7)startsWith以什么开头,以什么结尾
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="张三是个好同学";
System.out.println(str.startsWith("张三"));
}
}
(8)截取字符串中的字符
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="张三是个好同学";
System.out.println(str.substring(2));
System.out.println(str.substring(2, 4));
}
}
(9)toUpperCase把字母转换为大写,toLowwerCase转换为小写
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="abcd";
System.out.println(str.toUpperCase());
System.out.println(str.toLowerCase());
}
}
(10)split字符串的分割
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="张三+李四+王五";
String[]strs=str.split("[+]");
for (int i = 0; i < strs.length; i++) {
System.out.println(strs[i]);
}
}
}
StringBuffer常用方法:append追加、insert插入、reverse反转、setCharAt插入指定位置字符
6.3 Math类的常用方法
Math类用来对一些常用复杂的公式运算进行支持,Math有这些方法:计算立方根,平方根,乘方,求绝对值,计算两个值中的最大值,随机数,四舍五入,向下取整
package com.obj;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("27的立方根结果:"+Math.cbrt(27));
System.out.println("81的平方根结果:"+Math.sqrt(81));
System.out.println("3的2次方结果:"+Math.pow(3, 2));
System.out.println("-4.5的绝对值:"+Math.pow(3, 2));
System.out.println("最大的结果是:"+Math.max(100, 89));
System.out.println("随机数是:"+Math.random());
System.out.println("4.5四舍五入后:"+Math.round(4.5));
System.out.println("4.5向下取整后"+Math.floor(4.5));
}
}
6.4 日期类的常用方法
Java在java.util包下提供了date类和calendar日历类来处理日期和时间,日期对象中包含年月日小时分钟秒毫秒
下面我们来看看具体的使用
以下是date日期类的使用:
package com.obj;
import java.util.Date;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Date
Date date=new Date();
System.out.println(date);
}
}
package com.obj;
import java.util.Date;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Date
Date date=new Date(1000*60*60*24*20);
System.out.println("1970年1月1日后的20天时间="+date);
}
}
以下是calendar日历类的使用:
(1)获取年份,月份,星期几
package com.obj;
import java.util.Calendar;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Calendar日历类
Calendar c=Calendar.getInstance();
System.out.println("年份是:"+c.get(Calendar.YEAR));
System.out.println("月份是:"+(c.get(Calendar.MONTH)+1));
System.out.println("今天是星期:"+(c.get(Calendar.DAY_OF_WEEK)-1));
}
}
(2)获取今天在一年中是第几天
package com.obj;
import java.util.Calendar;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Calendar日历类
Calendar c=Calendar.getInstance();
System.out.println("今天在一年中是第几天:"+c.get(Calendar.DAY_OF_YEAR));
}
}
我们也可以通过calendar和date进行结合,获取指定时间。请看如下例子:
package com.obj;
import java.util.Calendar;
import java.util.Date;
public class Mytest1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Calendar日历类
Date date=new Date(1000*60*60*24*20);
Calendar c=Calendar.getInstance();
c.setTime(date);
System.out.println("年份是:"+c.get(Calendar.YEAR));
System.out.println("月份是:"+(c.get(Calendar.MONTH)+1));
System.out.println("今天是星期:"+(c.get(Calendar.DAY_OF_WEEK)-1));
}
}
package com.obj;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class Mytest1 {
public static void main(String[] args) {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=new Date();
String timeString=sdf.format(date);
System.out.println(timeString);
}
}