Java基础-数字与静态
数字与静态
除了主数据类型的运算外,数字还可以有其他共工作,如:计算绝对值、取整、以小数点后两位的打印格式,字符串如何转换成数字等等,而这些与数字有关的方法多为静态的。
1.在静态Math类中,方法都是静态的,它们都不需要实例变量值,不需要对象,用到的只有它的类本身;非静态的方法必须以某种实例来操作。
//Math.random()返回介于0.0~1.0之间的双精度浮点数 double r1 =Math.random(); int r2 = (int) (Math.random() * 5);
2.静态方法以类的名称来调用,非静态方法是以引用变量的名称来调用。可以以引用变量的名称来调用静态方法,但不可以以类的名称来调用非静态方法。
Math.min(13,14); //调用静态方法 Song t2 = new Song(); t2.play(); //调用非静态方法
3.main()方法就是静态的。静态的方法不能调用非静态的变量、非静态的方法。
4.静态变量是每个类一个(共享),实例变量是每个实例一个。
final
1.final既可用在静态变量又可用在非静态变量。
2.final的值一旦被赋值就不能更改。是常数,常数的名称要都是大写的。
3.final的method不能被覆盖过。
4.final的类不能被继承过,即不能创建它的子类。
static{ DOG_CODE = 420; //final的静态变量值必须在声明或静态初始化程序中赋值 }
创建int的Arraylist
ArrayList<Integer> listOfNumbers = new ArrayList<Integer>(); //不能直接声明ArrayList<int>,因为generic类型的规则是只能指定类或接口类型,所以此时将无法通过编译 listOfNumbers.add(2); int num = listOfNumbers.get(0);
String与primitive主数据类型间的转换
//将String转换成primitive主数据 String t = "6"; int x = Integer.parseInt(t); //将"6"解析成6 double y = Double.parseDouble("520.52"); //将"520.52"解析成520.52 //将primitive主数据类型值转换成String double d = 42.5; String doubleString = ""+d; String doubleString = Double.toString(d);
数字的格式化
public class Formats { public static void main (String[] args){ String s = String.format("%,d",1000000000); //%表示把参数放这里,以逗号来分开后面要格式化的数字,d表示以十进制整数的方式 System.out.println(s); String x = String.format("I have %.2f bugs to fix.",4567.896); //%表示把参数放这里,2f表示以小数点后两位的方式(四舍五入) System.out.println(x); String z = String.format("I have %.4f bugs to fix.",4567.896); //%表示把参数放这里,4f表示以小数点后四位的方式(四舍五入) System.out.println(z); String y = String.format("I have %,.2f bugs to fix.",4567.896); //把参数放这里,同时以逗号来分开,小数点后两位 System.out.println(y); } } //输出如下: //1,000,000,000 //I have 4567.90 bugs to fix. //I have 4567.8960 bugs to fix. //I have 4,567.90 bugs to fix.
日期
完整的日期与时间:%tc
只有时间:%tr
周、月、日:%tA %tB %td
Calendar对象

浙公网安备 33010602011771号