一、日志相關(guān)類庫
創(chuàng)新互聯(lián)成立與2013年,先為宣漢等服務(wù)建站,宣漢等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為宣漢企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
日志庫是很常見的,因為你在每一個項目中都需要他們。打印日志是服務(wù)器端應(yīng)用中最重要的事情,因為日志是你了解你的程序發(fā)生了什么的唯一途徑。盡管JDK附帶自己的日志庫,但是還是有很多更好的選擇可用,例如 Log4j 、 SLF4j 和 LogBack。
Java開發(fā)人員應(yīng)該熟悉日志記錄的利弊, 并且了解為什么SLF4J要比Log4J要好。
二、JSON解析庫
在當(dāng)今世界的web服務(wù)和物聯(lián)網(wǎng)中(IoT),JSON已經(jīng)取代了XML,成為從客戶端到服務(wù)器傳送信息的首選協(xié)議。有一個好消息和一個壞消息。壞消息 是JDK沒有提供JSON庫。好消息是有許多優(yōu)秀的第三方庫可以用來解析和創(chuàng)建JSON消息,如 Jackson 和 Gson
一個Java web開發(fā)人員應(yīng)該熟悉Jackson 和 Gson這兩種中的至少一種庫。
三、單元測試庫
單元測試技術(shù)的使用,是區(qū)分一個一般的開發(fā)者和好的開發(fā)者的重要指標(biāo)。程序員經(jīng)常有各種借口不寫單元測試,但最常見的借口就是缺乏經(jīng)驗和知識。常見的單測框架有 JUnit , Mockito 和PowerMock 。
《2020最新Java基礎(chǔ)精講視頻教程和學(xué)習(xí)路線!》
四、通用類庫
有幾個很好的第三方通用庫可供Java開發(fā)人員使用,例如 Apache Commons 和 Google Guava 。我會經(jīng)常在我的代碼中使用這些通用類庫,因為這些類庫都是經(jīng)過無數(shù)開發(fā)者實踐過的,無論是實用性還是在性能等方面都是最佳的。
五、Http 庫
我不是很喜歡JDK的一個重要原因就包括他們?nèi)狈TTP的支持。雖然可以使用java.net包類,但是這和直接使用像 Apache HttpClient 和 HttpCore 等開源類庫比起來麻煩太多了。
盡管JDK 9將開始HTTP 2.0,也對HTTP的支持做了優(yōu)化,但是我還是強(qiáng)烈建議所有的Java開發(fā)人員熟悉流行的HTTP處理類庫,例如HttpClient和HttpCore HTTP等庫。
六、XML解析庫
市面上有很多XML解析的類庫,如 Xerces , JAXB , JAXP , Dom4j , Xstream 等。 Xerces2是下一代高性能,完全兼容的XML解析工具。Xerces2定義了 Xerces Native Interface (XNI)規(guī)范,并提供了一個完整、兼容標(biāo)準(zhǔn)的 XNI 規(guī)范實現(xiàn)。該解析器是完全重新設(shè)計和實現(xiàn)的,更簡單以及模塊化。
七、Excel讀寫庫
許多應(yīng)用程序需要提供把數(shù)據(jù)導(dǎo)出到Excel的功能,如果你要做相同的Java應(yīng)用程序,那么你需要 Apache POI API 。
這是一個非常豐富的類庫,你可以從Java程序讀寫XLS文件。
八、字節(jié)碼庫
如果你正在編寫一個框架或者類庫。有一些受歡迎的字節(jié)碼庫如 javassist 和 Cglib Nodep 可以供你選擇,他們可以讓你閱讀和修改應(yīng)用程序生成的字節(jié)碼。
Javassist使得JAVA字節(jié)碼操作非常簡單。它是一個為編輯Java字節(jié)碼而生的類庫。 ASM 是另一個有用的字節(jié)碼編輯庫。
九、數(shù)據(jù)庫連接池庫
如果你的Java應(yīng)用程序與數(shù)據(jù)庫交互不是使用數(shù)據(jù)庫連接池庫的話,那么你就大錯特錯了。因為在運行時創(chuàng)建數(shù)據(jù)庫連接非常耗時并且會拖慢你的程序。所以墻裂建議使用,有些好用的連接池可供選擇,如 Commons Pool 和 DBCP 。
在web應(yīng)用程序中,web服務(wù)器通常提供了這些功能。但是在java項目中需要把數(shù)據(jù)庫連接池的類庫導(dǎo)入到應(yīng)用中。
十、消息傳遞庫
像日志和數(shù)據(jù)庫連接池一樣,消息傳遞也是很多實際的Java項目中必備的。Java提供了JMS Java消息服務(wù),但這不是JDK的一部分,你需要單獨的引入jms.jar。類似地,如果您準(zhǔn)備使用第三方消息傳遞協(xié)議, Tibco RV 是個不錯的選擇。
十一、PDF處理庫
除了Excel和Word,PDF也是一種常用的文件格式。如果你的應(yīng)用程序要支持PDF格式的文件處理,你可以使用 iText 和 Apache FOP 類庫。兩者都提供了非常有用的PDF處理功能。
十二、日期和時間庫
在Java之前,JDK的日期和時間庫一直被人們所詬病,比如其非線程安全的、不可變的、容易出錯等。很多開發(fā)人員會選擇更好用的 JodaTime 類庫。
但是在Java8推出之后,我們就可以徹底放棄JodaTime了,因為Java 8提供了其所有功能。但是,如果你的代碼運行在一個低版本的JDK中,那么JodaTime還是值得使用的。
十三、集合類庫
雖然JDK有豐富的集合類,但還是有很多第三方類庫可以提供更多更好的功能。如 Apache Commons Collections 、 Goldman Sachs collections 、 Google Collections 和 Trove 。Trove尤其有用,因為它提供所有標(biāo)準(zhǔn)Collections 類的更快的版本以及能夠直接在原語(primitive)(例如包含int 鍵或值的Map 等)上操作的Collections 類的功能。
FastUtil是另一個類似的API,它繼承了Java Collection Framework,提供了數(shù)種特定類型的容器,包括映射map、集合set、列表list、優(yōu)先級隊列(prority queue),實現(xiàn)了java.util包的標(biāo)準(zhǔn)接口(還提供了標(biāo)準(zhǔn)類所沒有的雙向迭代器),還提供了很大的(64位)的array、set、list,以及快速、實用的二進(jìn)制或文本文件的I/O操作類。
十四、郵件API
javax.mail 和 Apache Commons Email 提供了發(fā)送郵件的api。它們建立在JavaMail API的基礎(chǔ)上,提供簡化的用法。
十五、HTML解析庫
和XML與JSON類似,HTML是另外一種我們可能要打交道的傳輸格式。值得慶幸的是,我們有jsoup可以大大簡化Java應(yīng)用程序使用HTML。你不僅可以使用 JSoup 解析HTML還可以創(chuàng)建HTML文檔。
十六、加密庫
Apache Commons家族中的 Commons Codec 就提供了一些公共的編解碼實現(xiàn),比如Base64, Hex, MD5,Phonetic and URLs等等。
十七、嵌入式SQL數(shù)據(jù)庫庫
我真的是非常喜歡像 H2 這種內(nèi)存數(shù)據(jù)庫,他可以嵌入到你的Java應(yīng)用中。在你跑單測的時候如果你需要一個數(shù)據(jù)庫,用來驗證你的SQL的話,他是個很好的選擇。順便說一句,H2不是唯一嵌入式DB,你還有 Apache Derby 和 HSQL 可供選擇。
十八、JDBC故障診斷庫
有不錯的JDBC擴(kuò)展庫的存在使得調(diào)試變得很容易,例如P6spy,這是一個針對數(shù)據(jù)庫訪問操作的動態(tài)監(jiān)測框架,它使得數(shù)據(jù)庫數(shù)據(jù)可無縫截取和操縱,而不必對現(xiàn)有應(yīng)用程序的代碼作任何修改。 P6Spy 分發(fā)包包括P6Log,它是一個可記錄任何 Java 應(yīng)用程序的所有JDBC事務(wù)的應(yīng)用程序。其配置完成使用時,可以進(jìn)行數(shù)據(jù)訪問性能的監(jiān)測。
十九、序列化庫
Google Protocol Buffer是一種輕便高效的結(jié)構(gòu)化數(shù)據(jù)存儲格式,可以用于結(jié)構(gòu)化數(shù)據(jù)串行化,或者說序列化。它很適合做數(shù)據(jù)存儲或 RPC 數(shù)據(jù)交換格式??捎糜谕ㄓ崊f(xié)議、數(shù)據(jù)存儲等領(lǐng)域的語言無關(guān)、平臺無關(guān)、可擴(kuò)展的序列化結(jié)構(gòu)數(shù)據(jù)格式。目前提供了 C++、Java、Python 三種語言的 API。
二十、網(wǎng)絡(luò)庫
一些有用的網(wǎng)絡(luò)庫主要有 Netty 的和 Apache MINA 。如果您正在編寫一個應(yīng)用程序,你需要做的底層網(wǎng)絡(luò)任務(wù),可以考慮使用這些庫。
這都是每位Java開發(fā)人員應(yīng)該熟悉的,并且十分有用的庫。Java生態(tài)系統(tǒng)非常龐大的,你會發(fā)現(xiàn)有很多不同的類庫可以做不同的事情。每個你想到的東西,都可能有一個庫可以做到。
要相信,你遇到的問題,肯定不止你一個遇到過。
要相信,也許有很多人比你更勤奮。
要相信,你用或不用,輪子就在那里。
要相信,使用這些類庫,你和你的代碼都會變得更好。
原文鏈接:
Java?SDK?肯定是使用最廣的庫,所以本文的名單焦點是流行的第三方庫。該列表可能并不完善,所以如果你覺得有什么應(yīng)該出現(xiàn)在列表中的,請留下您的評論。非常感謝!
1、核心庫
Apache Commons Lang:來自Apache的核心庫,為java.lang API補充了許多常用的工具類,如字符串操作、對象的創(chuàng)建等。
Google Guava:來自谷歌的核心庫,包括集合(Collection)、緩存(Caching)、支持原語(Primitives)等。(示例)
2、HTML、XML Parser
Jsoup:一個簡化了的 HTML操作的庫。(示例)
STaX:一組可以高效處理?XML的API。 (示例)
3、Web框架
Spring:Java平臺上眾所周知的開源框架和依賴注入容器。(示例)
Struts2:來自Apache的流行Web框架。 (示例)
Google?Web?Toolkit:Google提供的開發(fā)工具庫,主要用于構(gòu)建和優(yōu)化復(fù)雜的Web程序用。 (示例)
Strips:使用最新Java技術(shù)構(gòu)建的Web程序框架,推薦使用。
Tapestry:面向組件的框架,用于使用Java創(chuàng)建動態(tài)、健壯、擴(kuò)展性高的Web應(yīng)用程序。
請猛擊這里?查看以上面框架之間的比較。
4、圖表、報表、圖像
JFreeChart:用于創(chuàng)建如條形圖、折線圖、餅圖等圖表。
JFreeReport:創(chuàng)建于輸出PDF格式的報表。
JGraphT:創(chuàng)建圖像,其中只包含由線段連接的點集。
5、窗口
Swing:SDK提供的GUI庫。(示例)
SWT:eclipse提供的GUI庫。
SWT與Swing的比較。
6.、GUI框架
Eclipse?RCP。(示例)
7、自然語言處理
OpenNLP:來自Apache的自然語言處理庫。 (示例)
Stanford?Parser:斯坦福大學(xué)提供的自然語言處理庫。(示例)
如果你是一名NLP專家,請猛擊這里?查看更多工具庫介紹。
8、靜態(tài)分析
Eclipse?JDT:由IBM提供的靜態(tài)分析庫,可以操作Java源代碼。(示例)
WALA:可以處理jar包文件(即字節(jié)碼)的工具庫。(示例)
9、JSON
Jackson: 用于處理JSON數(shù)據(jù)格式的多用途的Java庫。Jackson 旨在快速、準(zhǔn)確、輕量、對開人員友好之間找到最好的平衡點。
XStream:一個簡單用于對象和XML互相轉(zhuǎn)換的庫。
Google?Gson:一個專門用于Java對象和Json對象相互轉(zhuǎn)換的工具庫。(示例)
JSON-lib:用于?beans、maps、collections、java?arrays、XML?和?JSON?之間相互轉(zhuǎn)換操作的工具庫。
10、數(shù)學(xué)
Apache?Commons?Math:提供數(shù)學(xué)計算和數(shù)值統(tǒng)計需函數(shù)的工具庫。
11、日志
Apache?Log4j:風(fēng)行一時的日志記錄操作庫。?(示例)
Logback:當(dāng)前流行的log4j項目的繼任者。
SLF4J(The?Simple?Logging?Facade?for?Java): 各種日志框架的一個簡單的外觀或抽象(如java.util.logging 、logback、log4j等),允許用戶在部署時加入需要的日志框架。
12、Office
Apache?POI:利用其提供的APIs,可以使用純Java代碼操作各種基于微軟OLE2合成文檔格式的文檔。
Docx4j:一個用于創(chuàng)建、操作微軟公開的XML文件的庫(支持Word?docx、 Powerpoint?pptx和Excel?xlsx)。
13、日期和時間
Joda-Time:如有質(zhì)量問題包退包換的Java日期和時間類。
14、數(shù)據(jù)庫
Hibernate、EclipseLink、JPA
JDO
jOOQ
SpringJDBC、Spring?Data
Apache?DbUtils
15、開發(fā)工具
Lambok: 旨在減少代碼編寫的Java開發(fā)庫。
使用開發(fā)工具之前,需要知道免費java開發(fā)工具有哪些?實用型java開發(fā)工具特點,我們以熟知這些軟件的優(yōu)點和缺點為前提,以便在后期實操過程中根據(jù)實際情況選擇應(yīng)用最適合的的java開發(fā)工具。
免費java開發(fā)工具有哪些?實用型java開發(fā)工具特點?java開發(fā)工具一、JavaWorkshopSunMicroSystems公司于推出了JavaWorkShop1.0,這是業(yè)界出現(xiàn)的第一個供Internet網(wǎng)使用的多平臺開發(fā)工具,它可以滿足各公司開發(fā)Internet和Intranet網(wǎng)應(yīng)用軟件的需要。
JavaWorkShop完全用Java語言編寫,是當(dāng)今市場上銷售的第一個完全的Java開發(fā)環(huán)境,目前JavaWorkShop的最性版本是3.0。
JavaWorkshop的特點表現(xiàn)如下:1)結(jié)構(gòu)易于創(chuàng)建:在創(chuàng)建平臺中立的網(wǎng)格結(jié)構(gòu)方面,JavaWorkshop比其他任何一種Java開發(fā)工具都要方便。
2)可視化編程:JavaWorkshop的可視化編程特性是很基本的。
JavaWorkshop允許程序員重新安排這些操作,甚至可以確定觸發(fā)操作行為的過濾器。
JavaWorkshop產(chǎn)生的模板帶有許多注釋,這對程序員是很有幫助的。
此外,JavaWorkShop支持JDK以及JavaBeans組件模型,API和語言特征增加了編譯Java應(yīng)用程序的靈活性。
JavaWorkShop開發(fā)環(huán)境由于完全用Java寫成,所以可移植性極好,以致于多個平臺都能支持,目前JavaWorkShop支持Solaris操作環(huán)境SPARC及Intel版)、Windows95、WindowsNT、以及HP/Ux等平臺。
適合于初學(xué)者進(jìn)行一些簡單的Java編程。
JavaWorkShop的缺點是JavaWorkshop中的每一個可視化對象都遲早會用到網(wǎng)格布局,這種設(shè)計方法是許多人不習(xí)慣的;JavaWorkdshop的調(diào)色板是較差的,僅僅能滿足絕大部分應(yīng)用的基本要求。
java開發(fā)工具二、Borland的JBuilderJbuilder進(jìn)入了Java集成開發(fā)環(huán)境的王國,它滿足很多方面的應(yīng)用,尤其是對于服務(wù)器方以及EJB開發(fā)者們來說。
下面簡單介紹一下Jbuilder的特點:1)Jbuilder支持最新的Java技術(shù),包括Applets、JSP/Servlets、JavaBean以及EJB(EnterpriseJavaBeans)的應(yīng)用。
2)用戶可以自動地生成基于后端數(shù)據(jù)庫表的EJBJava類,Jbuilder同時還簡化了EJB的自動部署功能.此外它還支持CORBA,相應(yīng)的向?qū)С绦蛴兄谟脩羧娴毓芾鞩DL(分布應(yīng)用程序所必需的接口定義語言InterfaceDefinitionLanguage)和控制遠(yuǎn)程對象。
3)Jbuilder支持各種應(yīng)用服務(wù)器。
Jbuilder與InpriseApplicationServer緊密集成,同時支持WebLogicServer,支持EJB1.1和EJB2.0,可以快速開發(fā)J2EE的電子商務(wù)應(yīng)用。
4)Jbuilder能用Servlet和JSP開發(fā)和調(diào)試動態(tài)Web應(yīng)用。
5)利用Jbuilder可創(chuàng)建(沒有專有代碼和標(biāo)記)純Java2應(yīng)用。
由于Jbuilder是用純Java語言編寫的,其代碼不含任何專屬代碼和標(biāo)記,它支持最新的Java標(biāo)準(zhǔn)。
6)Jbuilder擁有專業(yè)化的圖形調(diào)試介面,支持遠(yuǎn)程調(diào)試和多線程調(diào)試,調(diào)試器支持各種JDK版本,包括J2ME/J2SE/J2EE。
JBuilder環(huán)境開發(fā)程序方便,它是純的Java開發(fā)環(huán)境,適合企業(yè)的J2EE開發(fā);缺點是往往一開始人們難于把握整個程序各部分之間的關(guān)系,對機(jī)器的硬件要求較高,比較吃內(nèi)存,這時運行速度顯得較慢。
java開發(fā)工具三、IBM的VisualAgeforJavaVisualAgeforJava是一個非常成熟的開發(fā)工具,它的特性以于IT開發(fā)者和業(yè)余的Java編程人員來說都是非常用有用的。
它提供對可視化編程的廣泛支持,支持利用CICS連接遺傳大型機(jī)應(yīng)用,支持EJB的開發(fā)應(yīng)用,支持與Websphere的集成開發(fā),方便的bean創(chuàng)建和良好的快速應(yīng)用開發(fā)(RAD)支持和無文件式的文件處理。
IBM為建設(shè)Web站點所推出的WebSphereStudioAdvancedEdition及其包含的VisualAgeforJavaProfessionalEdition軟件已全面轉(zhuǎn)向以Java為中心,這樣,Java開發(fā)人員對WebSphere全套工具的感覺或許會好了許多。
Studio所提供的工具有:Web站點管理、快速開發(fā)JDBC頁向?qū)С绦?、HTML編輯器和HTML語法檢查等。
這確實是個不錯的HTML站點頁面編輯環(huán)境。
Studio和VisualAge集成度很高,菜單中提供了在兩種軟件包之間快速移動代碼的選項。
這就讓使用Studio的Web頁面設(shè)計人員和使用VisualAge的Java程序員可以相互交換文件、協(xié)同工作。
VisualAgeforJava支持團(tuán)隊開發(fā),內(nèi)置的代碼庫可以自動地根據(jù)用戶做出改動而修改程序代碼,這樣就可以很方便地將目前代碼和早期版本做出比較。
與VisualAge緊密結(jié)合的WebsphereStudio本身并不提供源代碼和版本管理的支持,它只是包含了一個內(nèi)置文件鎖定系統(tǒng),當(dāng)編輯項目的時候可以防止其他人對這些文件的錯誤修改,軟件還支持諸如MicrosoftVisualSourceSafe這樣的第三方源代碼控制系統(tǒng)。
VisualAgeforJava完全面向?qū)ο蟮某绦蛟O(shè)計思想使得開發(fā)程序非常快速、高效。
你可以不編寫任何代碼就可以設(shè)計出一個典型的應(yīng)用程序框架。
VisualAgeforJava作為IBM電子商務(wù)解決方案其中產(chǎn)品之一,可以無縫地與其他IBM產(chǎn)品,如WebSphere、DB2融合,迅速完成從設(shè)計、開發(fā)到部署應(yīng)用的整個過程。
VisualAgeforJava獨特的管理文件方式使其集成外部工具非常困難,你無法讓VisualAgeforJava與其他工具一起聯(lián)合開發(fā)應(yīng)用。
java開發(fā)工具四、WebGain的Visu模板管理是只能在Symantec公司的Java虛擬機(jī)、Netscape公司的Java虛擬機(jī)和Microsoft虛擬機(jī)上工作的調(diào)試器。
這對于開發(fā)者來講是一個重要的特性,因為用戶開發(fā)的Java代碼中的許多軟件bug就可能中會在某種特定的虛擬機(jī)上起作用。
在修改后進(jìn)行編譯基繼續(xù)進(jìn)行調(diào)試時,VisualCafe會自動將文件存盤,使用VisualCafe創(chuàng)建的原生應(yīng)用具有許多特點。
除了明顯的速度提高之外,Symantec使類庫的二進(jìn)制方式比正常的JDK小VisualCafe為所指定的關(guān)系自動生成或更新必要的Java代碼。
利用VisualCafe,用戶可以從一個標(biāo)準(zhǔn)對象數(shù)據(jù)庫中集合完整的Java應(yīng)用程序和Applet,而不必再編寫源代碼。
VisualCafe還提供了一個擴(kuò)充的源代碼開發(fā)工具集。
VisualCafe綜合了Java軟件的可視化源程序開發(fā)工具,它允許開發(fā)人員在可視化視圖和源視圖之間進(jìn)行有效地轉(zhuǎn)換。
在可視化視圖中進(jìn)行的修改立即反映在源代碼中。
對源代碼的改變自動更新可視化視圖。
VisualCafe具有許多源文件方面的特性,如全局檢索和替換。
絕大多數(shù)Java開發(fā)工具的文獻(xiàn)的問題在于簡單地挨個介紹開發(fā)工具的每部分組件,但用戶在開應(yīng)用時還需要一個面向任務(wù)的手冊,利用這個手冊你可以不必知道工具每一部分的特定功能就可以開始創(chuàng)建自己的應(yīng)用。
VisualCafe提供了非常全面的用戶指南,它對最開始的安裝到創(chuàng)建第一個Java應(yīng)用和Applet都提供了全面的幫助,VisualCafe將自動生成所指明關(guān)系的必要Java代碼。
VisualCafe可以在Windows95和WindowsNT平臺下運行,Symantec公司為Java開發(fā)工作提供一個在Macintosh操作系統(tǒng)下可以運行的RAD工具。
VisualCafe編譯器速度很快,在國際化支持方面比較突出;缺點就是對于初學(xué)者來說,較復(fù)雜,也比較難。
java開發(fā)工具五、AntAnotherNeatTool(Ant)是一種基于Java的build工具。
理論上來說,它有些類似于(Unix)C中的make,但沒有make的缺陷。
因為Ant的原作者在多種(硬件)平臺上開發(fā)軟件時,無法忍受這些工具的限制和不便。
類似于make的工具本質(zhì)上是基于shell(語言)的:他們計算依賴關(guān)系,然后執(zhí)行命令(這些命令與你在命令行敲的命令沒太大區(qū)別)。
這就意味著你可以很容易地通過使用OS特有的或編寫新的(命令)程序擴(kuò)展該工具;然而,這也意味著你將自己限制在了特定的OS,或特定的OS類型上,如Unix。
Ant就不同了。
與基于shell命令的擴(kuò)展模式不同,Ant用Java的類來擴(kuò)展。
(用戶)不必編寫shell命令,配置文件是基于XML的,通過調(diào)用target樹,就可執(zhí)行各種task。
每個task由實現(xiàn)了一個實現(xiàn)了特定Task接口的對象來運行。
Ant支持一些可選task,一個可選task一般需要額外的庫才能工作。
可選task與Ant的內(nèi)置task分開,單獨打包。
這個可選包可以從你下載Ant的同一個地方下載。
ANT本身就是這樣一個流程腳本引擎,用于自動化調(diào)用程序完成項目的編譯,打包,測試等。
除了基于JAVA是平臺無關(guān)的外,腳本的格式是基于XML的,比make腳本來說還要好維護(hù)一些。
Ant是Apache提供給Java開發(fā)人員的構(gòu)建工具,它可以在WindowsOS和UnixOS下運行,它不僅開放源碼并且還是一個非常好用的工具。
Ant是ApacheJakarta中一個很好用的Java開發(fā)工具,Ant配置文件采用XML文檔編寫,所以Java程序員對其語法相當(dāng)熟悉,Ant是專用于Java項目平臺,能夠用純Java來開發(fā),它能夠運行于Java安裝的平臺,即體現(xiàn)了它的跨平臺功能。
它的缺點顯示執(zhí)行結(jié)果只能是DOS字符界面,不能進(jìn)行復(fù)雜的java程序開發(fā)。
免費java開發(fā)工具有哪些?實用型java開發(fā)工具有JavaWorkshop、Borland的JBuilder、IBM的VisualAgeforJava、VisualCafeforJava、Ant等,除此之外還要很多其他的開發(fā)工具。
感謝大家閱讀由java問答分享的“免費java開發(fā)工具有哪些?實用型java開發(fā)工具特點?”希望對大家有所幫助,了解更多專業(yè)課程培訓(xùn)內(nèi)容請關(guān)注昆明北大青鳥java培訓(xùn)機(jī)構(gòu)官網(wǎng)。
免責(zé)聲明:以上內(nèi)容僅作為信息傳播,文中部分信息來源于互聯(lián)網(wǎng),僅供閱讀參考。
使用循環(huán)結(jié)構(gòu),通過Scanner類從控制臺輸入每個人的捐款金額,并累加每個人的捐款金額,計算捐款總數(shù)和捐款人數(shù),如果捐款總數(shù)達(dá)到10萬元,則計算平均每人捐款金額。
下面是通過輸入進(jìn)行統(tǒng)計,實際過程中還能是通過數(shù)據(jù)庫進(jìn)行操作,或者表格收集數(shù)據(jù)進(jìn)行導(dǎo)入關(guān)系數(shù)據(jù)庫進(jìn)行統(tǒng)計。還可以通過接入微信或者支付寶小程序收款實時統(tǒng)計。
已經(jīng)有人給過隨機(jī)數(shù)示例,這里給出前端輸入的示例:
import java.util.Scanner;
public class CharityDonation { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int num = 0; // 捐款人數(shù)
int total = 0; // 募捐總數(shù)
int avg = 0; // 平均每人捐款金額
int donation; // 每個人的捐款金額
while (total 100000 num 1000) {
System.out.print("請輸入第" + (num + 1) + "個人的捐款金額:");
donation = scanner.nextInt();
total += donation;
num++;
} if (total = 100000) {
avg = total / num;
System.out.println("捐款總數(shù)已達(dá)到10萬元,捐款人數(shù)為" + num + ",平均每人捐款金額為" + avg + "元。");
} else {
System.out.println("征集慈善募捐失敗,募捐總數(shù)未達(dá)到10萬元。");
}
scanner.close();
}
}