您的位置:首页 > 职场人生

黑马程序员java基础不得不了解的细碎知识

2014-06-24 08:20 363 查看
----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
1、获取时间并改变其输出格式:

Date d = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");/将模式封装到SimpleDateformat对象中

String s = sdf.format(d);/调用format方法让模式格式化指定Date对象。

 

PrintStream ps = new PrintStream("exeception.log");//异常日志

ps.println(s);//等价于System.out.println(s)

System.setOut(ps);//重新分配标准的输出流,即将System.out替换成ps

2、在已有的文件后面续写

传递一个true参数,代表不覆盖已有的文件。并在已有文件的末尾处进行数据续写。

FileWriter fw = new FileWriter("demo.txt",true);

fw.write("nihao\r\nxiexie");

3、Runtime对象

该类并没有提供构造函数。

说明不可以new对象。那么会直接想到该类中的方法都是静态的。

发现该类中还有非静态方法。

说明该类肯定会提供了方法获取本类对象。而且该方法是静态的,并返回值类型是本类类型。

由这个特点可以看出该类使用了单例设计模式完成。

该方式是static Runtime getRuntime();

Runtime r = Runtime.getRuntime();

Process p = r.exec("notepad.exe  SystemDemo.java");

 

 

4、StaticImport  静态导入。

 

当类名重名时,需要指定具体的包名。

当方法重名是,指定具备所属的对象或者类。

import static  java.lang.System.*;//导入了System类中所有静态成员。

Out.println("hehe");//静态导入可以这样写

System.out.println("hehe");

 

5、字符读取流缓冲区:

BufferedReader

该缓冲区提供了一个一次读一行的方法 readLine,方便于对文本数据的获取。

当返回null时,表示读到文件末尾。

readLine方法返回的时候只返回回车符之前的数据内容。并不返回回车符。

 

BufferedWriter

缓冲区的出现是为了提高流的操作效率而出现的。

所以在创建缓冲区之前,必须要先有流对象。

该缓冲区中提供了一个跨平台的换行符。

newLine();

 

记住,只要用到缓冲区,就要记得刷新:bufw.flush();

6、装饰设计模式:
当想要对已有的对象进行功能增强时,
可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。
那么自定义的该类称为装饰类。
 
装饰类通常会通过构造方法接收被装饰的对象。
并基于被装饰的对象的功能,提供更强的功能。
 
7、将系统信息存入文件
Properties prop = System.getProperties();
//System.out.println(prop);//通过控制台打印系统信息
prop.list(new PrintStream("sysinfo.txt"));//将系统信息存入指定文件
 
获取键盘输入信息并在控制台打印
BufferedReader bufr =

 new BufferedReader(new InputStreamReader(System.in));

BufferedWriter bufw =

 new BufferedWriter(new OutputStreamWriter(System.out));

String line = null;

while((line=bufr.readLine())!=null)

{

if("over".equals(line))

break;

bufw.write(line.toUpperCase());

bufw.newLine();

bufw.flush();

}

bufr.close();

 

System.setIn(new FileInputStream("PersonDemo.java"));//替换键盘输入
System.setOut(new PrintStream("zzz.txt"));
//意思是:将信息输出到指定的文件中

8、Math类

需要掌握的方法:

Math.ceil(a)  返回大于a的最小整数

Math.floor(b) 返回小于b的最大整数

Math.round(c)   四舍五入

Math.pow(2,3)   2的3次方

 

random() 返回大于等于0.0且小于1.0的double值。

 

int i = (int)(Math.random()*10+1);返回1~10中的随机数。

第二种方法,直接返回int类型的值。

Random r = new Random();

int d = r.nextInt(10)+1;

----------------------
ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: