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