国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Java常用時間類介紹

Android編程精選 ? 來源:CSDN ? 作者:WenTaoTao ? 2022-08-22 10:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

常用類概述

內部類

內部類的分類:

1.成員內部類(非靜態內部類)

2.局部內部類

4.匿名內部類

Object類

Object類常用方法:

1.equals方法

2.hashCode方法

3.toString方法

4.finzlize方法

包裝類

1.基本數據類型以及對應的包裝類:

2.包裝類的意義

3.包裝類常用方法:

數學類

時間類

Java常用時間類:

1.Date 日期

2.Calendar 日歷

3.SimpleDateFormat格式化時間

4.計算時間差

String類

字符串類常用方法

String Builder和StringBuffer

DecimalFormat

總結

常用類概述

內部類

Object類

包裝類

數學類

時間類

字符串

String Builder和StringBuffer

DecimalFormat

內部類

「概念」 :在一個類內部再定義一個完整的類。

一般情況下類與類之間是相互獨立的,內部類的意思就是打破這種獨立思想,讓一個類成為另一個類的內部信息,和成員變量、成員方法同等級別。

「內部類的好處:」

把一個類寫在外面和寫在里面最終達到的結果都一樣,那我們為什么還要使用內部類,豈不是多此一舉嗎?

「采用內部類這種技術,可以隱藏細節和內部結構,封裝性更好,讓程序的結構更加合理!如果類很多且都暴露在外面,那么類與類之間的調用就會十分繁瑣!」

內部類的分類:

1.成員內部類(非靜態內部類)

參考代碼如下:

packageNeiBuLei;
publicclassOuterClass{
//成員變量
privateStringOuterName;
//成員方法
publicvoiddisplay(){
System.out.println("這是外部類方法!");
System.out.println(OuterName);
}
//內部類
publicclassInnerClass{
//成員變量
privateStringInnerNme;
//構造方法
publicInnerClass(){
InnerNme="InnerClass";
}
//成員方法
publicvoiddisplay(){
System.out.println("這是內部類方法!");
System.out.println(InnerNme);
}
}
//主方法
publicstaticvoidmain(String[]args){
OuterClassouterClass=newOuterClass();
 outerClass.display();//這是外部類方法!null

//這個類是內部類,已經不是獨立的類了,因此不能像外部類一樣直接創建!
//InnerClassinnerClass=newInnerClass();行不通
OuterClass.InnerClassinnerClass=outerClass.newInnerClass();//同成員方法/變量只是加了個前綴
 innerClass.display();//這是內部類方法!
}
}

輸出結果:

這是外部類方法!null 這是內部類方法!Inner Class

「總結:成員內部類(非靜態內部類)的使用就是將內部類作為外部類的的一個成員變量/成員方法來使用,所以必須依賴于外部類的對象才能調用,用法和成員變量/成員方法一致!」

2.局部內部類

局部內部類:基本的內部類還可以在一個方法體中定義。

packageNeiBuLei;
publicclassOuterClass{
//成員變量
privateStringOuterName;
//成員方法
publicvoiddisplay(){
classInnerClass{
publicvoidprint(){
System.out.println("這是一個局部內部類方法!");
}
}
InnerClassinnerClass=newInnerClass();
innerClass.print();
}

//主方法
publicstaticvoidmain(String[]args){
OuterClassouterClass=newOuterClass();
outerClass.display();
}
}

靜態內部類

靜態內部類的構造不需要依賴于外部類對象,類中的靜態組件都不需要依賴于任何對象,可以直接通過「類本身」 進行構造。

packageNeiBuLei;
publicclassOuterClass{
//成員變量
privateStringOuterName;
//成員方法
publicvoiddisplay(){
System.out.println("這是外部類方法!");
System.out.println(OuterName);
}
//靜態內部類
publicstaticclassInnerClass{
privateStringInnerName;
publicInnerClass(){
InnerName="InnerClass";
}

//成員方法
publicvoiddisplay(){
System.out.println("這是靜態內部類方法!");
System.out.println(InnerName);
}
}

//主方法
publicstaticvoidmain(String[]args){
OuterClassouterClass=newOuterClass();
outerClass.display();
//靜態內部類的構造不依賴與外部類,可以直接通過類本身進行構造!
InnerClassinnerClass=newInnerClass();
innerClass.display();
}
}

輸出結果:

這是外部類方法!null 這是靜態內部類方法!Inner Class

4.匿名內部類

匿名內部類:沒有名字的內部類。

匿名內部類「主要應用與接口的實現!」

接口:

packageNeiBuLei;
publicinterfaceMyInterface{
publicvoidtest();
}

實現類:

packageNeiBuLei;
publicclassMyImplementimplementsMyInterface{
@Override
publicvoidtest(){
System.out.println("test");
}
}

匿名內部類的使用:

packageNeiBuLei;
publicclassMyImplementimplementsMyInterface{
@Override
publicvoidtest(){
System.out.println("test");
}
}

「匿名內部類的好處:」

我們定義接口之后,「它的實現類不需要去單獨創建一個文件去寫它的實現」 ,我們可以把這個實現類的操作寫到我們調用的地方就可以了!寫起來更加簡潔、方便。

「匿名內部類的缺點:」

耦合度太高了!

Object類

a6e0d9ce-20d9-11ed-ba43-dac502259ad0.png

匿名內部類的缺點

Object類常用方法:

1.equals方法

==與equals的對比【面試題】+ jdk查看原碼」

==是一個比較運算符

==:既可以判斷基本類型,又可以判斷引用類型

==:如果判斷的是「基本類型」「判斷的是值是否相等」

//==:如果判斷的是基本類型,判斷的是值是否相等
intx1=10;
intx2=10;
doublex3=10.0;
System.out.println(x1==x2);//true
System.out.println(x1==x3);//true

==:如果判斷的是「引用類型」「判斷的是地址是否相等,即判斷是不是同一個對象」

packageEquals;
publicclassTest01{
publicstaticvoidmain(String[]args){
//==:如果判斷的是引用類型,判斷的是地址是否相等,即判斷是不是同一個對象
Aa=newA();
Ab=a;
Ac=b;
System.out.println(a==c);//?true
System.out.println(b==c);//true
Bobj=a;
System.out.println(obj==c);//true
}
}

classB{}
classAextendsB{}
a6fff37c-20d9-11ed-ba43-dac502259ad0.png

equals方法是Object類中的方法,「只能判斷引用類型」

?

idea查看Jdk原碼:鼠標光標放在要查看的方法上,直接輸入ctrl + b

查看某個類所有方法:ctrl + F12

?

默認判斷的是地址是否相等,「子類(Object類是所有類的父類)往往重寫該方法,用于判斷內容是否相等」

/*
Object類equals()方法原碼

//默認判斷地址是否一樣
publicbooleanequals(Objectobj){
return(this==obj);
}

子類往往重寫該方法,用于判斷內容是否相等String類中的equals()方法原碼(重寫了父類equals()方法)

publicbooleanequals(ObjectanObject){
if(this==anObject){//如果是同一個對象(地址相同)
returntrue;//返回true
}
if(anObjectinstanceofString){//判斷類型
StringanotherString=(String)anObject;//向下轉型
intn=value.length;
if(n==anotherString.value.length){//如果長度相同
charv1[]=value;
charv2[]=anotherString.value;
inti=0;
while(n--!=0){//比較每一個字符
if(v1[i]!=v2[i])
returnfalse;
i++;
}
returntrue;//如果兩個字符串每一個字符都相同,則返回true
}
}
returnfalse;
}
*/

在看個例子

a713968e-20d9-11ed-ba43-dac502259ad0.png

【小練習】

寫出輸出結果:

packageEquals;
publicclassEqualsTest01{
publicstaticvoidmain(String[]args){
Personp1=newPerson();
p1.name="tom";
Personp2=newPerson();
p2.name="tom";
System.out.println(p1==p2);//引用類型——判斷是否為同一個對象(地址)
System.out.println(p1.name.equals(p2.name));//p.name是String類型,重寫了equals()方法——判斷內容是否一樣
System.out.println(p1.equals(p2));//p1,p2屬于Person類,該類并沒有重寫equals()方法(繼承父類equals()方法,即判斷地址)

Strings1=newString("abc");
Strings2=newString("abc");

System.out.println(s1.equals(s2));
System.out.println(s1==s2);
}
}

classPerson{
publicStringname;
}

輸出結果:

false true false true false

2.hashCode方法

a7287bb2-20d9-11ed-ba43-dac502259ad0.png

小結:(可以當作地址來看但它本質上不是地址)

提高具有哈希結構的容器的效率

兩個引用,如果指向的是同一個對象,則哈希值肯定一樣

兩個引用,如果指向的是不同對象,則哈希值是不一樣的

哈希值主要根據地址號來!不能將哈希值完全等價于地址

在后面的集合中hashCode如果需要的話,也會重寫

packagehashCode;
publicclassHashCode{
publicstaticvoidmain(String[]args){
AAaa=newAA();
AAaa2=newAA();
AAaa3=aa;
System.out.println("aa.hashCode()="+aa.hashCode());
System.out.println("aa2.hashCode()="+aa2.hashCode());
System.out.println("aa3.hashCode()="+aa3.hashCode());
}
}

classAA{}

輸出結果:

?

aa.hashCode()=460141958 aa2.hashCode()=1163157884 aa3.hashCode()=460141958

?

3.toString方法

a73a7b1e-20d9-11ed-ba43-dac502259ad0.png

toString方法

基本介紹:

默認返回:全類名 + @ + 哈希值的十六進制

/*
ObjecttoString()原碼
//(1)getClass().getName()類的全類名(包名+類名)
//(2)Integer.toHexString(hashCode())將hashCode的值轉成16進制字符串
publicStringtoString(){
returngetClass().getName()+"@"+Integer.toHexString(hashCode());
}
*/
a74d72fa-20d9-11ed-ba43-dac502259ad0.png 圖片

「子類往往重寫toString方法,用于返回對象的屬性信息(快捷鍵:alt + insert),當然我們也可以自己定制。」

a760b2ac-20d9-11ed-ba43-dac502259ad0.png 圖片

當我們輸出一個對象時,toString()方法會被默認調用

a7760c56-20d9-11ed-ba43-dac502259ad0.png 圖片

4.finzlize方法

a78b6344-20d9-11ed-ba43-dac502259ad0.png

finzlize方法:當垃圾收集確定不再有對該對象的引用時,垃圾收集器在對象上調用該對象。

當對象被回收時,系統自動調用該對象的finzlize方法。子類可以重寫該方法,做一些釋放資源的操作

什么時候被回收:當某個對象沒有任何引用時,則jvm就認為這個對象是一個垃圾對象,就會時候垃圾回收機制來銷毀該對象,在銷毀該對象前,會先調用finzlize方法。

a7a08df0-20d9-11ed-ba43-dac502259ad0.png

垃圾回收機制的調用,是由系統來決定(即有自己的GC算法),也可以通過System.gc()主動觸發垃圾回收機制。

?

注:在實際開發中,幾乎不會用finzlize方法,更多的是為了應付面試

?

包裝類

「1.基本數據類型以及對應的包裝類:」

byte->Byte
short->Short
int->Integer
long->Long
float->Float
double->Double
char->Character
boolean->Boolean

這些類都在java.lang包

「2.包裝類的意義:」

讓基本數據類型有面向對象的特征

「封裝了字符串轉化成基本數據類型的方法(重點)」

3.包裝類常用方法:

Integer.parseInt()

Long.paseLong()

Double.parseDouble()

【參考代碼】

publicclassTest{
publicstaticvoidmain(String[]args){

//Integeri=newInteger(10);//創建包裝類對象
//Integerii=10;//自動打包
//System.out.println(i+10);//在使用上,int和Integer其實沒有區別,可以互相使用
//System.out.println(ii+10);
//intj=ii;//自動解包
//System.out.println(j+100);

Stringa="12";
Stringb="34";
System.out.println(a+b);//1234
//轉型:
//字符串轉成int的唯一方案
intc=Integer.parseInt(a);
intd=Integer.parseInt(b);
System.out.println(c+d);//46

//字符串轉成double類型
Stringe="1.25";
doublef=Double.parseDouble(e);
System.out.println(f*6);//7.5

//轉成long類型
longl=Long.parseLong("1234567");
System.out.println(l);
}
}

數學類

?

數學類的方法都是靜態方法,可以直接引用——Math.方法();

?

「常用數學類方法:」

abs():獲取絕對值

max():求最大值

min():求最小值

pow():求次冪

round():四舍五入

sqrt():求平方根

時間類

Java常用時間類:

Date 日期類

Calendar 日歷類

SimpleDateFormat 格式化時間類

?

Date和Calendar類 在java.util包中, SimpleDateFormat類 在java.text包

?

1.Date 日期

【1】new Date() 可以獲取到系統時間

【2】getTime() 能獲取到時間的long形式,可以用來計算時間差

?

getTime()——獲取計算機底層存儲的數字,返回一個數字用來表示時間,這個數字的類型long,單位為毫秒。

?

【參考代碼】

importjava.util.Date;
publicclassTest{
publicstaticvoidmain(String[]args){
Dated=newDate();
System.out.println(d);//系統時間
//get...()——獲取年月日.....
System.out.println(d.getYear()+1900);//從1900年開始算的
System.out.println(d.getMonth()+1);//月份從0開始計算
System.out.println(d.getDate());//天數
System.out.println(d.getHours());//小時

//getTime()——獲取到時間的毫秒形式返回的是long
System.out.println(d.getTime());
}
}

2.Calendar 日歷

【1】get() 獲取到時間的某一部分

【2】set() 設置時間 - -> 計算時間:系統已經幫我們設置好了,不用擔心二月有多少天等問題,計算時間十分方便

?

注:Calendar 日歷類是抽象類,因此不可以去new對象。雖然抽象類不能創建對象,但是jdk官方提供了一個實例對象的操作:

Calendar rightNow = Calendar.getInstance();

我們通過這條代碼就是直接造了一個Calender的對象

?

【參考代碼】:get() 獲取到時間的某一部分:

packagedate;
importjava.util.Calendar;
publicclassTestCalendar{
publicstaticvoidmain(String[]args){
Calendarcal=Calendar.getInstance();
//System.out.println(cal);

/*
假設當天:
2021
8
10
*/
cal.set(Calendar.DATE,cal.get(Calendar.DATE)+31);//計算時間(這里用天數計算的)

//獲取Calendar創建的對象里的所有內容
System.out.println(cal.get(Calendar.YEAR));//2021年
 System.out.println(cal.get(Calendar.MONTH)+1);//月份:從0開始的結果:為10月
System.out.println(cal.get(Calendar.DATE));//日
System.out.println(cal.get(Calendar.HOUR_OF_DAY));//小時
System.out.println(cal.get(Calendar.MINUTE));
System.out.println(cal.get(Calendar.SECOND));
}
}

【參考代碼】:set() 設置時間 - -> 計算時間:

?

注:cal.setTime(d); 把Date轉化成Calendar

?

packagedate;
importjava.util.Calendar;
importjava.util.Date;
publicclassTestCalendar{
publicstaticvoidmain(String[]args){
Dated=newDate();
Calendarcal=Calendar.getInstance();
cal.setTime(d);//把Date轉化成Calendar
System.out.println(cal);
System.out.println(cal.get(Calendar.YEAR));//年
 System.out.println(cal.get(Calendar.MONTH)+1);//月份:從0開始的
System.out.println(cal.get(Calendar.DATE));//日
}
}

3.SimpleDateFormat格式化時間

Date,Calendar通過引用也可以進行時間的格式化,但比較繁瑣,而SimpleDateFormat類是專門幫我們格式化時間的工具類,它在java.text包中。

【時間格式】:yyyy-MM-dd HHss

SimpleDateFormat類有兩大常用方法:

【1】format(Date):

?

format(Date) 幫我們把時間轉成字符串,字符串的格式為SimpleDateFormat類定義對象時設置的時間格式

?

【參考代碼】

packageSimple;
importjava.text.SimpleDateFormat;
importjava.util.Date;
importjava.util.logging.SimpleFormatter;
publicclassTest{
publicstaticvoidmain(String[]args){
Dated=newDate();
System.out.println(d);//ThuAug120808CST2021不美觀

//設置格式化時間的模式,我們常用yyyy-MM-ddHHss這個模式
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHHss");//時間格式
Strings=sdf.format(d);//格式化時間
System.out.println(s);//2021-08-120809
}
}

【2】parse(String):

?

parse(String) 幫我們把字符串轉化成時間

?

【參考代碼】

packageSimple;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Date;
importjava.util.Scanner;

publicclassTest2{
publicstaticvoidmain(String[]args)throwsParseException{
Scannersc=newScanner(System.in);
System.out.println("請輸入一個時間(yyyy-MM-dd HHss):");
Strings=sc.nextLine();
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHHss");
Dated=sdf.parse(s);//把字符串轉成時間
System.out.println(d);
/*
請輸入一個時間(yyyy-MM-dd HHss):
2021-08-121221
ThuAug121221CST2021
*/
}
}

?

注:由于用戶輸入的字符串不一定是我們要求的格式,可能是任何東西,想把它們轉成時間是不可能的,你不可能把一個人轉成時間 對吧,因此存在著很大的風險未處理(異常: java.text.ParseException),為此我們需要處理異常。

?

4.計算時間差

計算思路:

格式化時間

先將字符串轉化成long類型時間

計算毫秒級別時間差,取絕對值

毫秒級別時間差轉成秒級別

秒級別時間差轉成分鐘級別

分鐘級別時間差轉化顯示成xx小時xx分鐘

【參考代碼】

packageSimple;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassTestDiff{
publicstaticvoidmain(String[]args)throwsParseException{
Strings1="2021-08-121200";//開始時間
Strings2="2021-08-121400";//結束時間
//格式化時間
SimpleDateFormatsdf=newSimpleDateFormat("YYYY-MM-ddHHss");
//將字符串轉成時間形式
Dated1=sdf.parse(s1);
Dated2=sdf.parse(s2);

//計算時間差:先要獲取時間毫秒形式(long類型)再做差
longlong1=d1.getTime();
longlong2=d2.getTime();
longdiffTime=Math.abs(long1-long2);

//秒級別時間差
longdiffSec=diffTime/1000;

//分級別時間差
longdiffMin=diffSec/60;

//顯示xx小時xx分鐘
longdisplayHours=diffMin/60;//小時
longdisplayMin=diffMin%60;//分鐘
System.out.println("您學習的時長為:"+displayHours+"小時"+displayMin+"分鐘");
}
}

String類

字符串類常用方法

「方法匯總:」

a7bb9f8c-20d9-11ed-ba43-dac502259ad0.png

?

「注:字符串是一個不可變的類型(final類),幾乎所有的字符串操作都會返回一個新字符串而不是在原有基礎上進行修改。」

?

【示例代碼】

publicclassTest{
publicstaticvoidmain(String[]args){
Strings="我的名字叫李華";
s.concat("hhh");//在字符串s上拼接,拼接hhh
System.out.println(s);//我的名字叫李華
//字符串是不可變的數據類型
//幾乎所有的字符串操作都會返回一個新字符串
Strings1=s.concat("hhh");//在字符串s上拼接,拼接hhh
System.out.println(s1);//我的名字叫李華hhh

Stringstr1="李華喜歡看羅老師的視頻";
str1.replace("李華","張三");
System.out.println(str3);//李華喜歡看羅老師的視頻并沒有替換字符串是不變的str1還是str1

Stringstr2=str1.replace("李華","張三");//幾乎所有的字符串操作都會返回一個新字符串新串要用新變量接
System.out.println(str2);//張三喜歡看羅老師的視頻
}
}
packageString;
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
Strings="我的名字叫李華";
System.out.println(s.charAt(0));//獲取第0個位置的字符
s.concat("hhh");
System.out.println(s);//我的名字叫李華
//字符串是不可變的數據類型
//幾乎所有的字符串操作都會返回一個新字符串
Strings1=s.concat("hhh");//在字符串s上拼接,拼接hhh
System.out.println(s1);//我的名字叫李華hhh
System.out.println(s.contains("李華"));//true
System.out.println(s.contains("牛津"));//false
System.out.println("邀請李華來參加英語沙龍活動".endsWith("活動"));//true判斷是否以xxx為結尾
System.out.println("邀請李華來參加英語沙龍活動".startsWith("李華"));//false判斷是否以xxx開頭

//equals字符串內容是否相同

//接受邀請參加活動的李華到現場后要輸入驗證碼
//StringyanZhengMa="AAkm";
//
//Scannersc=newScanner(System.in);
//
//System.out.println("請輸入驗證碼("+yanZhengMa+")");
//
//StringuserInput=sc.nextLine();
//
//if(yanZhengMa.equalsIgnoreCase("aakm")){//忽略大小寫判斷兩邊的內容是否一樣
//System.out.println("歡迎參加英語沙龍活動!");
//}else{
//System.out.println("您未受到邀請,請現場報名!");
//}

//Stringstr="李華玩得很開心!";
//System.out.println(str.indexOf("開心"));//5計算給出字符串第一個出現的位置

Stringstr2="李華成績很好";
System.out.println(str2.length());//6計算字符串的長度

Stringstr3="李華喜歡看羅老師的視頻";
str3.replace("李華","張三");
System.out.println(str3);//李華喜歡看羅老師的視頻并沒有替換字符串是不變的str3還是str3

Stringstr4=str3.replace("李華","張三");//幾乎所有的字符串操作都會返回一個新字符串新串要用新變量接
System.out.println(str4);//張三喜歡看羅老師的視頻
Stringstr5="哈哈_呵呵_嘻嘻_噢no";
String[]ss=str5.split("_");//切割
System.out.println(ss[0]);//哈哈
System.out.println(ss[1]);//哈哈
System.out.println(ss[2]);//嘻嘻
System.out.println(ss[3]);//噢no

Stringstr6="今天天氣不錯";
System.out.println(str6.substring(2,4));//天氣字符串截取[)左閉右開,右邊取不到

Stringstr7="哈哈";
System.out.println(str7.trim());//去掉左右兩邊的空格
inti=10;
System.out.println(String.valueOf(i));//基本數據類型轉為字符串
System.out.println(i+"");//野路子
}
}

String Builder和StringBuffer

「String類的缺點:」

String 是一個不可變的數據類型,每每拼接都會產生一個新的字符串,那么內存遲早會被這些拼接的字符串塞滿。

「String類和StringBuilder和StringBuffer類的區別:」

StringBuilder和StringBuffer:「可變的字符串,不產生新對象,比較省內存」 ,當進行大量的字符串拼接時建議使用StringBuffer和StringBuilder,但它們兩個一些方法的實現幾乎跟String一樣。

「StringBuffer和StringBuilder類:」

【相似點】

兩者用法一模一樣,可以認為是一個類

【區別】

StringBuffer線程安全,StringBuilder非線程安全。

StringBuilder相比于StringBuffer有速度優勢,「多數情況下建議使用StringBuilder類,但當被要求線程安全時必須使用StringBuilder類」

?

字符串拼接方法:append()方法

StringBuffer和StringBuilder 轉成String類 :

StringBuilder sb = new StringBuilder("貓喜歡吃魚"); String s = sb.toString();

?

【參考代碼】

packageString;
publicclassTestStringBuilder{
publicstaticvoidmain(String[]args){
StringBuildersb=newStringBuilder();//一個空的字符串""
StringBuildersb2=newStringBuilder("貓喜歡吃魚");
System.out.println(sb2);//貓喜歡吃魚

sb2.append(",狗也喜歡吃魚");
System.out.println(sb2);//追加貓喜歡吃魚,狗也喜歡吃魚

sb2.insert(1,"哈哈哈");
System.out.println(sb2);//貓哈哈哈喜歡吃魚,狗也喜歡吃魚

//上述的操作huan'c
//把StringBuilder轉化成String
Strings=sb2.toString();
System.out.println(s);//貓哈哈哈喜歡吃魚,狗也喜歡吃魚
//上述操作都可以將StringBuilder換成StringBuffer,結果一樣
}
}

DecimalFormat

DecimalFormat:對小數進行格式化,保留幾位小數。與格式化時間聯想記。

?

. 表示小數點

0和# 表示數位,保留幾位就幾個0或者#

?

【參考代碼】

importjava.text.DecimalFormat;
importjava.util.Scanner;
publicclassTest{
publicstaticvoidmain(String[]args){
doubled=10/3.0;
System.out.println(d);//3.3333333333333335

//.表示小數點
//0和#表示數字

//保留兩位小數格式
DecimalFormatdf=newDecimalFormat(".00");//或者.##
Strings=df.format(d);//把d轉成上面設置的格式
System.out.println(s);//3.33
}
}



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    9519

    瀏覽量

    157019
  • JAVA
    +關注

    關注

    20

    文章

    3001

    瀏覽量

    116422
  • 字符串
    +關注

    關注

    1

    文章

    596

    瀏覽量

    23165

原文標題:Java常用類:7000+字一次性幫你總結好啦!

文章出處:【微信號:AndroidPush,微信公眾號:Android編程精選】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    vivado中常用時序約束指令介紹

    在vivado中,我們常用的時序約束指令主要包括如下幾個方面。
    的頭像 發表于 01-20 16:15 ?297次閱讀

    如何精準計算UPS電源的使用時間?從理論到實踐的全指南

    計算與估算得出。本文將為您詳細解析如何根據UPS的額定容量,計算出相對準確的使用時間。一、理解核心概念:VA、W與功率因數在開始計算前,我們必須厘清三個基本概念:額
    的頭像 發表于 11-25 08:41 ?1078次閱讀
    如何精準計算UPS電源的使<b class='flag-5'>用時間</b>?從理論到實踐的全指南

    Arm Neoverse CPU上大代碼量Java應用的性能測試

    Java 是互聯網領域廣泛使用的編程語言。Java 應用的一些特性使其性能表現與提前編譯的原生應用(例如 C 程序)大相徑庭。由于 Java 字節碼無法直接在 CPU 上執行,因此通常運行時在
    的頭像 發表于 11-05 11:25 ?752次閱讀
    Arm Neoverse CPU上大代碼量<b class='flag-5'>Java</b>應用的性能測試

    時間頻率標準源有什么功能

    時間頻率
    西安同步電子科技有限公司
    發布于 :2025年11月04日 17:58:08

    精準計算,筑牢基石:機房UPS負載與備用時間全面規劃指南

    。因此,科學地計算機房的總UPS負載和備用時間需求,不僅是技術問題,更是一項關乎業務連續性與成本效益的核心戰略決策。本文將為您系統性地解析這一過程,幫助您構建一個
    的頭像 發表于 10-27 09:16 ?925次閱讀
    精準計算,筑牢基石:機房UPS負載與備<b class='flag-5'>用時間</b>全面規劃指南

    如何使用時間間隔測量設備

    測量儀
    西安同步電子科技有限公司
    發布于 :2025年10月14日 18:18:52

    諧波源定位常用的方法有哪些?

    諧波源定位的核心是通過 “信號測量→特征分析→邏輯判斷”,確定電網中產生諧波的具體設備、用戶或區域,常用方法可按 “原理差異” 分為功率流向、暫態對比、阻抗分析、相位判斷
    的頭像 發表于 10-13 16:41 ?949次閱讀

    shell基本介紹常用命令之shell基本介紹

    是“$”,在命令提示符后邊輸入命令即可和系統進行交互操作。ubuntu默認的Shell是Bash(Bourne Again Shell)。Linux命令有很多,功能比較強大,下節我們簡單介紹一些常用的命令。常用
    發表于 09-28 09:05

    Java效率提升指南:5個Java工具選型建議及Perforce JRebel和XRebel介紹

    企業級Java環境越來越復雜,真正的破局點,可能不在“人”,而在于“工具”。5個實用建議,幫你理清Java工具的選型思路。
    的頭像 發表于 09-11 13:59 ?1479次閱讀
    <b class='flag-5'>Java</b>效率提升指南:5個<b class='flag-5'>Java</b>工具選型建議及Perforce JRebel和XRebel<b class='flag-5'>介紹</b>

    為什么電解電容會隨著使用時間容量下降?

    電解電容作為儲能與濾波元件,廣泛應用于電源電路中,但其容量隨使用時間逐漸衰減的特性是制約長期可靠性的關鍵因素。容量下降不僅影響電路性能,還可能導致系統失效。本文從材料老化、電化學機制及環境應力三個
    的頭像 發表于 06-25 15:46 ?1448次閱讀

    常用電子元器件介紹

    電子發燒友網站提供《常用電子元器件介紹.pptx》資料免費下載
    發表于 06-24 16:54 ?48次下載

    時間同步裝置的應用領域介紹

    時間同步裝置是一種用于確保不同設備之間時間一致性的裝置。在現代社會中,各種設備都需要準確的時間參考,如計算機網絡、通信系統、金融交易、工業自動化等。時間同步裝置能夠通過協調和同步不同設
    的頭像 發表于 06-19 14:18 ?604次閱讀
    <b class='flag-5'>時間</b>同步裝置的應用領域<b class='flag-5'>介紹</b>

    EtherCAT運動控制卡應用開發教程之Java

    運動控制卡的Java開發及DLL調用
    的頭像 發表于 06-13 14:29 ?887次閱讀
    EtherCAT運動控制卡應用開發教程之<b class='flag-5'>Java</b>

    Java開發者必備的效率工具——Perforce JRebel是什么?為什么很多Java開發者在用?

    Perforce JRebel是一款Java開發效率工具,旨在幫助java開發人員更快地編寫更好的應用程序。JRebel可即時重新加載對代碼的修改,無需重啟或重新部署應用程序,就能讓開發者即時看到代碼更改的效果,從而縮短開發、調試和測試周期,大大提升開發效率。
    的頭像 發表于 04-27 13:44 ?844次閱讀
    <b class='flag-5'>Java</b>開發者必備的效率工具——Perforce JRebel是什么?為什么很多<b class='flag-5'>Java</b>開發者在用?

    Java 到 Go:面向對象的巨人與云原生的輕騎兵

    Go 語言在 2009 年被 Google 推出,在創建之初便明確提出了“少即是多(Less is more)”的設計原則,強調“以工程效率為核心,用極簡規則解決復雜問題”。它與 Java 語言生態
    的頭像 發表于 04-25 11:13 ?644次閱讀