博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7天学完Java基础之7/7
阅读量:4956 次
发布时间:2019-06-12

本文共 8864 字,大约阅读时间需要 29 分钟。

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类的常用成员方法

  1. public int get( int field ):返回给定日历字段的值
  2. public void set (int field ,int value):将给定的日历字段设置为给定值
  3. public abstract void add( int field ,int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量
  4. 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( src, int srcPos, 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类型变成字符串类型

转载于:https://www.cnblogs.com/train99999/p/10897627.html

你可能感兴趣的文章
.NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
查看>>
经典案例, 每隔一分钟执行一次的定时任务, 用 thread+ while(true) 还是timer
查看>>
面向对象
查看>>
leetcode Lowest Common Ancestor of a Binary Tree
查看>>
安装NoSQL数据库类型的redis 和 memcache数据库及其扩展
查看>>
返璞归真vc++之字符类型
查看>>
IIS7增加mine类型,以便可以访问apk
查看>>
基于MVC4+EF5.0+Ajax+Json+CSS3的简单注册页面(get&post)
查看>>
BinaryReader 和BinaryWriter 读写类对象
查看>>
C# 翻页设计:首页,上一页,下一页,末页 ,跳转
查看>>
UIBezierPath 的使用
查看>>
日语常用计算机词汇
查看>>
PHP书写效率问题
查看>>
WPF Silverlight异同明细【推荐】
查看>>
POJ 3204 Ikki's Story I - Road Reconstruction
查看>>
day12 函数对象,名称空间与作用域
查看>>
MSDTC处理方案
查看>>
【转】如何在Qt 4程序中优化布局结构-兼回答网友提问
查看>>
C# 线程(五):线程池
查看>>
createTrackbar
查看>>