JavaSE基礎總結1 ——Java概述、JDK安裝、環境變數配置

来源:https://www.cnblogs.com/ziyouhuxi/archive/2018/05/17/9053500.html
-Advertisement-
Play Games

JavaSE基礎點一 Java概述 什麼是Java? Java是一門程式設計語言,在說Java語言前先談一下什麼是電腦語言。電腦語言是人與電腦之間通信的語言,它主要由一些指令組成,這些指令包括數字、符號和語法等內容,人可以通過這些指令來指揮電腦進行各種工作。 電腦語言的分類有很多,大體分為 ...


JavaSE基礎點一

Java概述

什麼是Java?

  Java是一門程式設計語言,在說Java語言前先談一下什麼是電腦語言。電腦語言是人與電腦之間通信的語言,它主要由一些指令組成,這些指令包括數字、符號和語法等內容,人可以通過這些指令來指揮電腦進行各種工作

  電腦語言的分類有很多,大體分為機器語言彙編語言高級語言三類。電腦能識別認識的只有機器語言,機器語言由0、1組成,表示信號的開和關。也叫二進位。因為不便於人記憶和識別,目前通用的編程語言是彙編語言跟高級語言。彙編語言採用了英文縮寫的標識符,容易識別和記憶;而高級語言採用了接近於人類的自然語言進行編程,進一步簡化了程式編寫的過程,所以高級語言是目前絕大多數編程人採用的語言。

  Java語言是一種高級電腦語言,由Sun公司於1995年5月推出的一種可以編寫跨平臺應用軟體、完全面向對象的程式設計語言。Java語言有簡單易用、安全可靠的特性,主要面向Internet編程,問世以來,與之相關的技術和應用發展的非常快。在電腦、行動電話、家用電器等領域中,Java技術無處不在。為了使軟體開發人員、服務提供商和設備生產商可以針對特定的市場進行開發,Sun公司將Java劃分為三個技術平臺,分別是JavaSE、JavaEE、JavaME。

JavaSE標準版

  是為開發普通桌面和商務應用程式提供的解決方案。JavaSE是三個平臺中最核心的部分,JavaEE和JavaME都是從JavaSE的基礎上發展而來的,JavaSE平臺中包括了Java最核心的類庫,如集合、IO、資料庫連接以及網路編程等。

JavaEE企業版

  是為開發企業級應用提供的解決方案。JavaEE可以被看作一個技術平臺,該平臺用於開發、裝配以及部署企業級應用程式,其中主要包括Servlet、JSP、JavaBean、JDBC、EJB、WebService等技術。

JavaME小型版

  是為開發電子消費產品和嵌入式設備提供的解決方案。JavaME主要用於小型數字電子設備上軟體程式的開發。例如,為家用電器增加智能化控制和聯網功能,為手機增加新的游戲和通訊錄管理功能。此外,JavaME提供了HTTP等高級Internet協議,使行動電話能以Client/Server方式直接訪問Internet的全部信息,提供最高效率的無線交流。

Java語言的特點

1.簡單

  Java語言是一種相對簡單的編程語言,它通過提供最基本的方法來完成指定的任務,只需要理解一些基本的概念,就可以用它編寫出適合於各種情況的應用程式。Java丟棄了C++中很難理解的運算符重載、多重繼承等模糊概念。特別是Java語言不使用指針,而是使用引用,並提供了自動的垃圾回收機制,使程式員不必為記憶體管理而擔憂。

2.面向對象

  Java語言提供了類、介面和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持介面之間的多繼承,並支持類於介面之間的實現機制(關鍵字為implements)。Java語言全面支持動態綁定而C++語言只對虛函數使用動態綁定。總之,Java語言是一個純粹的面向對象程式設計語言。

3.安全

  Java語言不支持指針,一切對記憶體的訪問都必須通過對象的實例變數來實現,從而使應用更安全。

4.跨平臺

  用Java語言編寫的程式可以運行在各種平臺上,也就是說同一段程式既可以在Windows操作系統上運行,也可以在Linux操作系統上運行。它的原理是Java程式的文件class並不直接被電腦解釋執行,而是先運行在Java虛擬機上,通過虛擬機跟系統底層做一個中間的轉換。需要瞭解Java程式跨平臺,但虛擬機不跨平臺,想要在某個操作系統上運行Java程式,就要安裝於系統版本相對應的虛擬機版本,Java程式-虛擬機-操作系統的關係我畫了下麵一張圖供理解。

5.支持多線程

  Java語言是支持多線程的。所謂多線程可以理解為程式中有多個任務可以併發執行,這樣可以在很大程度上提高程式的執行效率。

  JDK的使用

什麼是JDK?

  Sun公司提供了一套Java開發環境,簡稱JDK,它是整個Java的核心,其中包括Java編譯器、java運行工具、java文檔生成工具、java打包工具等。

為了滿足用戶日新月異的需求,JDK的版本也在不斷地升級。在1995年,java誕生之初就提供了最早的版本JDK1.0,隨後相繼推出了JDK1.1、JDk1.2、JDK1.3、JDK1.4、JDK5.0、JDK6.0、JDK7.0、JDK8.0

Sun公司除了提供JDK還提供了一種JRE工具,它是Java運行環境,是提供給普通用戶使用的。由於用戶只需要運行事先編寫好的程式,不需要自己動手編寫程式,因此JRE工具中只包含java運行工具,不包含java編譯工具。值得一提的是,為了方便使用,Sun公司在其JDK工具中自帶了一個JRE工具,也就是說開發環境中包含運行環境,這樣以來,開發人員只需要在電腦上安裝JDK即可,不需要專門安裝JRE工具了。

安裝JDK 

第一步下載JDK;打開oracle公司java的下載頁面http://www.oracle.com/technetwork/java/javase/downloads/index.html

第二步選擇JDK8版本,也可以選擇其它的版本,看個人喜好。

第三步;選擇跟系統相對應的JDK版本,我的是windows32位,所以選擇winx86版本,x86就是32位的意思。如果怕下載錯了64位也可下載32位的,因為向下相容。

下載完成後雙擊安裝包,跟著提示下一步即可,因為我的電腦已經安裝好了javase這裡就不上圖了。說幾點安裝要註意的地方,第一點安裝路徑最好不要有中文,容易導致莫名其妙的錯誤,你還排除不出跟哪裡配置錯誤有關。第二點當安裝開始後再次彈出下一步視窗的時候,這時候你註意系統預設的安裝路徑最後面是jre文件夾,其實在這時JDK已經安裝完成了,這是要你安裝一個獨立的JRE。因為我們安裝JDK的時候就已經預設安裝好了jre,這裡直接取消就好了,如果你還想裝一個獨立的JRE可以繼續安裝。到這裡JDK已經安裝完成。

檢查JDK安裝是否正確

  安裝好了JDK要運行一下看JDK是否安裝成功。

步驟:1、打開命令行,路徑切換到java安裝路徑里的bin目錄里。運行javac命令如出現下圖內容則安裝成功。

如果出現不是內部或外部命令,也不是可運行的程式或批處理文件則安裝失敗,要檢查進入的路勁是否正確,以及下載的安裝包是否完整,安裝是否正確。

JDK目錄介紹

bin目錄:該目錄用於存放一些可執行程式,如javac.exe(java編譯器)、java.exe(java運行工具)、jre.exe(打包工具)、javadoc.exe(文檔生成工具)等。

db目錄:db目錄是一個小型的資料庫。從JDK6.0開始,java中引入了一個新的成員javaDB,這是一個純java實現、開源的資料庫管理系統。這個資料庫不僅很輕便,而且支持JDBC4.0所有的規範,在學習JDBC時,不需要額外第安裝一個資料庫軟體,選擇直接使用javaDB即可。

jre目錄:jre是java程式運行環境,此目錄是java運行環境的根目錄,它包含了java虛擬機,運行時的類包、java應用啟動器以及一個bin目錄,但不包含環境中的開發工具。

include目錄:由於JDK是通過C和C++實現的,因此在啟動時需要引入一些C語言的頭文件,該目錄就是用於存放這些頭文件的。

lib目錄:lib是library的縮寫,意為java類庫或庫文件,是開發工具使用的歸檔包文件。

src.zip文件:存放的是JDK核心類的源代碼,通過該文件可以查看java基礎類的源代碼。

詳細講解javac跟java命令。

javac.exe是java編譯器工具,它可以將編寫好的java文件編譯成class位元組碼文件。而位元組碼文件才是java可執行的文件。

java.exe是java運行工具,它會啟動一個java虛擬機(JVM)進程,java虛擬機相當於一個虛擬的操作系統,它專門負責運行由java編譯器生成的位元組碼文件。

第一個java程式

在JDK安裝目錄里的bin目錄里創建一個文本文檔,重命名為HelloWorld.java。然後用記事本方式打開,編寫一段java代碼。

第一個HelloWorld程式

1 public class HelloWorld{
2    public static void main(String[] args){
3          System.out.println("HelloWorld");    
4  }     
5 }

 上面的代碼實現了一個java程式,下麵對其中的代碼經i系那個簡單的解釋。

  class是一個關鍵字,它用於定義一個類。在java中,類就相當於一個程式,public聲明這是一個公共類,公共類的類名跟文件名必須相同。所有的代碼都需要在類中書寫。HelloWorld是類的名稱,簡稱類名。class關鍵字於類名之間需要用空格、製表符、換行符等任意的空白字元進行分隔。類名之後要寫一對大括弧,它定義了當前這個類的管轄範疇,所有的代碼都需要寫在這個大括弧中。

public static void main(String[] args){} 定義了一個main方法,該方法是java程式在執行的時候的執行入口。

在main方法中寫了一條輸出語句System.out.println();它的作用是列印一段文本信息,把這條信息輸出在命令行視窗中。這樣我們才會直觀的看到程式運行的結果。

在寫程式的時候要註意中英文問題,所有的符號都必須是英文半形格式,否則編譯就會報錯。

 編譯時找不到文件

這有可能是你文件名寫錯了,如果文件名對,路徑也對,那很可能是你設置隱藏了文件類型的擴展名,這時候雖然你命名了文本文檔為.java格式,其實是xxxxx.java.txt  打開電腦選擇工具選擇文件夾選項在高級設置欄中將“隱藏已知文件類型的擴展名”選項前面的√取消 然後確定就行。在回到文件查看類型。如果是txt則重命名為.java格式即可。

系統環境變數

配置環境變數的目的是為了開發更加的便利,畢竟將所有的程式都放在bin目錄里不利於管理。而且容易誤刪java里的文件。配置好了環境變數就可以在任何路徑下都可使用java運行命令。

步驟:先複製java的安裝路徑複製到bin。然後滑鼠放在電腦圖標上右擊選擇屬性,選擇高級系統設置選擇環境變數,在下麵的系統變數里找到path環境變數,雙擊打開。註意不要動裡面的任何值。在變數值里把游標移動到最前面然後粘貼,在粘貼的路徑bin後面加上英文分號。確定保存即可。

  我們還可以配置classpath以便於在任何路徑下都能執行.class文件。

步驟:還是找到環境變數在上面的用戶變數里選擇新建,命名為classpath,然後把存放.class文件目錄的路徑複製到變數值里,後面加上英文分號。

 習題

填空題

  1. java的三個技術平臺分別是(JavaME)、(JavaSE)、(JavaEE)。
  2. java程式的運行環境簡稱之為(JRE)。
  3. 編譯java程式需要使用(javac)命令。
  4. javac.exe和java.exe兩個可執行程式存放在JDK安裝目錄的(bin)目錄下。

  5.(path)環境變數用來存儲java的編譯和運行工具所在的路徑,而(classpath)環境變數則用來保存java虛擬機要運行的.class文件路徑。

選擇題

  以下選項中,哪些屬於JDK工具?(多選)(ABCD);

  • A:java編譯器
  • B:java運行工具
  • C:java文檔生成工具
  • D:java打包工具

  Java屬於以下哪種語言?(C);

  • A:機器語言
  • B:彙編語言
  • C:高級語言
  • D:以上都不對

  下麵哪種類型的文件可以在java虛擬機中運行?(D);

  • A:.java
  • B:.jre
  • C:.exe
  • D:.class

  安裝好JDK後,在其bin目錄下有許多exe可執行文件,其中“java.exe”命令的作用是以下哪一種?(D);

  • A:java文檔製作工具
  • B:java解釋器
  • C:java編譯器
  • D:java啟動器

  如果jdk的安裝路徑為“d:\jdk”,若想在命令視窗中任何當前路徑下,都可以直接使用javac和java命令,需要將環境變數path設置為以下哪個選項?(B);

  • A:d:\jdk;
  • B:d:\jdk\bin;
  • C:d:\jre\bin;
  • D:d:\jre;

問答題

  • 簡述java的特點。

  安全:java語言拋棄了C++語言中的指針,使程式變得更安全可靠。

  簡單易學:同樣比較C++,沒有指針,沒有多級重載,有自動的垃圾回收機制。

  跨平臺:一次編譯,多處運行。java藉助虛擬機功能實現了其它語言沒有的跨平臺性能。

  多線程:支持多線程,使程式的運行效率大大提高。

  完全面向對象:java是一門完全面向對象的語言。

  • 簡述JRE於JDK的區別。

  JRE是java運行環境,包括了java的核心類跟虛擬機,以及一些運行java程式所需要的元素。JDK是java開發環境,不僅包括了JRE本身,還具備了開發java程式的功能。

編程題

  • 獨立編寫HelloWorld程式。
1 public class HelloWorld{
2     public static void main(String[] args){
3         System.out.println("HelloWorld");
4  }
5 }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 緣起 翻開清單,一條條計劃一直列在那裡,一天又一天,不知道什麼時候寫下了它,也知不道什麼時候完成它,它一直在那靜靜的等待著。 靜下心來,反思自己,才發現自己是多麼的無知,多麼的沒有毅力。設定了無數目標,指定了無數計劃,但是到頭來呢?都是在無盡的嘆息中,放棄了定下的目標。 堅持 只是每天不斷在內心迴響 ...
  • lavaan簡明教程 [中文翻譯版] 譯者註:此文檔原作者為比利時Ghent大學的Yves Rosseel博士,lavaan亦為其開發,完全開源、免費。我在學習的時候順手翻譯了一下,向Yves的開源精神致敬。此翻譯因偷懶部分刪減,但也有增加,有錯誤請留言 「轉載請註明出處」 目錄 lavaan簡明教 ...
  • 恢復內容開始 作者 : liuyang0 來源 : 博客園 常見排序演算法總結與實現 本文使用Java實現這幾種排序。以下是對排序演算法總體的介紹。 冒泡排序 時間複雜度:O(n^2),最優時間複雜度:O(n),平均時間複雜度:O(n^2) 插入排序 時間複雜度:O(n^2),最優時間複雜度:O(n), ...
  • 一、初始Redis 1、Redis特性與優點 速度快。redis所有數據都存放於記憶體;是用C語言實現,更加貼近硬體;使用了單線程架構,避免了多線程競爭問題 基於鍵值對的數據結構,支持的數據結構豐富。它主要提供了5種數據結構: 字元串、 哈希、 列表、 集合、 有序集合, 同時在字元串的基礎之上演變出 ...
  • 一:java不同進位數據的表現形式 二進位表示形式前面加0b(b可以大寫也可以小寫) 八進位表示形式前面加0 十六進位表示形式前面加0x 任意進位到十進位的轉換圖解 十進位到十進位的轉換 12345 = 10000 + 2000 +300 + 40 + 5 =1 *10^4 + 2 *10^3 + ...
  • 使用DOM解析xml文件 要解析的xml文件如下: 解析xml的代碼如下: 基本步驟差不多就是: 首先是先獲得根元素 然後getElementByTagName()獲得相應標簽的node集合 通過集合,如list中的item()獲得集合中的具體元素 最後根據getTextContent()獲得具體元 ...
  • 穿越:從0開始,構建前後端分離應用 攔截器的作用 攔截器是web項目不可或缺的組成部分,一般使用攔截器實現以下功能 1、登錄session驗證 防止瀏覽器端繞過登錄,直接進入到應用 或者session超時後,返回到登錄頁面 2、記錄系統日誌 一個完善的應用系統,應該具備監控功能,通過完善的系統日誌記 ...
  • #include<bits/stdc++.h>using namespace std;main(){double a=2.9939; cout<<fixed<<setprecision(2)<<a;printf("%.3f", a);return 0;} ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...