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
}