Bagi pulau di Indonesia, lihat Jawa.

**Java** ialah sebuah bahasa pengaturcaraan pengaturcaraan berorientasi objek yang dibangunkan oleh James Gosling dan rakan-rakan sekerjanya di Sun Microsystems pada awal 1990-an. Tidak seperti kebiasaan bahasa pengaturcaraan lain yang direka bentuk untuk dikompil kepada kod mesin ataupun diterjemah terus dari kod sumber semasa masa jalanan, Java dikhaskan untuk dikompil kepada kod bait (ia boleh juga dikompil kepada kod mesin menggunakan gcj), yang mana ia akan dilaksanakan (biasanya menggunakan kompilasi JIT (*just in time*)) oleh Mesin Maya Java (JVM).

Bahasa pengaturcaraan Java banyak meminjam sintaks daripada C dan C++ tetapi mempunyai model objek yang mudah dan kurangnya fasiliti aras-rendah.

Java sebenarnya tiada kaitan dengan JavaScript walaupun kedua-duanya mempunyai nama yang sama dan berkongsi sintaks yang seakan-akan C.

Contoh
------

```
// Indah.java
public class Indah {
 public static void main(String[] args) {
 System.out.println("Indahnya Dunia!"); 
 } 
}

```

Setiap program Java hendaklah mempunyai paling kurang 1 class. Program Java bermula dengan main method iaitu 

```
public static void main(String[] args)

```
.

Kata kunci 

```
public

```
 ialah access modifier. Kata kunci 

```
static

```
 membolehkan sesuatu method itu diakses tanpa perlu membuat objek. 

```
System.out.println();

```

System ialah class
Out ialah objek. 
Println ialah method.

Sintaks
-------

Sintaks Java serupa dengan sintaks C yang menggunakan kurungan beralun untuk memisahkan blok-blok kod.

### Pengenalpasti

Java membenarkan pengenalpasti yang bukan kata simpanan, bermula dengan huruf, garis bawah (`_`) ataupun tanda dollar (`$`). Di samping itu, Java turut menykong pengenalpasti unikod. Contoh berikut adalah contoh pengenalpasti yang sah:

```
int nombor = 1;
double π = 3.14159;
Orang $seseorang = new Orang();
boolean \_biar = true;
boolean \_123 = false;

```

Manakala, yang berikut adalah salah:

```
int int = 1;
String 123 = "Hai!";

```

### Pengulangan

Dalam Java, pengulangan (*looping*) boleh dilakukan dengan menggunakan gelung `for`, `while` atau `do ... while`.

Gelung `for`
Gelung `for` boleh digunakan dalam dua cara iaitu; sama seperti sintaks C,

```
for (int i = 0; i < akhir; i++) {
 // Buat sesuatu.
}

```

atau

```
for (Benda benda : senaraiBenda) {
 // Buat sesuatu.
}

```

Dalam sintaks yang pertama, `for` disertakan dengan tiga ungkapan yang dipisahkan dengan tanda koma bertitik (`;`). Unkapan yang pertama ialah penugasan awal pembolehubah, yang kedua ialah syarat akhir gelung, dan yang ketiga ialah penugasan semula pemboleh ubah. Gelung di atas dapat diungkapkan sebagai "Buat sesuatu bagi *i* bermula dengan nilai 0, hingga *i* kurang daripada nilai *akhir*, dan *i* ditambah satu setiap kali diulang".

Sintaks yang kedua pula terbahagi kepada dua bahagian yang dipisahkan dengan titik bertindih (`:`). Bahagian pertama ialah pengisytiharan pembolehubah gelung, manakala yang kedua ialah pembolehubah yang ingin dilelarkan. Gelung di atas boleh diungkapkan sebagai "Buat sesuatu bagi setiap *benda* dalam *senaraiBenda*".

Kelebihan
---------

* Mudah untuk dipelajari. Bagi mereka yang sudah mengetahui bahasa pengaturcaraan C atau C++, bahasa Java menjadi mudah dipelajari, disebabkan sintaks yang banyak persamaan.

* Tulis kurang kod. Program yang ditulis menggunakan Java biasanya empat kali lagi kurang kod berbanding jika ia ditulis menggunakan C++.

* Tulis kod lagi baik. Disebabkan Java ialah bahasa pengaturcaraan yang berorentasikan objek, penggunaan semula kod yang sudah pun ditulis memperbolehkan kadar kesalahan kod dapat dikurangkan.

* Pembangunan program-program lagi cepat. Menggunakan Java juga memperbolehkan pembangunan program yang lagi cepat dilakukan dan jumlah baris kod yang lagi kurang diperlukan.

* Mengelakkan kebergantungan platform. Program yang dibangunkan oleh bahasa java ialah program yang dapat dilarikan dimana-mana platform.

Versi
-----

Versi utama Java dengan tarikh dilancarkan:

* JDK 1.0 (23 Januari 1996)
* JDK 1.1 (19 Februari 1997)
* J2SE 1.2 (8 Desember 1998)
* J2SE 1.3 (8 Mei 2000)
* J2SE 1.4 (6 Februari 2002)
* J2EE 5.0 (30 September 2004)
* Java SE 6 (11 December 2006)
* Java SE 7 (28 Julai 2011)
* Java SE 8 (18 Mac 2014)
* Java SE 9 (22 September 2017)
* Java SE 10 (Mac 2018)
* Java SE 11 (September 2018)
* Java SE 12 (Mac 2019)
* Java SE 13 (September 2019)
* Java SE 14 (Mac 2020)
* Java SE 15 (September 2020)
* Java SE 16 (Mac 2021)
* Java SE 17 (LTS) (September 2021)
* Java SE 18 (Mac 2022)
* Java SE 19 (September 2022)
* Java SE 20 (Mac 2023)
* Java SE 21 (LTS) (September 2023)

Perisian Pembangunan Java
-------------------------

Penghasilan perisian menggunakan bahasa Java boleh dilakukan dengan berbantukan perisian persekitaran pembangunan java (Java IDE). Salah satu perisian popular tersebut ialah Netbean dan ia percuma. Perisian ini bukan sahaja memperbolehkan kita melakukan kerja-kerja pengaturcaraan biasa, malah program ini juga menyokong konsep pembangunan perisian mengunakan kaedah terkini seperti menggunakan UML. Melalui kaedah UML, pembangun perisian cuma perlu merekacipta model dan kod java dijana oleh perisian. Kitar pembangunan perisian menjadi sangat pantas.

Lihat juga
----------

|  |  |
| --- | --- |
| * Javapedia
* JavaOne
* JavaOS
* Java Posse
* Join Java
* Perbandingan bahasa-bahasa pengaturcaraan
* Penyusun kod bait C ke Java
 | * Persijilan Profesional Sun
* Senarai API Java
* Senarai bahasa penskripan Java
* Senarai mesin maya Java
* Sejarah ringkas perkembangan bahasa Java
* Sejarah ringkas versi Java
 |

Rujukan
-------

1. ↑   Gosling dan McGilton. "Sekitaran Bahasa Java", Mei 1996
2. ↑  Java 5.0 menambahkan banyak ciri bahasa yang baru (foreach (untuk gelung), pengkotakan automatik (*autoboxing*), varargs dan anotasi), selepas ia diperkenalkan ke dalam bahasa C# yang serupa (dan yang bersaingan).

Pautan luar
-----------

WikiversityWikiversity
Di Wikiversity, anda boleh mempelajari tentang: ***Java Platform, Enterprise Edition/Java EE Tutorial***

* Takrifan kamus *Java* di Wikikamus
* Media berkenaan Java di Wikimedia Commons
* Java di Wikibuku
* Bahan pembelajaran berkenaan Java di Wikiversiti
* Laman rasmi Java
* Full Java Tutorial
* **Universiti Utara Malaysia:** Pengaturcaraan Awal Java dan Pengenalan kepada Java

| * l
* b
* s
Bahasa pengaturcaraan |
| --- |
| 
* Perbandingan
* Glosari

 |
| 
* ALGOL
* APL
* Ada
* BASIC
* C
* C++
* C#
* COBOL
* Common Lisp
* Eiffel
* FORTH
* Fortran
* Haskell
* Java
* JavaScript
* Jython
* LISP
* LOGO
* Mesa
* Modula-2
* Oberon
* OCaml
* Objective-C
* Perl
* PHP
* Prolog
* PL/I
* Pascal
* PostScript
* Python
* Ruby
* Scheme
* Smalltalk
* SQL
* Tcl
* Visual Basic

 |
| 
* Kategori Kategori
* List-Class article Senarai

 |