[2016-8-19]成员变量、可变参数、Scanner

来源:互联网 发布:40本网络禁书阅读 编辑:程序博客网 时间:2024/06/16 20:01

代码

package wlvgfe2016819;import java.io.BufferedReader;import java.io.InputStreamReader;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Scanner;public class Test1 {    Date t3;    int x;    boolean y;    /**     * @param args     */    public static void main(String[] args) {        // TODO Auto-generated method stub        Test1 test1=new Test1();        test1.test6();    }    /**     * 成员变量是有默认值的     * 引用型的变量的默认值为null,数值型为0,布尔型为false     */    public void test1(){        System.out.println(t3);        System.out.println(x);        System.out.println(y);    }    /**     * 时间格式化类 SimpleDateFormat     */    public void test2(){        Date t1=new Date();        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");        System.out.println(sdf.format(t1));    }    /**     * Calendar类,更精细的时间处理     */    public void test3(){        Calendar calendar=Calendar.getInstance();        System.out.println(calendar.get(Calendar.YEAR));        System.out.println(calendar.get(Calendar.MONTH));        System.out.println(calendar.getTime().getTime()/1000);    }    /**     * 可变参数的使用     */    public void test4(String...strings){        if (strings.length==0) {            System.out.println("没有传递参数");        }        if (strings.length>0) {            for(String arg1:strings){                System.out.println("参数为"+arg1);            }        }    }    /**     * IO流操作     */    public void test5(){        BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(                System.in));        String ln=null;        String result="";        try {            while((ln=bufferedReader.readLine())!=null){                if(ln.equals("end")){                    break;                }                result=result.concat(ln);            }        } catch (Exception e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        System.out.println(result);    }    /**     * Scanner对象     */    public void test6(){        Scanner scanner=new Scanner(System.in);        System.out.println("开始命令行模式");        String result="";        while(scanner.hasNext()){            String next=scanner.nextLine();            if(next.equals("end")){                System.out.println("用户结束");                break;            }            result=result.concat(next);        }        System.out.println("结果为"+result);    }}

知识点总结

  1. 成员变量是在代码块、方法外定义的变量,成员变量不同于局部变量,定义后可以不用初始化有默认值。引用型成员变量的默认值为null,数值型变量的默认值为0,布尔型默认值为false,同样的静态成员变量也具有相同的默认值
  2. Date类、Calender类可以进行比较复杂的时间操作,而SimpleDateFormat类可以用来进行时间的格式化输出,通过format函数输出指定时间指定格式的时间字符串
  3. 可变参数的使用,可变参数的格式:paramType…paramName,例如String…strings,可变参数就是一个数组,所以对可变参数的操作可以参照数组来进行,如果方法中有多个参数,那么可变参数只能在最后,并且方法中只能有一个可变参数存在
  4. Scanner对象和输入输出流对象可以实现命令行程序的实现,通过捕获用户的输入,来确定用户命令的功能并实现相应功能,例如当用户输入为add 1 2,并敲击回车后,可以输出结果3
0 0
原创粉丝点击