当前位置:编程学习 > JAVA >>

java知识点

 

 输入输出和控制流程

  1、输入输出

  1.1 控制台的输入:通过控制台输入,需要构造一个Scanner对象,并与标准输入流System.in关联。

  如:Scanner in = new Scanner(System.in);

  1.2 可以使用Scanner的nextLine读取一行数据,用next读取一个字符串,用nextInt读取一个整数等

  1.3 Scanner不适用从可控制台读取密码,java SE  6特别引入了Console类实现这个目的。

  如:  Console con = System.console();

  char[] password = con.readPassword("password: "); //安全起见,将密码放到字符数组中,而不是字符串;处理后应该对马上用填充值覆盖数组元素。不过不如scanner方便,每次只能读一行数据,而不是一个数值或单词。

  1.4 格式化输出:java SE5.0 沿用了c语言库函数中的printf方法。

  如:System.out.printf("a is %d, b is %s", age, name);

  1.5 后面跟的参数索引是从1开始,象上例中的age的索引为1,name的索引为2;而且可以使用<标志来使用前一个参数将被使用

  如:System.out.printf("%1$s %2$tB  %2$te %2$tY", "Due date:", new Date());

  System.out.printf("%s %tB  %<te %<tY", "Due date:", new Date());

  输出为:Due date: February 9 2004

  1.6 可以使用静态的String.format方法创建一个格式化字符串

  如:String message = String.format(("a is %d, b is %s", age, name);

  1.7 文件输入与输出

  1.7.1对于文件进行读取,就需要一个用File对象构造一个Scanner对象

  如:Sanner in = new Scanner(new File("myfile.txt"));

  ★可以构造一个字符串的Scanner,但是此时将字符串解释为数据,而不是文件名。

  1.7.2对文件写入,就需要构造一个PrintWriter对象,只需要提供文件名。

  如:PrinterWriter out = new PrinterWriter("myfile.txt");

  ★如果用一个不存在的文件构造Scanner或用一个不能创建的文件构造PrinterWriter对象,则会跑出一个异常。

  2、控制流程

  2.1 块作用域:由花括号括起来的若干条简单的java语句。它确定了变量的作用域;一个块可以嵌套在另一个块中。而且不能在嵌套的两个块中声明同一个变量,这个c++是不同的。

  2.2 使用条件语句、循环语句等,可以使用块将原本放一条语句的地方放多条语句。

  2.3 使用循环,检测两个浮点数是否相等格外小心。

  如:for(double x = 0; x != 10; x += 0.1) //该循环将为死循环,因为0.1无法精确地用二进制表示。

  2.4 如果在for语句内部定义一个变量,则在循环外部无法使用。

  如:for(int i = 0; i < 10; i++){} // i无法在外部使用,如使用需要在循环外定义

  2.5 另个独立的循环可以定义同名的变量

  如:for(int i = 0; i < 10; i++){}  for(int i = 11; i < 20; i++){} // 这是允许的

  2.6 对于switch语句,如果case后面没有break语句,则将继续触发下一个case的处理,这是很危险的,所以避免使用switch语句。

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,