7天学完Java基础之7/7
程序员文章站
2022-07-11 09:18:05
Object类的toString方法 类Object是类层次结构的根类 每个都使用Object作为超类 所有对象都实现这个类的方法 Object类的equals方法 日期时间类 Date类 Date类的构造方法和成员方法 DateFormat类的format方法和parse方法 Calendar类的 ......
object类的tostring方法
类object是类层次结构的根类
每个都使用object作为超类
所有对象都实现这个类的方法
//这个是object类的子类,实现了其所有方法 public class person{ private string name; private int age; public person(){} public person(string name,int age){ this.name=name; this.age=age; } public void setname(string name){ this.name = name; } public string getname(){ return name; } public void setage(int age){ this.age = age; } public int getage(){ return age; } //重写tostring方法 //重写参数列表要与父类参数列表相同 public string tostring(){ string string = "{name="+name+" age="+age+"}"; return string; } }
public class persondemo{ public static void main(string[] args){ person person = new person("李白",22); //直接打印对象,打印出来的是地址值 system.out.println(person);//person@3b192d32 //没有重写父类的tostring方法打印出来的也是地址值 string s = person.tostring(); system.out.println(s);//person@3b192d32 //现在重写了tostring方法, person.tostring();//{name=李白 age=22} } }
//这个是object类的子类,实现了其所有方法 public class person{ private string name; private int age; public person(){} public person(string name,int age){ this.name=name; this.age=age; } public void setname(string name){ this.name = name; } public string getname(){ return name; } public void setage(int age){ this.age = age; } public int getage(){ return age; } }
object类的equals方法
public class persondemo{ public static void main(string[] args){ person p1 = new person("李白",22); person p2 = new person("苏轼",23); //直接打印对象,打印的其实就是地址值 system.out.println(p1); system.out.println(p2); //object类的方法equals //equals源码 //boolean equals(object obj) indicates whether some other object is "equal to" this one. /*public boolean equals(object obj) { return (this == obj); }*/ boolean b = p1.equals(p2); system.out.println(b); } }public class persondemo{ public static void main(string[] args){ person p1 = new person("李白",22); person p2 = new person("苏轼",23); //直接打印对象,打印的其实就是地址值 system.out.println(p1); system.out.println(p2); //object类的方法equals //equals源码 //boolean equals(object obj) indicates whether some other object is "equal to" this one. /*public boolean equals(object obj) { return (this == obj); }*/ boolean b = p1.equals(p2); system.out.println(b); } }
日期时间类 date类
public class demodate{ public static void main(string[] args){ long l =system.currenttimemillis();//获取从1970年1月1日到今天经历了多少毫秒 system.out.println(l); //把毫秒值变成天数 long day = 24*60*60*1000; long aday = l/day; system.out.println(aday);//18036 //把天数转化成年 system.out.println(aday/365);//1970年距今49年 } }
date类的构造方法和成员方法
import java.util.date; public class dateclass{ public static void main(string[] args){ date date = new date(); //date的空参数构造方法会返回系统当前的日期和时间 system.out.println(date); date date1 = new date(100000000l); //date有参构造方法将会把传递进来的数值转换成日期 system.out.println(date1); system.out.println(method()); } //获取毫秒值 public static long method(){ date date = new date(); return date.gettime(); } }
dateformat类的format方法和parse方法
import java.text.*; import java.util.*; public class demodateformat{ public static void main(string[] args) throws parseexception{ method2(); } public static void method(){ //首先创建datefromat子类simpledateformat对象 //并且创建对象是使用构造方法指定格式 simpledateformat sdf = new simpledateformat("yyyy年mm月dd日 hh时mm分55秒"); //调用方法format,调用方法是需要传递date类 date date = new date(); system.out.println(date); string str = sdf.format(date); system.out.println(str); } public static void method2() throws parseexception{ simpledateformat sdf = new simpledateformat("yyyy年mm月dd日 hh时mm分55秒"); date date = sdf.parse("2019年05月20日 15时21分55秒"); system.out.println(date); } }
import java.util.*; import java.text.*; //计算一个人活了多久 public class survival{ public static void main(string[] args) throws parseexception{ system.out.println("让我们来帮你算算你活了多久"); system.out.println("请按照"+" yyyy-mm-dd"+" 格式输入你的出生日期吧"); scanner sc = new scanner(system.in); string birth = sc.next(); //现在要把出生日期字符串,解析成date格式 //需要与出生日期的格式一样,否则会解析异常 simpledateformat sdf = new simpledateformat("yyyy-mm-dd"); //需要一个指定格式的字符串格式 date date = sdf.parse(birth); //把日期转换成毫秒值 long ms = date.gettime(); //获取当前日期,转换成毫秒值 long todaytime = new date().gettime(); long newms = todaytime-ms; long newday = newms/1000/60/60/24; system.out.println(newday); } }
calendar类的常用成员方法
- public int get( int field ):返回给定日历字段的值
- public void set (int field ,int value):将给定的日历字段设置为给定值
- public abstract void add( int field ,int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量
- public date gettime();返回一个表示此calendar时间值的date对象
import java.util.*; public class calendardemo{ public static void main(string[] args){ //public int get(int field):返回给定日历字段的值 //参数:传递指定的日历字段(year,month....) //返回值:日历字段代表的具体的值 //getinstance是一个比较特殊的方法 //他会返回一个calendar的子类 calendar c = calendar.getinstance(); int year = c.get(calendar.year);//获取当前系统的年份 int month = c.get(calendar.month); int day = c.get(calendar.day_of_month); system.out.println("年:"+year+" 月:"+month+" 天:"+day); system.out.println("===================================="); c.set(calendar.year,2520); c.set(calendar.month,5); c.set(calendar.date,20); int year1 = c.get(calendar.year);//获取当前系统的年份 int month1 = c.get(calendar.month); int day1 = c.get(calendar.day_of_month); system.out.println("年:"+year1+" 月:"+month1+" 天:"+day1); //增加年的方法也是一样的 //c.add(calendar.year,2); //c.add(calendar.month,3); //把日历对象变成日期对象的方法 //c.gettime();这个方法将返回日期 } }
system类
system类提供了大量的静态方法,可以获取与系统相关的信息或系统级操作,在system类的api文档中,常用方法有:
public static long currenttimemillis():返回以毫秒为单位的当前时间
public static void arraycopy(object src, int srcpos,object dest, int destpos, int length):将数组中指定的数据拷贝到另一个数组中 ;
import java.util.*; public class arraydemo{ public static void main(string[] args){ int[] src = {1,2,3,4,5}; int[] dest = {6,7,8,9,10}; system.out.println("复制前:" +arrays.tostring(dest)); system.arraycopy(src,0,dest,0,3); system.out.println("复制后:"+ arrays.tostring(dest)); } }
stringbuilder类
字符串缓冲区,可以提高字符串的操作效率(可以看成一个长度可以变化字符串)
//stringbuilder的构造方法 public class stringbuilderdemo{ public static void main(string[] args){ //空参数构造方法,其中没有字符,初始字符容量为16 stringbuilder sb = new stringbuilder(); system.out.println(sb+"羌笛何须怨杨柳,春风不度玉门关,"); //有参数的构造方法,字符内容为指定的内容 stringbuilder sb1 = new stringbuilder("云想衣裳花想容,春风拂槛露华浓"); system.out.println(sb1); } }
//stringbuilder的常用方法 public class stringbuilderdemo2{ public static void main(string[] args){ stringbuilder sb = new stringbuilder(); //这里吧sb的地址值赋值给了sb1 stringbuilder sb1 = sb.append("云想衣裳花想容,春风拂槛露华浓。"); system.out.println(sb); system.out.println(sb1); system.out.println(sb==sb1); //链式编程 stringbuilder libai =sb.append("若非群玉山头见").append(",会向瑶台月下逢。").append("----清平调").append(".李白"); system.out.println(libai); //云想衣裳花想容,春风拂槛露华浓。若非群玉山头见,会向瑶台月下逢。----清平调.李白 } }
//string与stringbuilder的相互转换 public class stringbuilderdemo3{ public static void main(string[] args){ //string--->stringbuilder string str = "云想衣裳花想容"; system.out.println(str); stringbuilder sb = new stringbuilder(str); sb.append(" 春风拂槛露华浓"); system.out.println(sb); //stringbuilder-->strintg string sb2 = sb.tostring(); system.out.println(sb2+" 若非群玉山头见,会向瑶台月下逢"); } }
/*包装类: 基本数据类型,使用起来非常方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类,把基本类型的数据装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类的方法来操作这些基本类型的数据 */
/*装箱:把基本类型的数据,包装到包装类中(int-->integer) integer类的构造方法 integer(int value) 构造一个新分配的integer对象,他表示指定的int值 integer(string s) 构造一个新分配的integer 对象,他表示stirng参数所指示的值 传递的字符串必须是基本类型的字符串 静态方法: integer valueof(int i)返回一个表示指定的 int值的 integer integer valueof(string s) 拆箱:在包装类中取出基本类型 int intvalue(); */ public class integerdemo{ public static void main(string[] args){ //装箱,先使用构造方法装箱 integer integer = new integer(5);//传递int值,完成装箱 //装箱,第二张方式 integer integer2 = new integer("10");//传递基本类型的字符串 system.out.println(integer);//重写了tostring system.out.println(integer2);//重写了tostring //第三种方式装箱 integer integer3 = integer.valueof(1); integer integer4 = integer.valueof("2"); system.out.println(integer3); system.out.println(integer4); //拆箱 int i = integer3.intvalue(); system.out.println(i); } }
//自动拆箱与自动装箱 integer in = 1; //发生了自动装箱integer in = new integer(1); //int in = in+2;//发生了自动拆箱
integer类可以把基本类型的字符串变成int类型,也可以把int类型变成字符串类型
上一篇: 解析PHP计算页面执行时间的实现代码