黑马程序员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"));
//意思是:将信息输出到指定的文件中
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培训、期待与您交流! ----------------------
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培训、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员——JAVA基础之开发前奏,基础知识了解
- 黑马程序员-----------快速了解java基础小知识
- Java 应了解的基础知识(转载)
- 黑马程序员0831_java基础知识+多线程部分
- 黑马程序员_java基础知识学习总结一
- 黑马程序员---- java基础知识
- 黑马程序员-java基础学习02-基本知识
- 黑马程序员0822_java基础知识
- 黑马程序员——java语言基础知识回顾(三)
- 黑马程序员_java基础知识学习总结二
- 黑马程序员——java语言基础——静态static知识小结
- 黑马程序员_Java编程学习日记01(开博之言、java编程基础知识总结)
- 黑马程序员_java基础知识
- Java 应了解的基础知识(转载)
- 黑马程序员_java基础知识学习总结三
- 黑马程序员_java基础知识补充
- 黑马程序员0829_java基础知识
- 黑马程序员---总结的java基础知识
- 黑马程序员_java初级基础知识汇总(常量和变量、语句、函数、数组)
- 黑马程序员_java基础知识学习总结四