8_03上&下午复习

键盘输入 Scanner

Scanner sc=new Scanner(System.in); //生成键盘输入的对象

int age=sc.nextInt(); //接受年龄,即接受键盘输入

StringBuffer

StringBuffer创建的的字符串可以改变

例如:

SrtingBuffer sb=new SrtingBuffer(“adc”);

Sb.append(“def”);          //连接字符串,sb的后面加”def”,(称为追加)

M=Sb.toString();       //sb的值赋给M

 

SrtingBufferString的区别:

SrtingBuffer 比String的性能比较好,速度快,因为它创建的字符串可以在原有的基础上改变

Math

Math类中没有一个构造函数,且方法都是static,可以直接类名Math调用

  例如:

//返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。

       System.out.println(Math.ceil(6.1));  //输出7.0

       //返回第一个参数的第二个参数次幂的值。

       System.out.println(Math.pow(2,32));  //输出232次幂

 

Object

Object是所有类的父类,属于超类

Finalize

Object中的Finalize方法:

是Java虚拟机调用,回收垃圾的

 

特点:

任何其它类都可以调用Object里的方法,且不用写extends

        (JAVA 本身定义的类,存在继承关系,在使用时不用写extends)

例子分析:

package day6;

import day3.jicheng.Person;

publicclass ObjectTest {

    publicstaticvoid main(String[] args) {

              //Object:所有类的父类

       Person p=new Person("aa",22);

      

       //Object中的toString(),返回对象的类名@对象所在的内存地址

àSystem.out.println(p.toString());

        àSystem.out.println(p);

 

       Person p1=new Person("aa",22);

       //Object中的equals(),比较对象是不是同一内存空间,==作用相同

       //java推荐:equals()比较对象属性是不是相同

    à    if(p.equals(p1)){

           System.out.println("a");

       }else{

           System.out.println("b");

       }

    }

}

 

à子类Person中重写Object中的方法toString():

à  public String toString() {    //覆盖Object中的toString方法

à     returnname+":"+age;

à  }

 

分析1: 返回该对象的字符串表示调用方法toString()

当子类Person中有重写Object中的方法toString(),①②的输出的结果是一样的:

                      àaa:22

àaa:22

àa

当子类Person中没有重写Object中的方法toString(),①②输出的为:

返回对象的类名@对象所在的内存地址

 àday3.jicheng.Person@12b6651

          àday3.jicheng.Person@12b6651

           àa

 

分析2:equals()方法

Object中的equals()方法,不同于String里的,因为在String里重写了Object中的equals()方法

区别:

Object中的equals(),比较对象是不是同一内存空间,跟==作用相同

String 中的 equals(),比较对象里的内容,不是内存空间

 

 

Java.util 里的类

Date

 1. 可以输出当前时间

例如:

Date d=new Date();

         System.out.println(d);è

        System.out.println(new Date());è

:new Date()输出的是当前时间

 è①②功能是一样的

 

 2.Date基本上已经过时了,但常用Date可以格式化输出日期

        //"yyyy-MM-dd HH:mm:ss”è--::

       DateFormatdf=new SimpleDateFormat("yyyyMMdd");

       System.out.println(df.format(new Date()));

 :

     格式化输出日期使用DateFormat的直接子类SimpleDateFormat来实现

            SimpleDateFormat的构造函数èpublic SimpleDateFormat(String pattern)

 

3.格式化数字

       DecimalFormat numF=new DecimalFormat("#.000");

       double f=5.55555555;

       System.out.println(numF.format(f));

结果:

5.556

 

4 Date String 的格式转换

à //  date->String

       String str=df.format(new Date());

       System.out.println(str);

      

       String str1="200012";

      

    à    try {

        //  String->date

           Date d2=df.parse(str1);

       } catch (ParseException e) {                      //一定要用异常么  ?

           e.printStackTrace();

       }

 

Calendar

Calendar的变量几乎都是是static的

 

1Calendar创建有别与其它类, Calendar不使用new

Calendar cal=Calendar.getInstance();

                

2. 设置日历的时间年//

              cal.set(Calendar.YEAR,int m); //设置年

            cal.set(Calendar.MONTH,int n); //设置月

             cal.set(Calendar.DAY_OF_MONTH,int k); //设置日

 

注:

电脑系统的月份是0到11,而现实中的时间是1到12

              例如:      

当为0时表示现实是1月份

3取日期

       int year=cal.get(Calendar.YEAR);

       int month=cal.get(Calendar.MONTH)+1;

       intday=cal.get(Calendar.DAY_OF_MONTH);

intweek=cal.get(Calendar.DAY_OF_WEEK);

:

DAY_OF_WEEK一般获取设置的日期是星期几

★  系统月份与现实月份不同

4.加时间

       cal.add(Calendar.DAY_OF_MONTH, -100);

      

5.得到某个月份的最大值

       int dayMax=cal.getActualMaximum(Calendar.DAY_OF_MONTH);

 

6. CalendarDate类型转换, DateCalendar的父类

Calendar->Date:

                   Date d=cal.getTime();

Date->Calendar:

                   Date d2=new Date();

                   cal.setTime(d2);

7.取当前时间,并打印

        

ArrayList

一般定义的数组 Array在定义时必须规定大小,且长度不可变

int[]iA={1,2,3};

但ArrayList创建的数组,长度是可变的

 

1.创建ArrayList数组,且数组下标从0开始

              ArrayList al=new ArrayList();

 

2.使用add() 方法添加元素

              al.add(1);//向下标为0的单元,添加数字1

              al.add(2);//向下标为1的单元,添加数字2

 

3Size() 方法显示当前元素的个数,即数组长度

              int size=al.size();

 

4Remove() 方法删除元素

删除下标为2的元素,2后面的元素自动上移

                al.remove(2);

 

5get() 方法取元素

取下标为2元素

                  int i=(Integer)al.get(2);

               System.out.println(i);

 

6.访问每一个元素,两种方法

      

       àfor(i=0;i<al.size();i++){

       à    int m=(Integer)al.get(i);

       à     System.out.println(m);

       à    }

      

       àfor(Object obj:al){

       à    int m=(Integer)obj;

       à   System.out.println(m);

       à    }

 

 :

本次举类中,数组元素都是整型,所以采用强制转换将数组转换成整型

 如果是student就强制转换成student:

        student k3=new student("wo3",23,78);

        ArrayList al=new ArrayList();

        al.add(k3); //k3元素的下标为0

        studentp=(student)al.get(0);

          

HashMap

类似于ArrayList

特点:

本身没有下标,把key当成下标(key,value)且key不能重

 

使用HashMap要引用包:

import java.util.HashMap;

 

1. 创建HashMap                 

HashMap hm=new HashMap();

 

2.使用put() 方法添加元素

                  Personp1=new Person("p1",22);

                  Personp2=new Person("p2",22);

                  hm.put("001",p1);

                  hm.put("002",p2);

 

3Size() 方法显示当前元素的个数

                  intsize=hm.size();

                  System.out.println(size);

 

4Remove() 方法删除元素     

                  hm.remove("003");

        

5get() 方法取元素

                  Personp=(Person)hm.get("002");

                  p.getInfo();

 

6.访问每一个元素

                  for(Objectkey:hm.keySet())

{

                          Stringk=(String)key;

                          Personpp=(Person)hm.get(k);

                          System.out.print(k+"-----");

                          pp.getInfo();

                     }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值