搜尋
首頁Javajava教程Java 初學者 - 簡介:介紹、基礎與實踐 #Cap1

Java Para Iniciantes - Introdução: Introdução, Fundamentos e Prática #Cap1

  • 第 1 章中的重要訊息
    • Java 簡介及其重要性
  • Java的演變
  • 主要特點
  • 為什麼在 2024 年選擇 Java?
  • 貢獻
  • 字節碼
  • POO
  • 資料類型
  • 轉換和良好的語言實踐
  • 重複塊和結構
  • 識別符
  • 圖書館
  • 處理語法錯誤
  • 我的第一個程序

第 1 章中的重要訊息

由 Sun Microsystems 於 1995 年創建。

普及了「一次編寫,隨處運作」(WORA) 概念。

1.Java簡介及其重要性

Java 的歷史和動機:本章介紹了 Java 的創建、它在 1995 年的起源,以及它成為如此流行和可靠的語言的原因,特別是在企業系統、行動裝置和物聯網領域。

Java 是一種強大的、進階的、物件導向的程式語言,廣泛用於企業應用程式、企業系統、Web 和行動應用程式的開發。它由 Sun Microsystems(現為 Oracle 所有)開發,以其可移植性、安全性和對多線程的強大支援而聞名。 Java 具有高度可擴展性,並擁有龐大的庫生態系統、Spring 和 Hibernate 等框架以及 Maven 和 Gradle 等整合工具。該語言也因其高效的處理能力和本機執行的可靠性而在企業環境中使用。此外,Java 支援不同的架構和作業系統,使其成為開發健壯且可擴展的軟體的熱門選擇。

Java的演化

從頭開始總結主要功能!

# Java 1.0 (1995) – O Começo ?
- Write Once, Run Anywhere (WORA)
- Suporte a:
  - Applets
  - Multithreading básico

# Java 1.2 (1998) – Java 2 e a Revolução ?
- Swing: Nova biblioteca para GUIs
- Collections Framework: Estruturas como ArrayList e HashMap
- JIT Compiler: Melhor desempenho

# Java 1.4 (2002) – Robustez e Desempenho ?
- Assertions para depuração
- Pacote java.nio: Melhorias no I/O
- Expressões Regulares (java.util.regex)

# Java 5 (2004) – Modernização da Linguagem ?
- Generics: List<string> 
- Enhanced for-loop: for (int i : array)
- Annotations: @Override
- Enums e Varargs
- Concurrent API: Melhor suporte a threads

# Java 6 (2006) – Refinamentos ?️
- Melhor desempenho da JVM
- Compiler API (javax.tools)
- Java Scripting API: Integração com JavaScript

# Java 7 (2011) – Simplificação e Eficiência ⚡
- Try-with-resources: Gerenciamento automático de recursos
- Switch com Strings
- Multi-catch em exceções
- NIO.2: Melhor manipulação de arquivos

# Java 8 (2014) – Programação Funcional ?
- Lambdas: (x) -> x * 2
- Streams API: Processamento declarativo de coleções
- Optional: Lidar com null de forma segura
- API de Data e Hora (java.time)
- Default Methods: Métodos padrão em interfaces

# Java 9 (2017) – Modularização ?
- JPMS: Java Platform Module System
- JShell: REPL para experimentaçã
</string>

主要特點:

  • 可移植性(一次編寫,隨處運行 - WORA)。
  • 強大的打字能力和安全性。
  • 支援多執行緒和物件導向程式設計。

為什麼在 2024 年選擇 Java?

Java 和 Python 的比較。
|特色 |爪哇 | Python |
|----------------------|-------------------------- -- ---|--------------------------------------------------------|
| 範式 |物件導向 |多範式 |
| 語法風格|更嚴格的語法 |更靈活的語法 |
| 執行速度 |快速本機執行 |比 Java 原生運行稍慢 |
| 相容性 |非常好,特別適合企業應用|適合 Web 應用程式和腳本編寫 |
| 社區 |大型、強大的社區 |活躍而廣泛的社區 |
| 生態系 |大生態系 |包含框架、庫和模組的廣泛生態系 |
| 企業用途 |企業大力使用 |廣泛應用於資料科學、機器學習、Web 開發 |
| 應用程式類型|企業應用程式、後端、嵌入式系統| Web、資料科學、自動化、腳本 |
| 性能 |更好的原生性能 |為快速開發和原型設計提供更好的性能 |
| 記憶體需求|記憶體使用量增加 |降低記憶體使用量|
| 市場進入| 1995年推出|於 1991 年推出 |
| 網路選擇 |廣泛用於後端 |流行於 Web 開發 |
| 容易學習|對初學者來說有點困難|初學者更容易 |
| 安全 |不錯,有幾個安全機制|很好,但在 Web 應用程式中可能需要額外小心 |
| 多線程 |對多線程的強大支援|支援多線程,但在某些情況下可能效率較低 |

貢獻

  • 引入字節碼以實現可移植性。
  • 物件導向程式設計 (OOP) 和安全性的進步。

位元組碼

- 字節碼:JVM 執行的中間程式碼。

POO

  • OOP(物件導向程式設計): 一種圍繞物件組織程式碼的程式設計範例。
    • 四大支柱:
      • 抽象
      • 繼承
      • 多態性
      • 封裝

資料類型

  • 基本型,如 int、double、char。
# Java 1.0 (1995) – O Começo ?
- Write Once, Run Anywhere (WORA)
- Suporte a:
  - Applets
  - Multithreading básico

# Java 1.2 (1998) – Java 2 e a Revolução ?
- Swing: Nova biblioteca para GUIs
- Collections Framework: Estruturas como ArrayList e HashMap
- JIT Compiler: Melhor desempenho

# Java 1.4 (2002) – Robustez e Desempenho ?
- Assertions para depuração
- Pacote java.nio: Melhorias no I/O
- Expressões Regulares (java.util.regex)

# Java 5 (2004) – Modernização da Linguagem ?
- Generics: List<string> 
- Enhanced for-loop: for (int i : array)
- Annotations: @Override
- Enums e Varargs
- Concurrent API: Melhor suporte a threads

# Java 6 (2006) – Refinamentos ?️
- Melhor desempenho da JVM
- Compiler API (javax.tools)
- Java Scripting API: Integração com JavaScript

# Java 7 (2011) – Simplificação e Eficiência ⚡
- Try-with-resources: Gerenciamento automático de recursos
- Switch com Strings
- Multi-catch em exceções
- NIO.2: Melhor manipulação de arquivos

# Java 8 (2014) – Programação Funcional ?
- Lambdas: (x) -> x * 2
- Streams API: Processamento declarativo de coleções
- Optional: Lidar com null de forma segura
- API de Data e Hora (java.time)
- Default Methods: Métodos padrão em interfaces

# Java 9 (2017) – Modularização ?
- JPMS: Java Platform Module System
- JShell: REPL para experimentaçã
</string>
  • 特定物件和值範圍。

轉換和良好的語言實踐

  • 隱式或明確轉換(強制轉換)。
  • 清晰的名稱和註釋的使用以提高可讀性。

重複塊和結構

  • 區塊用 {} 組織部分;結構包括 for、while、do-while。
  • 基於條件的重複執行的要點。

識別符

  • 命名變數、方法和類別。
  • 遵循約定(例如變數採用駝峰命名法,類別採用帕斯卡命名法)。

圖書館

  • 包括 java.util 和 java.io 等標準庫。
  • 程式碼重複使用和複雜性降低。

處理語法錯誤

  • 常見錯誤,例如忘記;或 {}。
  • 錯誤訊息有助於偵錯。
  • Try Catch:是一種程式設計結構,允許程式設計師在不可預見的情況下控製程式碼執行流程

    public class TiposDeDadosExample {
        public static void main(String[] args) {
            int numero = 10;       // Tipo inteiro
            double pi = 3.14159;   // Tipo decimal
            char letra = 'A';      // Tipo caractere
            boolean verdadeiro = true;  // Tipo booleano
    
            System.out.println("Número: " + numero);
            System.out.println("Valor de pi: " + pi);
            System.out.println("Letra: " + letra);
            System.out.println("Valor booleano: " + verdadeiro);
        }
    }
    

我的第一個程序

  • 基本範例,例如「Hello, World!」作介紹。 >你好世界
try {
int result = 10 / 0;  // Possível erro de execução
} catch (ArithmeticException e) {
    System.out.println("Erro: " + e.getMessage());
}
  • main方法的使用並透過終端執行。
  • Java 中物件的類別範例
public class OláMundo {
    public static void main(String[] args) {
        System.out.println("Olá, Mundo!");
    }
}

好好學習!祝旅途愉快。

上一個主題

  • JAVA 初學者:一般準則與環境設定

下一個主題

  • JAVA 初學者:CACP 2

以上是Java 初學者 - 簡介:介紹、基礎與實踐 #Cap1的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JVM如何處理操作系統API的差異?JVM如何處理操作系統API的差異?Apr 27, 2025 am 12:18 AM

JVM通過JavaNativeInterface(JNI)和Java標準庫處理操作系統API差異:1.JNI允許Java代碼調用本地代碼,直接與操作系統API交互。 2.Java標準庫提供統一API,內部映射到不同操作系統API,確保代碼跨平台運行。

Java 9影響平台獨立性中引入的模塊化如何?Java 9影響平台獨立性中引入的模塊化如何?Apr 27, 2025 am 12:15 AM

modularitydoesnotdirectlyaffectJava'splatformindependence.Java'splatformindependenceismaintainedbytheJVM,butmodularityinfluencesapplicationstructureandmanagement,indirectlyimpactingplatformindependence.1)Deploymentanddistributionbecomemoreefficientwi

什麼是字節碼,它與Java的平台獨立性有何關係?什麼是字節碼,它與Java的平台獨立性有何關係?Apr 27, 2025 am 12:06 AM

BytecodeinJavaistheintermediaterepresentationthatenablesplatformindependence.1)Javacodeiscompiledintobytecodestoredin.classfiles.2)TheJVMinterpretsorcompilesthisbytecodeintomachinecodeatruntime,allowingthesamebytecodetorunonanydevicewithaJVM,thusfulf

為什麼Java被認為是一種獨立於平台的語言?為什麼Java被認為是一種獨立於平台的語言?Apr 27, 2025 am 12:03 AM

javaachievesplatformIndependencEthroughThoJavavIrtualMachine(JVM),wodecutesbytecodeonyanydenanydevicewithajvm.1)javacodeiscompiledintobytecode.2)

圖形用戶界面(GUIS)如何提出Java平台獨立性的挑戰?圖形用戶界面(GUIS)如何提出Java平台獨立性的挑戰?Apr 27, 2025 am 12:02 AM

JavaGUI開發中的平台獨立性面臨挑戰,但可以通過使用Swing、JavaFX,統一外觀,性能優化,第三方庫和跨平台測試來應對。 JavaGUI開發依賴於AWT和Swing,Swing旨在提供跨平台一致性,但實際效果因操作系統不同而異。解決方案包括:1)使用Swing和JavaFX作為GUI工具包;2)通過UIManager.setLookAndFeel()統一外觀;3)優化性能以適應不同平台;4)使用如ApachePivot或SWT的第三方庫;5)進行跨平台測試以確保一致性。

Java開發的哪些方面取決於平台?Java開發的哪些方面取決於平台?Apr 26, 2025 am 12:19 AM

JavadevelovermentIrelyPlatForm-DeTueTososeVeralFactors.1)JVMVariationsAffectPerformanceNandBehaviorAcroSsdifferentos.2)Nativelibrariesviajnijniiniininiinniinindrododerplatefform.3)

在不同平台上運行Java代碼時是否存在性能差異?為什麼?在不同平台上運行Java代碼時是否存在性能差異?為什麼?Apr 26, 2025 am 12:15 AM

Java代碼在不同平台上運行時會有性能差異。 1)JVM的實現和優化策略不同,如OracleJDK和OpenJDK。 2)操作系統的特性,如內存管理和線程調度,也會影響性能。 3)可以通過選擇合適的JVM、調整JVM參數和代碼優化來提升性能。

Java平台獨立性有什麼局限性?Java平台獨立性有什麼局限性?Apr 26, 2025 am 12:10 AM

Java'splatFormentenceHaslimitations不包括PerformanceOverhead,versionCompatibilityIsissues,挑戰WithnativelibraryIntegration,Platform-SpecificFeatures,andjvminstallation/jvminstallation/jvmintenance/jeartenance.therefactorscomplicatorscomplicatethe“ writeOnce”

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具