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
}