Java小白入門:聊聊Java這門編程語言

来源:https://www.cnblogs.com/quan2018/archive/2020/02/04/tanquan.html
-Advertisement-
Play Games

我們都知道,語言嘛,當然是用來溝通交流、傳遞信息的,在人類的世界里,語言的種類非常多,像漢語、英語、日語、法語等等。 所以,我們不妨猜想一下,在電腦的世界里,會不會也是這樣的呢?答案是,的確如此。 為了使電腦能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過電腦能夠理解的形式告訴... ...


一、什麼叫做編程

首先我們應該瞭解一下什麼叫做編程。

百度百科詞條的解釋:

編程是編定程式的簡稱,是讓電腦代我們解決某個問題,是對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。

對於該解釋,大家也包括我自己可能並不是很理解,那我們反正就這麼理解,一般來說編程就是寫代碼,目的是為瞭解決問題,解決什麼問題需要看需求,看甲方爸爸的需求,所以也就有了需求工程師這個職位。

這麼理解,簡單、粗暴,哈哈哈。

但是有個誤區要提醒一下,編程不一定是針對電腦程式而言的,針對具備邏輯計算力的體系,都可以算編程(這是詞條中提到的,我覺得有必要提一下)。

二、白話編程語言

然後,我們來瞭解一下關於編程語言的知識。

我們都知道,語言嘛,當然是用來溝通交流、傳遞信息的,在人類的世界里,語言的種類非常多,像漢語、英語、日語、法語等等。

所以,我們不妨猜想一下,在電腦的世界里,會不會也是這樣的呢?答案是,的確如此。

為了使電腦能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過電腦能夠理解的形式告訴電腦,使得電腦能夠根據人的指令一步一步去工作,完成某種特定的任務。

這種形式就是指編程語言。

在電腦領域,編程語言也很多,按發展歷程來劃分大致可以分為三大類:機器語言、彙編語言以及高級語言。從機器語言到高級語言,經歷了很長一段時間的發展。它們是發明者為了滿足現實的需要,不斷迭代發展到今天這個簡單、易於學習的高級語言的。

所以如今最常用的編程語言就是高級語言,而高級語言像比較常見的有C、C++、Java、Python等等,那麼我們可以用它們做什麼事呢?

前面說了,編程語言和我們熟悉的漢語一樣,也是用來溝通交流的,只是在溝通對象上有區別而已。

漢語是人與人之間的溝通,而編程語言則是人與電腦之間的溝通(簡稱人機交互),並且這種溝通是單向的,只有人可以主動來和電腦“交流”,而電腦是不會主動和我們說話的。
但是,在科技發展如此迅速的時代,或許未來真的會誕生智能電腦(人工智慧領域)也很有可能哦。(這個只是譚少額外的一點想法,說的可能不太準確,畢竟對這些不懂)。


在IT領域中,編程語言是程式員小哥哥和電腦打交道、指揮電腦幫其解決現實問題的工具。

對編程和編程語言有了一個大概的瞭解之後,下麵我們開始介紹Java。

 三、Java介紹

那有的人可能就想問了,既然編程語言這麼多種,那為什麼偏偏就選擇Java呢?這其實就和很多人會選擇努力學好英語一樣,它們都比較火熱,而且都在各自領域起著重大作用。

Java被稱之為電腦界的“英語”,在編程語言排行榜中多年來一直名列前茅,並且連續多年排名第一,你說它火不火。說白了,學好它對你很有用,不管是靠它找工作以此謀生還是作為一個愛好,對你生活和工作的發展都很有幫助。

所以,想出國、想到外企工作的人就要學好英語,而想當程式員,拿高薪,迎娶白富美的你(男生),學好Java就很大程度上能幫你實現。
當然了,你也可以選擇學其他語言,不一定非得是Java,只是相對來說,學Java的人比較多些,學Java出身做程式員的叫做Java程式員。

可能有人想說,學的人這麼多,豈不是競爭也很大啊。
是的,競爭非常大,但是通往成功的路上並不擁擠,因為很多人由於堅持不下去而放棄了,堅持到最後的人很少,所以,要成功,那就做那個堅持到最後的人。

好了,廢話不多說了,正式開始介紹Java。


1、Java誕生及其發展簡史

1991年,SUN公司的Green項目,播下了Java語言的種子,當時Java還不叫Java,叫Oak。
1995年年初,Sun公司發佈了Java語言,開源免費給大家使用,短短幾個月內,Java受到了大家的廣泛喜愛,成為了互聯網上最熱門的寶貝。

但是,此時的Java還不能開發複雜的應用程式,要開發的話,必須要有一個強大的開發類庫。
因此,Sun公司在1996年發佈了JDK1.0。

有了這個東西,我們就能使用Java開發複雜的應用程式了。
在接下來幾年裡,Sun公司陸續又接著發佈了JDK1.1、JDK1.2,而1998年12月JDK1.2的發佈是Java歷史上最重要的一個版本,這次將Java分成了J2SE、J2EE、J2ME三個版本。

三個版本之間的關係如下:

J2SE是Java技術的基礎和核心,也是其他兩個版本的基礎,初學Java就是從J2SE學起的。
J2EE是Java技術中應用最廣泛的部分,主要用於企業級應用的開發。
J2ME則主要用於控制移動設備和信息家電等有限存儲的設備(實際開發中用的比較少,瞭解即可)。

這個版本的發佈,標志著Java吹響了向桌面、企業、移動三個領域進軍的號角

2004年10月,Sun公司發佈了萬眾期待的JDK1.5,並將JDK1.5改名為JavaSE 5.0,同樣的,J2EE和J2ME也改名為JavaEE和JavaME。

2009年4月,Oracle宣佈收購Sun,從此Java成了Oracle公司的資產,而Sun公司也永遠的消失了,但Sun公司創造的傳奇是老一輩程式員心中的懷念。

……此處省略部分歷史

經過二十多年的發展,至今Java已經成為互聯網上最受歡迎的編程語言了。如今JDK的最新版本已經到JDK13了,並且還在不斷的發展中。

 

2、學好Java具體能夠做什麼呢?

可以做軟體,分為三類,電腦桌面應用和網頁版應用,還有移動客戶端程式。

   但是現在有專門搞移動端的安卓開發和IOS開發了,所以Java主要應用於前兩個領域(用的最多的還是網頁版應用開發,也就是前面提到的企業級應用),不過學安卓開發也是要有Java基礎的,IOS開發就要學別的東西了。

 

3、Java語言的特性

  • 簡單易用
  • 面向對象
  • 安全性高
  • 支持多線程
  • 跨平臺

簡單易用:任何事物都是相對的,Java相對C、C++來說要簡單易學,容易上手,但是這不代表學好也比它們容易。
跨平臺:我們稱能夠支持程式運行的硬體或軟體環境為平臺,各操作系統也是軟體,所以Windows、Linux、Mac都可以稱之為一個平臺。

Java程式不是直接運行在操作系統上,而是運行在一個叫做Java虛擬機(Java Virtual Machine,簡稱JVM)的虛擬電腦上。
Java針對不同的系統有不同的JVM實現,只要你的系統中安裝了對應的JVM,就能運行Java程式,而不依賴於操作系統。

簡單點說就是,你拿一個Java程式,在Windows、Linux、Mac上都能運行,只要它們各自都安裝了JVM。

JVM是Java語言的運行環境,也是Java 最具吸引力的特性之一

JVM用於讀取並處理編譯過的與平臺無關的位元組碼文件,從而實現Java的可移植性。(位元組碼文件後面會講到)。
但是值得註意的是Java虛擬機是不跨平臺的,也就是說在Windows下得裝Windows版的JVM,在Linux下裝Linux版的JVM,在Mac下得裝Mac版的JVM。

 

文章首發於同名微信公眾號:譚少學Java

這是我在博客園的第一篇博客,以後的Java學習、更博之路還很漫長,感興趣的老鐵可以關註一波。

 


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

-Advertisement-
Play Games
更多相關文章
  • 學習要求: 知道一點兒函數式介面和Lambda表達式的基礎知識,有利於更好的學習。 1.先體驗一下Stream的好處 需求:給你一個ArrayList用來保存學生的成績,讓你列印出其中大於60的成績。 解決方案二: 使用Stream流操作,只需要一行代碼 2.什麼是Stream流? 在Jdk1.8中 ...
  • 一、 Calendar解析 package com.bjpowernode.java_learning; import java.util.Date; import java.text.ParseException; import java.text.SimpleDateFormat; import ...
  • MySQL在SQL中,合理的別名可以讓SQL更容易以及可讀性更高。別名使用as來表示,可以分為表別名和列別名,別名應該是先定義後使用才對,所以首先要瞭解sql的執行順序(1) from(2) on(3) join(4) where(5) group by(開始可以使用select的別名,後面的也行) ...
  • /** * 查詢還沒生成索引的帖子 * @return */ @Query(value = "SELECT * FROM t_article WHERE index_state=0",nativeQuery = true) public List<Article> getArticleNoIndex ...
  • 聯表查詢: SELECT t1.user_Name FROM t_user AS t1 , t_comment AS t2 WHERE t2.user_id=t1.id 結果如圖: 加上GROUP BY user_name(SELECT t1.user_Name FROM t_user AS t1 ...
  • 前一期博文中,初步探索了numpy中矩陣的幾種運算操作,本文將展示numpy矩陣的元素抽取與合併操作。 1 元素抽取 在我們使用矩陣的時候,有時需要提取出矩陣的某些位置上的元素單獨研究,這時就需要熟悉矩陣元素的定位操作。 1.1 提取單個元素 從上圖中可以看到:矩陣的行列次序是從零開始的,即代碼中矩 ...
  • pip install mitmproxy Man In The Middle 原理 mitmproxy工程工具包,主要包含了3個組件 功能一致,交互界面不同 mitmproxy:命令行界面,window不支持 mitmdump:命令行介面,可以對接python腳本,通過腳本實現監聽後的處理,可定製 ...
  • 本次講解函數,由於內容比較多,小編列了個大綱,主要有一下內容: 1. 函數基本語法及特性 2. 函數參數 3.局部變數 4. 返回值 5.嵌套函數 6.遞歸 7.匿名函數 8.高階函數 9.內置函數 1. 函數基本語法及特性 函數的定義:函數是指將一組語句的集合通過一個名字(函數名)封裝起來,要想執 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...