第一章-java語言簡介

第一節:java語言概述

一、java簡介[了解]

1.java概述

1.1java是什么?

學習之前需要了解,java是什么。java是sun公司推出的面向對象程序設計語言,特別適用于Interent應用程序開發,它的最大特點就是“一次編譯,到處運行”,并且能夠在各種操作系統上運行,例如:windows,linux等。

1.2java名稱的由來

? Java是印度尼西亞爪哇島的英文名稱,因盛產咖啡而聞名。Java語言中的許多庫類名稱,多與咖啡有關,如JavaBeans(咖啡豆)、NetBeans(網絡豆)以及ObjectBeans (對象豆)等等。SUN和JAVA的標識也正是一杯正冒著熱氣的咖啡。Java自1995誕生,至今已經20多年的歷史。

1.3為什么學習java?

?java可以說是無處不在,其市場占有率也在不斷攀升。他已經吸收了全球最大的開發者隊伍---500W+開發者這是全球最大最具活力的開發團隊。

?目前采用java的設備已經超過45億,其中報告8億臺個人計算機、15億部移動電話及其其他手持設備、22億智能卡,以及機頂盒、打印機、網絡照相機、游戲、汽車導航系統、彩票終端、醫療設備、收費站等。

以下是最新的編程語言排行榜:

2019年03月編程語言排行榜TOP 10 榜單
https://hellogithub.com/report/tiobe/?url=/

排名 編程語言 流行度 對比上月 年度明星語言
1 Java 14.880% 0.996% 2015, 2005
2 C 13.305% 0.881% 2017, 2008
3 Python 8.262% 0.688% 2010, 2007, 2018
4 C++ 8.126% 0.682% 2003
5 Visual Basic .NET 6.429% 0.666%
6 C# 3.267% 0.421%
7 JavaScript 2.426% 0.422% 2014
8 PHP 2.420% 0.149% 2004
9 SQL 1.926% 0.026%
10 Objective-C 1.681% 0.234% 2012, 2011

2.java發展史

java.png
  • 1995年5月23日,Java語言誕生

  • 1996年1月,第一個JDK-JDK1.0誕生

  • 1996年4月,10個最主要的操作系統供應商申明將在其產品中嵌入JAVA技術

  • 1996年9月,約8.3萬個網頁應用了JAVA技術來制作

  • 1997年2月18日,JDK1.1發布

  • 1997年4月2日,JavaOne會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄

  • 1997年9月,JavaDeveloperConnection社區成員超過十萬

  • 1998年2月,JDK1.1被下載超過2,000,000

  • 1998年12月8日,JAVA2企業平臺J2EE發布

  • 1999年6月,SUN公司發布Java的三個版本:標準版(J2SE)、企業版(J2EE)和微型版(J2ME

  • 2000年5月8日,JDK1.3發布

  • 2000年5月29日,JDK1.4發布

  • 2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機

  • 2001年9月24日,J2EE1.3發布

  • 2002年2月26日,J2SE1.4發布,自此Java的計算能力有了大幅提升

  • 2004年9月30日18:00PM,J2SE1.5發布,成為Java語言發展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5更名為Java SE 5.0

  • 2005年6月,JavaOne大會召開,SUN公司公開Java SE 6。此時,Java的各種版本已經更名,以取消其中的數字“2”:J2EE更名為Java EE,J2SE更名為Java SE,J2ME更名為Java ME

  • 2006年12月,SUN公司發布JRE6.0

  • 2009年4月20日,Oracle以74億美元收購Sun公司,取得了java的版權。

  • 2009年12月,SUN公司發布Java EE 6

  • 2010年11月,由于Oracle公司對于Java社群的不友善,因此Apache揚言將退出JCP

  • java之父James Gosling 加盟google

  • 2011年7月28日,Oracle公司發布Java SE 7

  • 2014年3月18日,Oracle公司發表Java SE 8

  • 2017年9月21日,Oracle公司發表Java SE 9

  • 2018年3月21日,Oracle公司發表Java SE 10

  • 2018年9月25日,Java SE 11發布

    ?

3.Java語言特點

java語言豐富多彩, 通過這11個詞語來概括java語言的特性,下面來看下每個詞語所代表的含義,大概了解下就可以了。
?1.簡單的(Simple)
風格和C++很像,基本語法和C很像,但是摒棄了C++容易引發錯誤的地方,如指針、內存管理、頭文件等。提供了豐富的類庫。
2.面向對象(Object-Oriented)
簡單的來說,世界萬物皆是對象,它將重點放在了數據(也就是對象)和對象的接口上。
3.分布式的(Distributed)
Java是針對Internet的分布式環境而設計的,所以它包含了一個支持HTTP和FTP等基于TCP/IP協議的子庫,它能處理TCP/IP協議
4.解釋的(Interpreted)
Java解釋器可以在任何移植了解釋器的機器上Java字節碼。現在使用即時編譯器將字節碼翻譯成機器碼。
5.健壯的(Robust)
Java是強制類型的語言,它不僅在運行時檢查代碼,還在編譯時就檢查代碼,消除有出錯傾向的狀態。
6.安全性(Secure)
指針和釋放內存等C++功能被刪除,避免了非法內存操作。
7.結構中立的(Architecture-neutral)
編譯器生成一個體系結構中立的高層次的與機器無關的byte-code格式語言,被設計在Java虛擬機上運行。這是一種編譯過的代碼,只要有Java運行時系統,就可以在許多處理機上運行。
8.可移植的(Portable)
Java定義了獨立于平臺的基本數據類型及其運算。
9.高性能的(High-Performance)
Java通過使用及時編譯器,可以很容易的將字節碼轉換為運行這個應用程序的特定CPU的機器碼。
10.多線程的(Multi-Threaded)
多線程可以提供更好的交互性能和實時控制性能。
11.動態的(Dynamic)
Java的動態性是其面向對象設計方法的拓展,它允許程序動態地裝入運行過程中所需要的類。

其中可以簡單的概括為以下三個重要的特點:

特點一:面向對象
        兩個基本概念:類、對象
        三大特性:封裝、繼承、多態
特點二:健壯性
        吸收了C/C++語言的優點,但去掉了其影響程序健壯性的部分。如:指針、內存的申請與釋放等
特點三:跨平臺性
        跨平臺性:通過Java語言編寫的應用程序在不同的系統平臺上都可以運行。
原理:
        只要在需要運行 java 應用程序的操作系統上,先安裝一個Java虛擬機 (JVM Java Virtual Machine) 即可。    由JVM來負責Java程序在該系統中的運行。

4.java語言的構成

? 所謂java的構成,就是值java運行環境的組成,從核心到外圍包括 JIT、JVM、JRE、JDK,四種區別如下:

  • JDK:是Java Develop ToolKit的縮寫,它里面有很多java所編寫的開發工具(如:javac.exe、jar.exe),還包括了一個jre的調試環境。

  • JRE:是Java Runtime Environment的縮寫,是java運行的基礎,
    它提供了java運行的API,Java程序必須有JRE才能正常運行。

  • JVM:是Java Vitual Machine的縮寫,它是java運行的虛擬機環境.

  • JIT:是Java In Time的縮寫,即java即時編譯器,是JVM的一部分,屬于內核部分。

其中的JVM是java運行的虛擬機環境,它是Java運行環境的重要一環


jvm.png

二、java快速入門[重點]

2.1.基礎常識

人機交互方式
現實生活中,軟件的主要作用就是幫忙我們解決現實生活中的問題。例如百度提供了搜索能力,淘寶、京東提供了購物的能力。但是具體搜什么和具體買什么,得取決于我們自己告訴了軟件什么樣的指令,所以這里存在 人和軟件進行交互的問題。一般交互主要分為以下兩種情況:

  • 圖形化界面(GraphicalUser Interface GUI)這種方式簡單直觀,使用者易于接受,容易上手操作。

  • 命令行方式(Command Line Interface CLI):需要有一個控制臺,輸入特定的指令,讓計算機完成一些操作。較為麻煩,需要記錄住一些命令。但是一般后期會使用大量的命令。尤其linux操作系統下。目前只需要記住以下常用的基本命令即可。

常用的DOS命令:

dir(directory) :    列出當前目錄下的文件以及文件夾
md(make directory) :   創建目錄
rd(remove  directory) :     刪除目錄
cd(change directory):    進入指定目錄
cd.. :  退回到上一級目錄
cd \:    退回到根目錄
exit :   退出 dos 命令行

2.2什么是計算機語言

語言:是人與人之間用于溝通的一種方式。例如:中國人與中國人用普通話溝通。而中國人要和英國人交流,就要學習英語。

計算機語言(編程語言):人與計算機交流的方式。如果人要與計算機交流,那么就要學習計算機語言。計算機語言有很多種,如:C,C++,Java,PHP等。

2.3編寫第一個 Java應用程序

實現步驟

1.什么是JDK, JRE
2.下載及安裝 JDK
3.編寫第一個 Java 應用程序
      a.顯示已知文件類型的擴展名
      b.配置環境變量 path
      c.main 方法和輸出語句
      d.注釋
      e.其它細節

2.3.1 什么是JDK, JRE

簡單而言,使用 JDK 的提供的開發工具完成 java 程序的開發,使用 JRE 運行開發好的 Java 應用程序。
JDK(Java Development Kit Java開發工具包):JDK是提供給 Java 開發人員使用的,其中包含了 java 的開發工具,也包括了JRE。所以安裝了JDK,就不用在單獨安裝JRE了
JRE(Java Runtime Environment Java運行環境) :包括Java虛擬機(JVM:Java Virtual Machine)和 Java 程序所需的核心類庫等,如果想要運行一個開發好的Java程序,計算機中只需要安裝JRE即可。
JDK包含了JRE,JRE包含了JVM.

2.3.2 下載及安裝 JDK

下載: 官方網址:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html、

jdk下載

安裝JDK:
? - 傻瓜式安裝,下一步即可。
? - 建議:安裝路徑不要有中文或者特殊符號如空格等。
? - 當提示安裝 JRE 時,可以選擇不安裝。
默認安裝路徑: C:\Program Files\Java

2.3.3配置環境變量:

第一步:打開-計算機-屬性-高級系統設置-環境變量-系統變量
第二步:進行配置(JAVA_HOME,PATH,CLASSPATH)

  • a.JAVA_HOME:另似給jdk全路徑取一個別名。然后使用的時候直接使用別名
  • b.PATH:通過PATH,在DOS命令行找到對應的命令。java javac
  • c.CLASSPATH:JDK1.5之后,可以選擇性安裝,建議安裝。最前面一定要配置一個.(點)
    參考配置如下:
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_73
PATH = %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

2.3.4 顯示已知文件的擴展名

查看本地地方文件夾

2.3.5編寫源代碼

  • 1.創建文本文件修改后綴為.java;例如:HelloWrold.java
  • 2.文件名必須和源代碼中的class類名保持一致
//HelloWorld由于被public 修飾,所有必須和文件名保持一致
public class HelloWorld{
//程序的入口
 public static void main(String[] args){
 //打印信息到控制臺
 System.out.println("hello bj1901.....");
 }
}

3.具體細節如下:

  • main的方法:
    Java應用程序的執行入口是main()方法。它有固定的書寫格式:
    public static void main(String[] args) {...}
    如果沒有 main 方法則在運行時會拋出如下異常
    java.lang.NoSuchMethodError:main】
  • 想要和JVM來個互動,只要在main方法中加入一句System.out.println(“Hello World”);
  • 一個 Java 源文件中最多只能有一個 public 類。其它類的個數不限,
    如果源文件文件包含一個 public 類,它必 須是該類名命名。
  • Java 語言嚴格區分大小寫。
  • Java方法由一條條語句構成,每個語句以分號結束。

4.java注釋

注釋:用于解釋說明程序的文字、提高了代碼的閱讀性
Java中的注釋類型:
? - 單行注釋
? - 多行注釋
? - 文檔注釋(java 特有)
注釋是一個程序員必須要具有的良好編程習慣。將自己的思想通過注釋先整理出來,再用代碼去體現

單行注釋
 格式: //注釋文字
多行注釋
 格式:  /*  注釋文字 */
對于單行和多行注釋,被注釋的文字,不會被JVM(java虛擬機)解釋執行。多行注釋里面不允許有多行注釋嵌套。

2.3.6 編譯

java提供了javac命令用于編譯:

編譯HelloWorld.java文件,編譯成功會生成HelloWorld.class文件
 - javac HelloWorld.java
運行
 - java HelloWorld

4.4案例

測試案例
public class Test01{
 public static void main(String [] args){
 System.out.println("-------------------------");
 //注釋:是一個制表符  tab鍵
 System.out.println("\t歡迎光臨家樂福西鄉店");
 System.out.println("機:15 \t 人:1082 \t 單:7596");
 System.out.println("\t\t\t\t\tRMB");
 System.out.println("商品號\t110 清風抽取式面紙  \t\t25.30");
 System.out.println("商品號\t111 統一方便面  \t\t12.56");
 System.out.println("-------------------------");
 System.out.println("總價\t\t\t\t\t37.86");
 System.out.println("-------------------------");
 }
}

4.5 練習

開發出如下界面:
練習1:

**********************************
 魔法飾品分發系統
     1.登錄系統
     2.退出
**********************************
請選擇輸入數字:

練習2:

 魔法飾品分發系統
**********************************
 1.賬號信息管理
 2.購物結算
 3.裝備返點
 4.注銷
***********************************
請選擇輸入數字:

三、java語言的運行機制

1.JVM(java虛擬機)
2.GC(垃圾回收器)

2.1 JVM

概念:JVM是一個虛擬的計算機,具有指令集并使用不同的存儲區域。負責執行指令,管理數據、內存、寄存器
java是跨平臺的語言(windows,linux,mac):
怎么實現跨平臺的:因為不同的操作系統(平臺)擁有不同的虛擬機。

Java虛擬機機制屏蔽了底層運行平臺的差別,實現了“一次編譯,到處運行”。
jvm.png

2.2.GC 垃圾回收器

1.系統開辟一個線程自動檢測哪些對象不再被使用,然后將這些空閑的對象及資源進行回收。(c,c++需要手動回收)
2.在系統運行的時候,會自動去執行。我們人工無法精確的取控制和干預.

四、eclipse編譯工具 使用

1.解壓直接使用
2.第一次進來選擇工作空間,就是存放代碼的地方(建議放在D盤)
3.修改eclipse的編碼方式(UTF-8:萬國碼,國標碼:GB2312,GBK)
4.修改字體大小
5.新建項目
6.創建具體的java類
選中項目,然后先建class。然后設置class名稱

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 姓名:周君會 學號:17011210526 轉載自: http://www.lxweimin.com/p/...
    lotus兒閱讀 1,962評論 1 9
  • [toc] 第1章 Java平臺概論 1.1 Java不止是語言 從1995年至今,Java已經過20個年頭...
    默然說話_牟勇閱讀 433評論 0 3
  • 菠蘿 是甜的 蘋果 是甜的 香蕉 是甜的 桂圓 也是甜的
    二貨遠哥閱讀 116評論 0 0
  • 正所謂“考考考,老師的法寶;分分分,學生的命根?!边@句話對于學生來說,是再熟悉不過的了,簡直就是千古絕唱。...
    荷韻恩子閱讀 491評論 0 0
  • 再次得到蔣義峰的消息是在他結束了五年軍旅生活之后,我倆怕久別重逢氣氛過于壓抑,決定在一家迪吧碰面。周圍的青年隨著動...
    嘉悲閱讀 358評論 0 1