目录:
1.DecimalFormat类
- DecimalFormat 是 NumberFormat 的一个具体子类 ,用于格式十进制数字。
java/** * 关于数字的格式化 */ public class DecimalFormatTest01 { public static void main(String[] args) { // java.text.DecimalFormat : 专门负责数字格式化的 //DecimalFormat df = new DecimalFormat("数字格式"); /* 数字格式有: # 代表任意数字 , 代表千分位 . 代表小数点 0 代表不够时补0 ###,###.## 表示: 加入千分位,保留2个小数 */ DecimalFormat df1 = new DecimalFormat("###,###.##"); String s1 = df1.format(1234.561232); System.out.println(s1); //1,234.56 DecimalFormat df2 = new DecimalFormat("###,###.0000"); //保留四位数,不够补上0 String s2 = df2.format(1234.56); System.out.println(s2); //1,234.5600 } }
2.BigDecimal类
BigDecimal 属于大数据,精度极高。不属于 基本数据类型,属于Java对象(引用数据类型)。
BigDecimal 在java.math.BigDecimal,是Sun提供的一个类,专门用在财务软件中。( 财务软件中double 是不够的。)
java// BigDecimal 属于大数据,精度极高。不属于基本数据类型,属于Java对象(引用数据类型)。 // BigDecimal在java.math.BigDecimal,是Sun提供的一个类,专门用在财务软件中。 // 财务软件中double是不够的。 //这个100不是普通的100,而是精度极高的100 BigDecimal v1 = new BigDecimal(100); //精度极高的 200 BigDecimal v2 = new BigDecimal(200); /* 对两个"精度极高"的数进行"加减乘除 等操作",因为都是引用,不能直接进行操作,可调用方法 */ //求和 BigDecimal v3 = v2.add(v1); System.out.println(v3); //300 //相减 BigDecimal v4 = v2.subtract(v1); System.out.println(v4); //100 //相乘 BigDecimal v5 = v2.multiply(v1); System.out.println(v5); //20000 //相除 BigDecimal v6 = v2.divide(v1); System.out.println(v6); //2
3.Random类
random :用于生成随机数。
java//创建随机数对象 Random random = new Random(); //随机生成一个int类型范围内的数字。 int num1 =random.nextInt(); System.out.println(num1); //随机生成一个[0~100]范围内的数字。不能产生101 int num2 =random.nextInt(101); //不包括101 System.out.println(num2);
4.需求:编写程序,生成5个不重复的随机数
需求:编写程序,生成5个不重复的随机数[0-100],最终生成的5个随机数放到数组中,要求数组中的这5个随机数不重复。
java/* 需求: 编写程序,生成5个不重复的随机数[0-100],最终生产的5个数放到数组中,要求这5个数不重复。 */ public class RandomTest01 { public static void main(String[] args) { //创建Random对象 Random random = new Random(); //准备一个长度为5的一维数组 int[] arr = new int[5]; //为该一维数组设置初始值 for (int i = 0; i<arr.length;i++) { arr[i] = -1; } //循环,生成随机数 int index = 0; while (index < arr.length) { //生成随机数 int num = random.nextInt(101); //此处设置为5可测试代码是否有bug //判断arr数组中是否有这个num,如果没有这个num,就放进去 if (!contains(arr,num)) { arr[index] = num; index++; } } //遍历以上数组 for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } //该方法:用来判断数组中是否包含某个元素 public static boolean contains(int[] arr,int key){ for (int i = 0; i < arr.length; i++) { if (arr[i] == key) { //条件成立了表示包含,返回true return true; } } //表示不包含 return false; } }