任何一个Java对象都可以转换成字符串,String类对象称为不可变字符串,检测一个字符串既不是NULL也不是空串 if(str = !null && str.length() != 0) 注意码点与代码单元关系。在JDK5.0中引入StringBuilder类,这个类的前身是StringBufffer,其效率稍有些低,但允许采用多线程的方式执行添加或删除字符操作。如果所有字符串在一个单线程中编辑,应该用StringBuilder代替它。这两个类的API相同。
因为Scanner类输入是可见的,不适用于输入密码,Java SE6引入了Console类来实现这个目的。
Console cons = System.console();
String username = cons.readLine("User name:");
char[] passwd = cons.readPassword("Password:");
格式化的输出规则 和 时间类型的格式化操作 。
文件输入与输出:对文件读取,用File对象构造一个Scanner对象
Scanner in = new Scanner(Paths.get("myfile.txt"),"UTF-8");
对文件写入,构造一个PrintWriter对象
PrintWriter out = new PrintWriter("myfile.txt","UTF-8");
使用集成开发环境,启动路径由IDE控制:
String dir = System.getProperty("user.dir");
块(block)的概念,块确定了变量的作用域。不能在嵌套的两个块中声明同名的变量。在循环中,检测两个浮点数是否相等需要格外小心。
大数值计算,用java.math包中的BigInteger和BigDecimal两个类,可以处理包含任意长度数字序列的数值。BigInteger实现任意精度的整数运算,BigDecimal实现任意精度的浮点数运算。与C++不同,Java没有提供运算符重载功能,除了"+"号用于连接字符串。