第1章 Java語(yǔ)言概述

[TOC]

1.1 軟件開(kāi)發(fā)介紹

軟件開(kāi)發(fā)

軟件领跛,即一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合事甜。有系統(tǒng)軟件和應(yīng)用軟件之分。

人機(jī)交互方式

圖形化界面(Graphical User Interface GUI)這種方式簡(jiǎn)單直觀,使用者易于接受哭当,容易上手操作低千。
命令行方式(Command Line Interface CLI):需要有一個(gè)控制臺(tái)配阵,輸入特定的指令,讓計(jì)算機(jī)完成一些操作示血。較為麻煩棋傍,需要記錄住一些命令。
==Pascal之父Nicklaus Wirth: “Algorithms+Data Structures=Programs”==

常用的DOS命令

dir :    列出當(dāng)前目錄下的文件以及文件夾
md :   創(chuàng)建目錄
rd :     刪除目錄
cd :    進(jìn)入指定目錄
cd.. :  退回到上一級(jí)目錄
cd\:    退回到根目錄
del :    刪除文件
exit :   退出 dos 命令行
補(bǔ)充:echo javase>1.doc
常用快捷鍵
←   →:移動(dòng)光標(biāo)
↑   ↓:調(diào)閱歷史操作命令
Delete和Backspace:刪除字符

1-2 計(jì)算機(jī)編程語(yǔ)言介紹

什么是計(jì)算機(jī)語(yǔ)言

  • 語(yǔ)言:是人與人之間用于溝通的一種方式难审。例如:中國(guó)人與中國(guó)人用普通話溝通瘫拣。而中國(guó)人要和英國(guó)人交流,就要學(xué)習(xí)英語(yǔ)告喊。

  • 計(jì)算機(jī)語(yǔ)言:人與計(jì)算機(jī)交流的方式麸拄。
    如果人要與計(jì)算機(jī)交流,那么就要學(xué)習(xí)計(jì)算機(jī)語(yǔ)言黔姜。
    計(jì)算機(jī)語(yǔ)言有很多種拢切。如:C ,C++ ,Java ,PHP , Kotlin,Python秆吵,Scala等淮椰。

  • 第一代語(yǔ)言
    機(jī)器語(yǔ)言。指令以二進(jìn)制代碼形式存在。

  • 第二代語(yǔ)言
    匯編語(yǔ)言主穗。使用助記符表示一條機(jī)器指令泻拦。

EDJj1J.png
  • 第三代語(yǔ)言:高級(jí)語(yǔ)言

C、Pascal黔牵、Fortran面向過(guò)程的語(yǔ)言
C++面向過(guò)程/面向?qū)ο?br> Java跨平臺(tái)的純面向?qū)ο蟮恼Z(yǔ)言
.NET跨語(yǔ)言的平臺(tái)
Python聪轿、Scala…

1-3 Java語(yǔ)言概述

  • 是SUN(Stanford University Network,斯坦福大學(xué)網(wǎng)絡(luò)公司 ) 1995年推出的一門高級(jí)編程語(yǔ)言猾浦。
  • 是一種面向Internet的編程語(yǔ)言陆错。Java一開(kāi)始富有吸引力是因?yàn)镴ava程序可以在Web瀏覽器中運(yùn)行。這些Java程序被稱為Java小程序(applet)金赦。applet使用現(xiàn)代的圖形用戶界面與Web用戶進(jìn)行交互音瓷。 applet內(nèi)嵌在HTML代碼中。
  • 隨著Java技術(shù)在web方面的不斷成熟夹抗,已經(jīng)成為Web應(yīng)用程序的首選開(kāi)發(fā)語(yǔ)言
    后臺(tái)開(kāi)發(fā):Java绳慎、PHP、Python漠烧、Go杏愤、Node.js

Java語(yǔ)言概述:Java簡(jiǎn)史

1991年 Green項(xiàng)目,開(kāi)發(fā)語(yǔ)言最初命名為Oak (橡樹(shù))
1994年已脓,開(kāi)發(fā)組意識(shí)到Oak 非常適合于互聯(lián)網(wǎng)
1996年珊楼,發(fā)布JDK 1.0,約8.3萬(wàn)個(gè)網(wǎng)頁(yè)應(yīng)用Java技術(shù)來(lái)制作
1997年度液,發(fā)布JDK 1.1厕宗,JavaOne會(huì)議召開(kāi),創(chuàng)當(dāng)時(shí)全球同類會(huì)議規(guī)模之最
1998年堕担,發(fā)布JDK 1.2已慢,同年發(fā)布企業(yè)平臺(tái)J2EE
1999年,Java分成J2SE霹购、J2EE和J2ME佑惠,JSP/Servlet技術(shù)誕生
2004年,發(fā)布里程碑式版本:JDK 1.5厕鹃,為突出此版本的重要性兢仰,更名為JDK 5.0
2005年,J2SE -> JavaSE剂碴,J2EE -> JavaEE,J2ME -> JavaME
2009年轻专,Oracle公司收購(gòu)SUN忆矛,交易價(jià)格74億美元
2011年,發(fā)布JDK 7.0
2014年,發(fā)布JDK 8.0催训,是繼JDK 5.0以來(lái)變化最大的版本
2017年洽议,發(fā)布JDK 9.0,最大限度實(shí)現(xiàn)模塊化
2018年3月漫拭,發(fā)布JDK 10.0亚兄,版本號(hào)也稱為18.3
2018年9月,發(fā)布JDK 11.0采驻,版本號(hào)也稱為18.9

Java技術(shù)體系平臺(tái)

EDYdEV.png

1-3 Java在各領(lǐng)域的應(yīng)用

從Java的應(yīng)用領(lǐng)域來(lái)分审胚,Java語(yǔ)言的應(yīng)用方向主要表現(xiàn)在以下幾個(gè)方面:

  • 企業(yè)級(jí)應(yīng)用:主要指復(fù)雜的大企業(yè)的軟件系統(tǒng)、各種類型的網(wǎng)站礼旅。Java的安全機(jī)制以及它的跨平臺(tái)的優(yōu)勢(shì)膳叨,使它在分布式系統(tǒng)領(lǐng)域開(kāi)發(fā)中有廣泛應(yīng)用。應(yīng)用領(lǐng)域包括金融痘系、電信菲嘴、交通、電子商務(wù)等汰翠。
  • Android平臺(tái)應(yīng)用:Android應(yīng)用程序使用Java語(yǔ)言編寫龄坪。Android開(kāi)發(fā)水平的高低很大程度上取決于Java語(yǔ)言核心能力是否扎實(shí)。
  • 大數(shù)據(jù)平臺(tái)開(kāi)發(fā):各類框架有Hadoop复唤,spark健田,storm,flink等苟穆,就這類技術(shù)生態(tài)圈來(lái)講抄课,還有各種中間件如flume,kafka雳旅,sqoop等等 跟磨,這些框架以及工具大多數(shù)是用Java編寫而成,但提供諸如Java攒盈,scala抵拘,Python,R等各種語(yǔ)言API供編程型豁。
  • 移動(dòng)領(lǐng)域應(yīng)用:主要表現(xiàn)在消費(fèi)和嵌入式領(lǐng)域僵蛛,是指在各種小型設(shè)備上的應(yīng)用,包括手機(jī)迎变、PDA充尉、機(jī)頂盒、汽車通信設(shè)備等衣形。

Java語(yǔ)言的誕生

java之父James Gosling團(tuán)隊(duì)在開(kāi)發(fā)”Green”項(xiàng)目時(shí)驼侠,發(fā)現(xiàn)C缺少垃圾回收系統(tǒng)姿鸿,還有可移植的安全性、分布程序設(shè)計(jì)和多線程功能倒源。最后苛预,他們想要一種易于移植到各種設(shè)備上的平臺(tái)。

EDaaM4.png

Java確實(shí)是從C語(yǔ)言和C++語(yǔ)言繼承了許多成份笋熬,甚至可以將Java看成是類C語(yǔ)言發(fā)展和衍生的產(chǎn)物热某。比如Java語(yǔ)言的變量聲明,操作符形式胳螟,參數(shù)傳遞昔馋,流程控制等方面和C語(yǔ)言、C++語(yǔ)言完全相同旺隙。但同時(shí)绒极,Java是一個(gè)純粹的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它繼承了C++語(yǔ)言面向?qū)ο蠹夹g(shù)的核心蔬捷。Java舍棄了C語(yǔ)言中容易引起錯(cuò)誤的指針(以引用取代)垄提、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性周拐,增加了垃圾回收器功能用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間铡俐。
JDK1.5又引入了泛型編程(Generic Programming)、類型安全的枚舉妥粟、不定長(zhǎng)參數(shù)和自動(dòng)裝/拆箱

主要特性

  • Java語(yǔ)言是易學(xué)的审丘。Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java勾给。
  • Java語(yǔ)言是強(qiáng)制面向?qū)ο蟮奶脖āava語(yǔ)言提供類、接口和繼承等原語(yǔ)播急,為了簡(jiǎn)單起見(jiàn)脓钾,只支持類之間的單繼承,但支持接口之間的多繼承桩警,并支持類與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)可训。
  • Java語(yǔ)言是分布式的。Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā)捶枢,在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(java net)握截,它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),包括URL烂叔、URLConnection谨胞、Socket、ServerSocket等蒜鸡。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段畜眨。
  • Java語(yǔ)言是健壯的昼牛。Java的強(qiáng)類型機(jī)制术瓮、異常處理康聂、垃圾的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇胞四。
  • Java語(yǔ)言是安全的恬汁。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此辜伟,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊氓侧。如:安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類导狡、字節(jié)代碼檢查约巷。
  • Java語(yǔ)言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件)旱捧,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行独郎。
  • Java語(yǔ)言是解釋型的。如前所述枚赡,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式氓癌,然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)的解釋器中運(yùn)行。
  • Java是性能略高的贫橙。與那些解釋型的高級(jí)腳本語(yǔ)言相比贪婉,Java的性能還是較優(yōu)的。
  • Java語(yǔ)言是原生支持多線程的卢肃。在Java語(yǔ)言中疲迂,線程是一種特殊的對(duì)象,它必須由Thread類或其子(孫)類來(lái)創(chuàng)建莫湘。

1-4 Java程序運(yùn)行機(jī)制及運(yùn)行過(guò)程

Java語(yǔ)言的特點(diǎn)

  • 特點(diǎn)一:面向?qū)ο?br> 兩個(gè)基本概念:類尤蒿、對(duì)象
    三大特性:封裝、繼承逊脯、多態(tài)
  • 特點(diǎn)二:健壯性
    吸收了C/C++語(yǔ)言的優(yōu)點(diǎn)优质,但去掉了其影響程序健壯性的部分(如指針、內(nèi)存的申請(qǐng)與釋放等)军洼,提供了一個(gè)相對(duì)安全的內(nèi)存管理和訪問(wèn)機(jī)制
  • 特點(diǎn)三:跨平臺(tái)性
    跨平臺(tái)性:通過(guò)Java語(yǔ)言編寫的應(yīng)用程序在不同的系統(tǒng)平臺(tái)上都可以運(yùn)行巩螃。“Write once , Run Anywhere”
    原理:只要在需要運(yùn)行 java 應(yīng)用程序的操作系統(tǒng)上匕争,先安裝一個(gè)Java虛擬機(jī) (JVM Java Virtual Machine) 即可避乏。由JVM來(lái)負(fù)責(zé)Java程序在該系統(tǒng)中的運(yùn)行。

Java兩種核心機(jī)制

  • Java虛擬機(jī) (Java Virtal Machine)
    JVM是一個(gè)虛擬的計(jì)算機(jī)甘桑,具有指令集并使用不同的存儲(chǔ)區(qū)域拍皮。負(fù)責(zé)執(zhí)行指令歹叮,管理數(shù)據(jù)、內(nèi)存铆帽、寄存器咆耿。
    對(duì)于不同的平臺(tái),有不同的虛擬機(jī)爹橱。
    只有某平臺(tái)提供了對(duì)應(yīng)的java虛擬機(jī)萨螺,java程序才可在此平臺(tái)運(yùn)行
    Java虛擬機(jī)機(jī)制屏蔽了底層運(yùn)行平臺(tái)的差別,實(shí)現(xiàn)了“一次編譯愧驱,到處運(yùn)行”
EDaves.png
EDdpF0.png
  • 垃圾收集機(jī)制 (Garbage Collection)
    不再使用的內(nèi)存空間應(yīng)回收—— 垃圾回收淆珊。
  • 在C/C++等語(yǔ)言中躯概,由程序員負(fù)責(zé)回收無(wú)用內(nèi)存呵俏。
  • Java 語(yǔ)言消除了程序員回收無(wú)用內(nèi)存空間的責(zé)任:它提供一種系統(tǒng)級(jí)線程跟蹤存儲(chǔ)空間的分配情況利职。并在JVM空閑時(shí),檢查并釋放那些可被釋放的存儲(chǔ)空間糟红。
    垃圾回收在Java程序運(yùn)行過(guò)程中自動(dòng)進(jìn)行艾帐,程序員無(wú)法精確控制和干預(yù)。

Java程序還會(huì)出現(xiàn)內(nèi)存泄漏和內(nèi)存溢出問(wèn)題嗎改化?==Yes!==

1-5 Java語(yǔ)言的環(huán)境搭建

明確什么是JDK, JRE

EDdVm9.png
EDdnFx.png

==簡(jiǎn)單而言掩蛤,使用JDK的開(kāi)發(fā)工具完成的java程序,交給JRE去運(yùn)行陈肛。==

EDd16e.png
  • JDK = JRE + 開(kāi)發(fā)工具集(例如Javac編譯工具等)
  • JRE = JVM + Java SE標(biāo)準(zhǔn)類庫(kù)

下載 JDK

官方網(wǎng)址:

安裝JDK

  • 傻瓜式安裝揍鸟,下一步即可。
  • 建議:安裝路徑不要有中文或者空格等特殊符號(hào)句旱。
  • 如果操作系統(tǒng)是64位的阳藻,軟件盡量選擇支持64位的(除非軟件本身不區(qū)分)。
  • 當(dāng)提示安裝 JRE 時(shí)谈撒,正常在JDK安裝時(shí)已經(jīng)裝過(guò)了腥泥,但是為了后續(xù)使用Eclipse等開(kāi)發(fā)工具不報(bào)錯(cuò),建議也根據(jù)提示安裝JRE啃匿。
  • 安裝 JDK

配置環(huán)境變量

在dos命令行中敲入javac蛔外,出現(xiàn)錯(cuò)誤提示:

EDdaff.png

錯(cuò)誤原因:當(dāng)前執(zhí)行的程序在當(dāng)前目錄下如果不存在,windows系統(tǒng)會(huì)在系統(tǒng)中已有的一個(gè)名為path的環(huán)境變量指定的目錄中查找溯乒。如果仍未找到夹厌,會(huì)出現(xiàn)以上的錯(cuò)誤提示。所以進(jìn)入到 jdk安裝路徑\bin目錄下裆悄,執(zhí)行javac矛纹,會(huì)看到j(luò)avac參數(shù)提示信息。

EDdqtx.png

配置環(huán)境變量 path

  • path:windows系統(tǒng)執(zhí)行命令時(shí)要搜尋的路徑光稼。
    每次執(zhí)行 java 的工具都要進(jìn)入到bin目錄下或南,是非常麻煩的孩等。可不可以在任何目錄下都可以執(zhí)行java的工具呢采够?
    根據(jù)windows系統(tǒng)在查找可執(zhí)行程序的原理肄方,可以將java工具所在路徑定義到 path 環(huán)境變量中,讓系統(tǒng)幫我們?nèi)フ疫\(yùn)行執(zhí)行的程序吁恍。
    配置方法
  • 我的電腦--屬性--高級(jí)系統(tǒng)設(shè)置--環(huán)境變量
  • 編輯 path 環(huán)境變量扒秸,在變量值開(kāi)始處加上java工具所在目錄,后面用 “ ; ”和其他值分隔開(kāi)即可冀瓦。
  • 打開(kāi)DOS命令行,任意目錄下敲入javac写烤。如果出現(xiàn)javac 的參數(shù)信息翼闽,配置成功。

注: 具體操作流程洲炊,參看JDK8下載安裝配置(點(diǎn)擊跳轉(zhuǎn))

驗(yàn)證是否成功:javac java

ED0S2T.png
ED0CMF.png

1-6 開(kāi)發(fā)體驗(yàn)— HelloWorld

  • 步驟:
    1.將 Java 代碼編寫到擴(kuò)展名為 .java 的文件中感局。
    2.通過(guò) javac 命令對(duì)該 java 文件進(jìn)行編譯。
    通過(guò) java 命令對(duì)生成的 class 文件進(jìn)行運(yùn)行
ED0Dds.png
  • 步驟一:編寫
    選擇最簡(jiǎn)單的編輯器:記事本暂衡。
    敲入代碼 class Test{ }
    將文件保存成Test.java询微,這個(gè)文件是存放java代碼的文件,稱為源文件狂巢。
ED06J0.png

第一個(gè)Java程序

public class Test{
      public static void main(String[] args) {
             System.out.println(“Hello World!”);
       }
 }

步驟二:編譯

ED0fL4.png
  • 有了java源文件撑毛,通過(guò)編譯器將其編譯成JVM可以識(shí)別的字節(jié)碼文件。
  • 在該源文件目錄下唧领,通過(guò)javac編譯工具對(duì)Test.java文件進(jìn)行編譯藻雌。
  • 如果程序沒(méi)有錯(cuò)誤,沒(méi)有任何提示斩个,但在當(dāng)前目錄下會(huì)出現(xiàn)一個(gè)Test.class文件胯杭,該文件稱為字節(jié)碼文件,也是可以執(zhí)行的java的程序受啥。

步驟三:運(yùn)行

  • 有了可執(zhí)行的java程序(Test.class字節(jié)碼文件)
  • 通過(guò)運(yùn)行工具java.exe對(duì)字節(jié)碼文件進(jìn)行執(zhí)行做个。
  • 出現(xiàn)提示:缺少一個(gè)名稱為main的方法。
ED0LQO.png
  • 因?yàn)橐粋€(gè)程序的執(zhí)行需要一個(gè)起始點(diǎn)或者入口滚局,所以在Test類中的加入public static void main(String[] args){ }
  • 對(duì)修改后的Test.java源文件需要重新編譯居暖,生成新的class文件后,再進(jìn)行執(zhí)行核畴。
  • 發(fā)現(xiàn)沒(méi)有編譯失敗膝但,但也沒(méi)有任何效果,因?yàn)椴](méi)有告訴JVM要幫我們做什么事情谤草,也就是沒(méi)有可以具體執(zhí)行的語(yǔ)句跟束。
  • 想要和JVM來(lái)個(gè)互動(dòng)莺奸,只要在main方法中加入一句System.out.println(“Hello World");因?yàn)槌绦蜻M(jìn)行改動(dòng),所以再重新編譯冀宴,運(yùn)行即可灭贷。

1-7 常見(jiàn)問(wèn)題及解決方法

EDBuYq.png

?源文件名不存在或者寫錯(cuò)
?當(dāng)前路徑錯(cuò)誤
?后綴名隱藏問(wèn)題

EDBJ0J.png

?類文件名寫錯(cuò),尤其文件名與類名不一致時(shí)略贮,要小心
?類文件不在當(dāng)前路徑下甚疟,或者不在classpath指定路徑下

EDBgAA.png

?聲明為public的類應(yīng)與文件名一致,否知編譯失敗

EDBh1f.png

?編譯失敗逃延,注意錯(cuò)誤出現(xiàn)的行數(shù)览妖,再到源代碼中指定位置改錯(cuò)

小總結(jié):

學(xué)習(xí)編程最容易犯的錯(cuò)是語(yǔ)法錯(cuò)誤。Java要求你必須按照語(yǔ)法規(guī)則編寫代碼揽祥。如果你的程序違反了語(yǔ)法規(guī)則讽膏,例如:忘記了分號(hào)、大括號(hào)拄丰、引號(hào)府树,或者拼錯(cuò)了單詞,java編譯器都會(huì)報(bào)語(yǔ)法錯(cuò)誤料按。嘗試著去看懂編譯器會(huì)報(bào)告的錯(cuò)誤信息奄侠。

1-8 注釋(Comment)

用于注解說(shuō)明解釋程序的文字就是注釋。
Java中的注釋類型:

  • 單行注釋 格式: //注釋文字

  • 多行注釋 格式: /* 注釋文字 */

  • 文檔注釋 (java特有)

  • 對(duì)于單行和多行注釋载矿,被注釋的文字垄潮,不會(huì)被JVM(java虛擬機(jī))解釋執(zhí)行。

  • 多行注釋里面不允許有多行注釋嵌套恢准。

  • 格式:/**
    @author 指定java程序的作者
    @version 指定源文件的版本
    */

注釋內(nèi)容可以被JDK提供的工具 javadoc 所解析魂挂,生成一套以網(wǎng)頁(yè)文件形式體現(xiàn)的該程序的說(shuō)明文檔。
提高了代碼的閱讀性馁筐;調(diào)試程序的重要方法涂召。
注釋是一個(gè)程序員必須要具有的良好編程習(xí)慣。
將自己的思想通過(guò)注釋先整理出來(lái)敏沉,再用代碼去體現(xiàn)

EDDnDe.png

小結(jié)第一個(gè)程序

  • Java源文件以“java”為擴(kuò)展名果正。源文件的基本組成部分是類(class),如本例中的HelloWorld類盟迟。
  • Java應(yīng)用程序的執(zhí)行入口是main()方法秋泳。它有固定的書寫格式:
    public static void main(String[] args) {...}
  • Java語(yǔ)言嚴(yán)格區(qū)分大小寫。
  • Java方法由一條條語(yǔ)句構(gòu)成攒菠,每個(gè)語(yǔ)句以“;”結(jié)束迫皱。
  • 大括號(hào)都是成對(duì)出現(xiàn)的,缺一不可。
  • 一個(gè)源文件中最多只能有一個(gè)public類卓起。其它類的個(gè)數(shù)不限和敬,如果源文件包含一個(gè)public類,則文件名必須按該類名命名戏阅。

1-9 Java API文檔

API (Application Programming Interface,應(yīng)用程序編程接口)是 Java 提供的基本編程接口昼弟。
Java語(yǔ)言提供了大量的基礎(chǔ)類,因此 Oracle 也為這些基礎(chǔ)類提供了相應(yīng)的API文檔奕筐,用于告訴開(kāi)發(fā)者如何使用這些類舱痘,以及這些類里包含的方法。
下載API:https://www.oracle.com/technetwork/java/javase/downloads/index.html
Additional Resources-Java SE 8 Documentation下載离赫。

1.10 良好的編程風(fēng)格

正確的注釋和注釋風(fēng)格

  • 使用文檔注釋來(lái)注釋整個(gè)類或整個(gè)方法芭逝。
  • 如果注釋方法中的某一個(gè)步驟,使用單行或多行注釋笆怠。
    正確的縮進(jìn)和空白
  • 使用一次tab操作铝耻,實(shí)現(xiàn)縮進(jìn)
  • 運(yùn)算符兩邊習(xí)慣性各加一個(gè)空格。比如:2 + 4 * 5蹬刷。
    塊的風(fēng)格
  • Java API 源代碼選擇了行尾風(fēng)格
行尾風(fēng)格
public class Test {
    public static void main(String[] args){
        System.out.println("Block Style!");
   }
}
次行風(fēng)格
public class Test
{
    public static void main(String[] args)
    {
        System.out.println("Block Style!");
   }
}

選擇合適的文本編輯器或 IDE 開(kāi)發(fā)

JBuilder

JBuilder是Borland公司開(kāi)發(fā)的針對(duì)java的開(kāi)發(fā)工具,使用JBuilder將可以快速频丘,有效的開(kāi)發(fā)各類java應(yīng)用办成。 Jbuilder支持各種應(yīng)用服務(wù)器。Jbuilder與Inprise Application Server緊密集成搂漠,同時(shí)支持WebLogic Server迂卢,支持EJB 1.1和EJB 2.0,可以快速開(kāi)發(fā)J2EE的電子商務(wù)應(yīng)用桐汤。支持遠(yuǎn)程調(diào)試和多線程調(diào)試而克,調(diào)試器支持各種JDK版本
https://edn.embarcadero.com/cn/jbuilder

EDDDCq.png

NetBeans

NetBeans是一款用Java編寫的開(kāi)源IDE。既可用于Java開(kāi)發(fā)怔毛,也支持其他語(yǔ)言员萍,特別是PHP、C/C ++拣度,和HTML5碎绎。NetBeans開(kāi)發(fā)環(huán)境提供了豐富的產(chǎn)品文檔和培訓(xùn)資源以及大量的第三方插件。
https://netbeans.org/features/index.html

EDDqqe.png

Eclipse

Eclipse應(yīng)該是大多數(shù)Java程序員使用的第一個(gè)IDE抗果。眾所周知的筋帖、最流行、也最受歡迎的Java開(kāi)發(fā)工具冤馏。優(yōu)點(diǎn)很多:免費(fèi)日麸、更新快、代碼智能化逮光、ANT構(gòu)建等代箭,擁有眾多插件墩划,完全免費(fèi)、有中文版梢卸、上手比較快走诞。缺點(diǎn)也非常明顯,安裝插件麻煩蛤高、插件對(duì)版本要求比較嚴(yán)格蚣旱。

https://eclipse.org/

EDDxPI.png

MyEclipse

MyEclipse也是一款功能強(qiáng)大的J2EE集成開(kāi)發(fā)環(huán)境,由Genuitec公司發(fā)布戴陡,提供免費(fèi)版和收費(fèi)版塞绿。但免費(fèi)版,只能滿足基本開(kāi)發(fā)需求
https://www.myeclipsecn.com/

EDrPsS.png

IntelliJ IDEA

IntelliJ IDEA被認(rèn)為是目前Java開(kāi)發(fā)效率最快的IDE工具恤批。是JetBrains公司的產(chǎn)品异吻,這家公司總部位于捷克共和國(guó)的首都布拉格。它整合了開(kāi)發(fā)過(guò)程中實(shí)用的眾多功能喜庞,智能提示錯(cuò)誤诀浪,強(qiáng)大的調(diào)試工具,Ant延都,JavaEE支持雷猪,CVS整合,最大程度的加快開(kāi)發(fā)的速度晰房。簡(jiǎn)單而又功能強(qiáng)大求摇。與其他的一些繁冗而復(fù)雜的IDE工具有鮮明的對(duì)比。
https://www.jetbrains.com/idea/

EDrAaj.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末殊者,一起剝皮案震驚了整個(gè)濱河市与境,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌猖吴,老刑警劉巖摔刁,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異距误,居然都是意外死亡簸搞,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門准潭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)趁俊,“玉大人,你說(shuō)我怎么就攤上這事刑然∷吕蓿” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)怔软。 經(jīng)常有香客問(wèn)我垦细,道長(zhǎng),這世上最難降的妖魔是什么挡逼? 我笑而不...
    開(kāi)封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任括改,我火速辦了婚禮,結(jié)果婚禮上家坎,老公的妹妹穿的比我還像新娘嘱能。我一直安慰自己,他們只是感情好虱疏,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布惹骂。 她就那樣靜靜地躺著,像睡著了一般做瞪。 火紅的嫁衣襯著肌膚如雪对粪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天装蓬,我揣著相機(jī)與錄音著拭,去河邊找鬼。 笑死牍帚,一個(gè)胖子當(dāng)著我的面吹牛茫死,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播履羞,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼屡久!你這毒婦竟也來(lái)了忆首?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤被环,失蹤者是張志新(化名)和其女友劉穎糙及,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體筛欢,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡浸锨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了版姑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柱搜。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖剥险,靈堂內(nèi)的尸體忽然破棺而出聪蘸,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布健爬,位于F島的核電站控乾,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏娜遵。R本人自食惡果不足惜蜕衡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望设拟。 院中可真熱鬧慨仿,春花似錦、人聲如沸蒜绽。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)躲雅。三九已至鼎姊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間相赁,已是汗流浹背相寇。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钮科,地道東北人唤衫。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像绵脯,于是被迫代替她去往敵國(guó)和親佳励。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • 代碼虐我千百遍蛆挫,我視代碼如初戀 初級(jí)學(xué)習(xí)思想: 看百科 敲官網(wǎng) 對(duì)文檔 看視頻 敲代碼 多求助 做總結(jié)...
    565420164146閱讀 383評(píng)論 0 0
  • 時(shí)間:2018-07-15 作者:魏文應(yīng) 一赃承、Java技術(shù)體系平臺(tái) Java SE (Java Standard...
    秋的懵懂閱讀 204評(píng)論 0 0
  • 1.Java語(yǔ)言有哪些特點(diǎn) Java語(yǔ)言是一種跨平臺(tái)、適合于分布式計(jì)算環(huán)境的面向?qū)ο蟮木幊陶Z(yǔ)言悴侵。它具有的特點(diǎn)有很多...
    EamonXia閱讀 814評(píng)論 0 1
  • Java是一門面向?qū)ο缶幊陶Z(yǔ)言瞧剖,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承可免、指針等概念抓于,因此...
    黃花菜已涼閱讀 6,525評(píng)論 6 140
  • 我現(xiàn)在生活的這個(gè)城市,身邊人每天談?wù)撟疃嗟脑掝}就是“買房”浇借。 今天早上我們的小伙伴做了一個(gè)數(shù)據(jù)的統(tǒng)計(jì)捉撮,這份數(shù)據(jù)涵蓋...
    飛天蘿莉想閱讀 256評(píng)論 0 1