当前位置: 移动技术网 > IT编程>开发语言>Java > 7天学完Java基础之7/7

7天学完Java基础之7/7

2019年05月21日  | 移动技术网IT编程  | 我要评论
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类的常用成员方法

  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(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类型变成字符串类型

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网