java学习初探十二之常用类_数字_随机数_枚举

1.数字
(1)java.text.DecimalFormat

import java.text.DecimalFormat;

/*
 * 关于数字格式化 java.text.DecimalFromat
 * 数字格式元素
 *  # 任意数字
 *  , 千分位
 *  . 小数点
 *  0 不够补0
 */
public class NumberTest {
    public static void main(String[] args) {
        //1.创建数字格式化对象
        //需求:加入千分位
        DecimalFormat df=new DecimalFormat("###,###");
        //开始格式化
        //number-->String
        System.out.println(df.format(1234567));//1,234,567

        //需求:加入千分位,保留2位小数
        DecimalFormat df2=new DecimalFormat("###,###.##");
        System.out.println(df2.format(1234567.123));//1,234,567.12

        //需求:加入千分位,保留4位小数,并且不够补0
        DecimalFormat df3=new DecimalFormat("###,###.0000");
        System.out.println(df3.format(1234567.123));//1,234,567.1230

    }

}

(2)java.math.BigDecimal

import java.math.BigDecimal;

/*
 * java.math.BigDecimal
 *      该类型的数据精确度极高,适合做财务软件;
 *      财务软件中double类型精确度太低
 */
public class NumberTest02 {
    public static void main(String[] args) {
        //创建大数据
        BigDecimal v1=new BigDecimal(10);
        BigDecimal v2=new BigDecimal(20);

        //做加法运算
        //v1+v2 错误,两个引用类型不能做加法运算
        //必须调用方法执行加法运算
        BigDecimal v3=v1.add(v2);
        System.out.println(v3);//30
    }
}

2.java.util.Random

import java.util.Random;

/*
 * 生成随机数
 */
public class RandomTest {

    public static void main(String[] args) {

        //创建一个新的随机数生成器
        Random r=new Random();
        //生成int的随机数
        int i=r.nextInt(101);//[0-100]之间的随机数

        //循环生成5个随机数
        for(int j=0;j<6;j++) {
            System.out.println(r.nextInt(101));
        }
    }

}

生成五个不重复的随机数:

import java.util.Random;

import javax.swing.SpringLayout.Constraints;

/*
 * 作业:生成5个不重复的随机数[1-5]
 */
public class RandomTest {
    public static void main(String[] args) {
        int[] a= new int[5];
        Random random=new Random();
        int index=0;
        while(index<5) {
            int temp=random.nextInt(6);//0-5
            if(temp!=0&&!contains(a,temp)) {
                a[index++]=temp;
            }

        }   
        //遍历保存的随机数
        for (int j = 0; j < a.length; j++) {
            System.out.print(a[j]+" ");
        }
    }
    //该方法完成判断temp元素在a数组中是否包含
    //包含返回true
    public static boolean contains(int[] a,int temp) {
        for (int i = 0; i < a.length; i++) {
            if(a[i]==temp) {return true;}
        }
        return false;
    }


}

3.枚举 enum
(1)引出问题

/*
 * 需求,定义一个方法,该方法的作用是计算两个int类型数据的商。
 * 如果计算成功,则,该方法返回1,如果执行失败,则该方法返回0
 * 
 * 程序执行成功,但是该程序存在风险,分析:存在什么风险
 * 程序中的问题能在编译阶段解决的,绝对不会放在运行期解决,所以以下程序可以引入枚举类型
 */
public class EnumTest {

    public static void main(String[] args) {
        int a=10;int b=0;
        int returnval=divide(10, 0);
        if(returnval==1) {
            System.out.println("成功");
        }else {
            System.out.println("失败");
        }

    }
    //实现需求
    public static int divide(int a,int b) {
        try {
            int c=a/b;
            return 1;
        } catch (Exception e) {
            return 0;
        }
    }

}

(2)引入enum类型解决


public class EnumTest02 {

    public static void main(String[] args) {
        int a=10;int b=0;
        Result returnval=divide(10, 0);
        if(returnval==Result.SUCCESS) {
            System.out.println("成功");
        }
        if(returnval==Result.FAIL) {
            System.out.println("失败");
        }

    }
    //实现需求
    public static Result divide(int a,int b) {
        try {
            int c=a/b;
            return Result.SUCCESS;
        } catch (Exception e) {
            return Result.FAIL;
        }
    }

}
//定义一个枚举类型
enum Result{
    //成功和失败
    //规范要求:大写
    SUCCESS,FAIL //有限的
}
//四季
enum Season{
    SBRING,SUNMER,AUTUMN,WINTER
}
//颜色
enum Color{
    RED,BLACK,WHITE
}

你可能感兴趣的:(java学习笔记)