Java從入門到“放棄”(精通)之旅——啟航①

🌟Java從入門到“放棄 ”精通之旅🚀

今天我將要帶大家一起探索神奇的Java世界!希望能幫助到同樣初學Java的你~ (??????)??

🔥 Java是什么?為什么這么火?

Java不僅僅是一門編程語言,更是一個完整的技術體系!它由Sun公司(現Oracle)在1995年推出,憑借"Write Once, Run Anywhere"的理念迅速風靡全球。

Java語言發展史 在這里插入圖片描述

看看2017年12月和2018年10月最新的TIOBE編程語言社區排行榜就知道Java有多受歡迎了:
在這里插入圖片描述

排名語言市場份額
1Java17.801%
2C15.376%
3C++7.593%

? 小知識:Java最初叫Oak(橡樹),因為創始人James Gosling辦公室外有一棵橡樹🌳

💼 Java能做什么?就業方向有哪些?

學Java不愁找工作!主要應用領域包括:

  • 🏢 企業級系統:銀行、電信等大型系統
  • 🌐 Web開發:京東、淘寶等電商平臺
  • 📱 Android開發:80%的安卓APP用Java開發
  • 📊 大數據:Hadoop、Spark等大數據框架
  • 🎮 游戲開發:Minecraft就是用Java寫的!

? Java的11大特性

1. 簡單性:比C++更簡潔,沒有指針等復雜概念

  • Java語法是C++語法的一個“純凈版本”,相當于對C++做了一個減法。這里沒有頭文件、指針運算(甚至指針語法)、結構、聯合、操作符重載、虛基類等等。不僅如此,Java開發環境遠遠超出大多數其他編程語言的開
    發環境。

2. 面向對象:一切皆對象!🐶🐱

  • 比如:人、狗、手機、電腦等都是對象。所謂面相對象,就是依靠對象之間的交互來完成事情,比如:人用手機網上購物,狗吃骨頭…

3. 可移植:Java規范中沒有“依賴具體實現的地方

  • 基本數據類型的大小以及有關運算都做了明確的說明。例如,Java中的int永遠是32位的整數,而在C/C++中,int可能是16位整數、32位整數,也可能是編譯器提供商指定的其他大小。在Java中,數據類型具有固定的大小,這消除了代碼移植時令人頭疼的主要問題。

4. 健壯性:自動內存管理,告別內存泄漏

  • Java與C++最大的不同在于Java采用的指針模型可以消除重寫內存和損壞數據的可能性(對于曾經花費幾個小時來檢查由于指針bug而引起內存沖突的人來說,一定很喜歡Java的這一特性)。不僅如此,Java編譯器能夠檢測許多在其他語言中僅在運行時才能夠檢測出來的問題。

5. 多線程:輕松處理高并發

  • Java在當時很超前。它是第一個支持并發程序設計的主流語言。多線程可以帶來更好的交互響應和實時行為。并發程序設計絕非易事,但是Java在這方面表現出色,可以很好的管理這個工作。

6. …(還有更多等你探索!)

🛠? 開發環境搭建

安裝JDK是第一步!

  1. 可能是Windows下最簡單的Java
  2. 環境安裝指南Linux下JDK的安裝(多種方式)
  3. Mac下JDK的安裝
# 檢查安裝是否成功
java -version
javac -version

?? 注意配置環境變量哦!PATH和JAVA_HOME都要設好~

🎯 第一個Java程序:Hello World

Java是一門半編譯型、半解釋型語言。先通過javac編譯程序把源文件進行編譯,編譯后生成的.class文件是由字節碼組成的平臺無關、面向JVM的文件。最后啟動java虛擬機來運行.class文件,此時JVM會將字節碼轉換成平臺能夠理解的形式來運行。
在這里插入圖片描述

/*** 我的第一個Java程序* @author 你的名字*/
public class HelloWorld {/** main方法是程序入口*/public static void main(String[] args) {// 打印Hello World!System.out.println("Hello, World!"); }
}

編譯運行步驟:

  1. 保存為HelloWorld.java
  2. 編譯:javac HelloWorld.java
  3. 運行:java HelloWorld

📝 Java三大注釋類型

  1. 單行注釋// 我是注釋
  2. 多行注釋/* 我是多行注釋 */
  3. 文檔注釋/** 我是文檔注釋 */(可以用javadoc生成文檔)

注釋規范

  1. 內容準確: 注釋內容要和代碼一致, 匹配, 并在代碼修改時及時更新
  2. 篇幅合理: 注釋既不應該太精簡, 也不應該長篇大論.
  3. 使用中文: 一般中國公司都要求使用中文寫注釋, 外企另當別論.
  4. 積極向上: 注釋中不要包含負能量(例如 不想工作,想躺平等).
# 生成API文檔
javadoc -d doc HelloWorld.java

🏷? 標識符命名規則

在上述程序中,Test稱為類名,main稱為方法名,也可以將其稱為標識符,即:在程序中由用戶給類名、方法名或者變量所取的名字。

  • 硬性規則

    • 不能以數字開頭
    • 不能是關鍵字
    • 區分大小寫
  • 軟性建議(團隊協作很重要!):

    • 類名:大駝峰,如HelloWorld
    • 方法/變量:小駝峰,如getUserName
    • 常量:全大寫_連接,如MAX_SIZE

🔑 Java關鍵字大全

Java有50+個關鍵字,先認識幾個常用的:

類別關鍵字示例
訪問控制public, private, protected
類相關class, interface, extends
流程控制if, else, for, while
異常處理try, catch, finally

在這里插入圖片描述
? 注意:關鍵字不能用作標識符!

💡 學習建議

  1. 多敲代碼!光看不動手=學不會游泳只看書🏊
  2. 遇到報錯別慌,這是進步的機會💪
  3. 堅持寫注釋和文檔,三個月后的你會感謝現在認真的自己
  4. 加入Java學習社群,互相督促成長

?【面試題】JDK、JRE、JVM之間的關系?

解答:

  1. JDK(Java Development Kit):Java開發工具包,提供給Java程序員使用,包含了JRE,同時還包含了編譯器javac與自帶的調試工具Jconsole、jstack等。
  2. JRE(Java Runtime Environment):Java運行時環境,包含了JVM,Java基礎類庫。是使用Java語言編寫程序運行的所需環境。
  3. JVM:Java虛擬機,運行Java代碼
    在這里插入圖片描述

🌈 總結

Java是一門強大而優雅的語言,無論是就業還是個人成長都是絕佳選擇。從今天開始,讓我們一起在Java的世界里探索吧!下次我會帶來Java基礎語法的詳細講解,敬請期待~

互動時間:你學Java的目的是什么?評論區告訴我吧!👇


💌 PS:如果覺得有幫助,別忘了點贊收藏哦!你的支持是我更新的最大動力~
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76386.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76386.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76386.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

三相電為什么沒零線也能通電

要理解三相電為什么沒零線也能通電,就要從發電的原理說起 1、弧形磁鐵中加入電樞,旋轉切割磁感線會產生電流 隨著電樞旋轉的角度變化,電樞垂直切割磁感線 電樞垂直切割磁感線,此時會產生最大電壓 當轉到與磁感線平行時&#xf…

文件上傳做題記錄

1,[SWPUCTF 2021 新生賽]easyupload2.0 直接上傳php 再試一下phtml 用蟻劍連發現連不上 那就只要命令執行了 2,[SWPUCTF 2021 新生賽]easyupload1.0 當然,直接上傳一個php是不行的 phtml也不行,看下是不是前端驗證,…

【Pandas】pandas DataFrame head

Pandas2.2 DataFrame Indexing, iteration 方法描述DataFrame.head([n])用于返回 DataFrame 的前幾行 pandas.DataFrame.head pandas.DataFrame.head 是一個方法,用于返回 DataFrame 的前幾行。這個方法非常有用,特別是在需要快速查看 DataFrame 的前…

日語學習-日語知識點小記-構建基礎-JLPT-N4階段(1):承上啟下,繼續上路

日語學習-日語知識點小記-構建基礎-JLPT-N4階段(1):承上啟下,繼續上路 1、前言(1)情況說明(2)工程師的信仰2、知識點(1)普通形(ふつうけい)と思います(2)辭書形ことができます(3)Vたことがあります。(4)Vた とき & Vる とき3、單詞(1)日語單詞(2…

碼率自適應(ABR)相關論文閱讀簡報

標題:Quality Enhanced Multimedia Content Delivery for Mobile Cloud with Deep Reinforcement Learning 作者:Muhammad Saleem , Yasir Saleem, H. M. Shahzad Asif, and M. Saleem Mian 單位: 巴基斯坦拉合爾54890工程技術大學計算機科學與工程系 …

匯編語言:指令詳解

零、前置知識 1、數據類型修飾符 名稱解釋byte一個字節,8bitword單字,占2個字節,16bitdword雙字,占4個字節,32bitqword四字,占8個字節,64bit 2、關鍵詞解釋 ptr:它代表 pointer&a…

藍橋杯c ++筆記(含算法 貪心+動態規劃+dp+進制轉化+便利等)

藍橋杯 #include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std; //常使用的頭文件動態規劃 小藍在黑板上連續寫下從 11 到 20232023 之間所有的整數&#xff0c;得到了一個數字序列&#xff1a; S12345…

【C++算法】54.鏈表_合并 K 個升序鏈表

文章目錄 題目鏈接&#xff1a;題目描述&#xff1a;解法C 算法代碼&#xff1a; 題目鏈接&#xff1a; 23. 合并 K 個升序鏈表 題目描述&#xff1a; 解法 解法一&#xff1a;暴力解法 每個鏈表的平均長度為n&#xff0c;有k個鏈表&#xff0c;時間復雜度O(nk^2) 合并兩個有序…

Java中的注解技術講解

Java中的注解&#xff08;Annotation&#xff09;是一種在代碼中嵌入元數據的機制&#xff0c;不直接參與業務邏輯&#xff0c;而是為編譯器、開發工具以及運行時提供額外的信息和指導。下面我們將由淺入深地講解Java注解的概念、實現原理、各種應用場景&#xff0c;并通過代碼…

京東與喜茶關系破裂:切斷所有合作 禁止進入辦公場所

快科技4月10日消息&#xff0c;據報道&#xff0c;京東集團近日被曝出內部下發全員禁令&#xff0c;全面封殺喜茶產品進入辦公區域。 據知情人士透露&#xff0c;京東人力行政部門發布的通知明確規定&#xff1a;全國各職場禁止與喜茶品牌開展任何形式的合作&#xff1b;員工不…

+++++背到厭倦。持續更新

Spring IoC 的工作流程: 讀取 BeanDefinition: Spring 容器啟動時&#xff0c;會讀取 Bean 的配置信息 (例如 XML 配置文件、注解或 Java 代碼)&#xff0c;并將這些配置信息轉換為 BeanDefinition 對象。創建 Bean 實例: 根據 BeanDefinition 中的信息&#xff0c;Spring 容器…

如何在Git歷史中抹掉中文信息并翻譯成英文

如何在Git歷史中抹掉中文信息并翻譯成英文 在軟件開發和版本控制領域&#xff0c;維護一個清晰、一致的代碼歷史記錄是至關重要的。然而&#xff0c;有時我們可能會遇到需要修改歷史提交的情況&#xff0c;比如刪除敏感信息或修正錯誤。本文將詳細探討如何在Git歷史中抹掉中文…

21 天 Python 計劃:MySQL中DML與權限管理

文章目錄 前言一、介紹二、MySQL數據操作&#xff1a;DML2.1 插入數據&#xff08;INSERT&#xff09;2.1.1 插入完整數據&#xff08;順序插入&#xff09;2.1.2 指定字段插入數據2.1.3 插入多條記錄2.1.4 插入查詢結果 2.2 更新數據&#xff08;UPDATE&#xff09;2.3 刪除數…

微信小程序 -- 原生封裝table

文章目錄 table.wxmltable.wxss注意 table.js注意 結果數據結構 最近菜鳥做微信小程序的一個查詢功能&#xff0c;需要展示excel里面的數據&#xff0c;但是菜鳥找了一圈&#xff0c;也沒發現什么組件庫有table&#xff0c;畢竟手機端好像確實不太適合做table&#xff01; 菜鳥…

LangChain-輸出解析器 (Output Parsers)

輸出解析器是LangChain的重要組件&#xff0c;用于將語言模型的原始文本輸出轉換為結構化數據。本文檔詳細介紹了輸出解析器的類型、功能和最佳實踐。 概述 語言模型通常輸出自然語言文本&#xff0c;但在應用開發中&#xff0c;我們經常需要將這些文本轉換為結構化的數據格式…

【安全】加密算法原理與實戰

為了理解SSL/TLS原理&#xff0c;大家需要掌握一些加密算法的基礎知識。當然&#xff0c;這不是為了讓大家成為密碼學專家&#xff0c;所以只需對基礎的加密算法有一些了解即可。基礎的加密算法主要有哈希&#xff08;Hash&#xff0c;或稱為散列&#xff09;?、對稱加密(Symm…

MySQL 優化教程:讓你的數據庫飛起來

文章目錄 前言一、數據庫設計優化1. 合理設計表結構2. 范式化與反范式化3. 合理使用索引 二、查詢優化1. 避免使用 SELECT *2. 優化 WHERE 子句3. 優化 JOIN 操作 三、服務器配置優化1. 調整內存分配2. 調整并發參數3. 優化磁盤 I/O 四、監控與分析1. 使用 EXPLAIN 分析查詢語句…

LangChain4j(1):初步認識Java 集成 LLM 的技術架構

LangChain 作為構建具備 LLM 能力應用的框架&#xff0c;雖在 Python 領域大放異彩&#xff0c;但 Java 開發者卻只能望洋興嘆。LangChain4j 正是為解決這一困境而誕生&#xff0c;它旨在借助 LLM 的強大效能&#xff0c;增強 Java 應用&#xff0c;簡化 LLM 功能在Java應用中的…

Linux服務器安裝百度飛槳3.0(pip docker)

Linux安裝部署百度飛槳3.0 1.官方文檔指引2.確認服務器型號2.1 確認Python版本2.2 確認pip是否安裝2.3 確認計算平臺 3.本機安裝&#xff08;基于通過 pip 安裝&#xff09;3.1 下載安裝 PaddlePaddle3.2 安裝PaddleX3.2.1 安裝PaddleX3.2.2 命令行規范3.2.3 運行示例3.2.4 查看…

Spring Boot 自動加載流程詳解

前言 Spring Boot 是一個基于約定優于配置理念的框架&#xff0c;它通過自動加載機制大大簡化了開發者的配置工作。本文將深入探討 Spring Boot 的自動加載流程&#xff0c;并結合源碼和 Mermaid 圖表進行詳細解析。 一、Spring Boot 自動加載的核心機制 Spring Boot 的自動加…