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

java知识点(4)

输入输出和控制流程
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
部份技术文章来自网络,