Trail: Learning the Java Language_Lesson: Numbers and Strings

很多使用原始类型的地方,其实也可以使用java.lang.Number类型的对象,并且通常是能够自动转换的

Number.parseXXX,和Number.valueOf可以得到该类型对象

 

java.io.PrintStream类中有两个方法,printf和foumat,可以用来替代print和println

 

format(String format, Object... args)//并且有重载

 

巧了,System.out正好是PrintStream类型

 

System.out.format("The value of " + "the float variable is " +
     "%f, while the value of the " + "integer variable is %d, " +
     "and the string is %s", floatVar, intVar, stringVar); 

关于%后面都能加什么,可以查看java.util.Formatter类

 

也可以用java.text.DecimalFormat类,来控制前导0,后导0,前后缀,分隔符等

 

import java.text.*;

public class DecimalFormatDemo {

   static public void customFormat(String pattern, double value ) {
      DecimalFormat myFormatter = new DecimalFormat(pattern);
      String output = myFormatter.format(value);
      System.out.println(value + "  " + pattern + "  " + output);
   }

   static public void main(String[] args) {

      customFormat("###,###.###", 123456.789);
      customFormat("###.##", 123456.789);
      customFormat("000000.000", 123.78);
      customFormat("$###,###.###", 12345.67);  
   }
}

 

The output is:

123456.789  ###,###.###  123,456.789
123456.789  ###.##  123456.79
123.78  000000.000  000123.780
12345.67  $###,###.###  $12,345.67

 

java.lang.Math类包含了更多的算术运算,所有方法都是静态的,可以

import static java.lang.Math.*;//导入静态成员,可直接使用

Math.random()方法返回[0.0,1.0)的一个随机数,如果想生成多个,要用java.util.Random的实例方法


java.lang.Character类是char的包装类,但并不是Number的子类

 

java.lang.String类表示字符串,也就是字符序列

对每个字串字面量,编译器都会生成一个String对象,另外也可以调用它的13种构造手动生成

所有的Number,Character,String类型对象,都是不可更改的,所以String下面的很多方法都是生成了新的String

 

+操作符可以用来连接String,或者其他类型,如果是对象的话,会调用toString()方法

String字面量不能跨行书写,所以只能用+连接起来

 

String.format()方法返回另一个String

 

String fs;
fs = String.format("The value of the float " +
                   "variable is %f, while " +
                   "the value of the " + 
                   "integer variable is %d, " +
                   " and the string is %s",
                   floatVar, intVar, stringVar);
System.out.println(fs);


String.substring(4,5)指的是下标[4,5)的子串

 

Trail: Learning the Java Language_Lesson: Numbers and Strings

 

StringBuilder提供的是变长字串,长度和内容可随时更改

StringBuilder(String)构造,和toString()方法,提供了二者的相互转换

 

 

 

 

 

你可能感兴趣的:(language)