Java Argument Comand Line

Java Argument Comand Line

Sebuah aplikasi Java dapat menerima sejumlah argumen dari command-line. Argumen dari command line memberikan kesempatan bagi user untuk mengatur operasi dari sebuah aplikasi dalam sekali pemanggilan program. User memasukkan argumen command line pada saat memanggil aplikasi dan menspesifikasikan argumen tersebut setelah nama dari class yang akan dijalankan.
Sebagai contoh, apabila Anda memiliki sebuah aplikasi Java dengan nama Sort, yang akan mengurutkan lima nomor, Anda dapat menjalankannya seperti berikut ini:
Perlu diperhatikan bahwa sebuah argumen dapat dipisahkan oleh ruang spasi. Pada bahasa pemrogr aman Java, jika kita akan memanggil sebuah aplikasi, sistem runtime akan memberikan argumen command-line ke method main yang dimiliki oleh aplikasi menggunakan sebuah array dari String. Lalu, setiap String di dalam array mewakili sebuah argumen commmand-line. Perhatikan deklarasi dari main method,
public static void main( String[] args )
Argumen yang diberikan kepada program Anda akan disimpan kedalam sebuah array String dengan identifier args. Pada contoh sebelumnya, argumen dari command-line yang akan diberikan kepada aplikasi sort command adalah sebuah array dengan lima buah String yaitu “5”,”4”,”3”,”2”, dan “1”. Anda dapat mengetahaui berapa banyak argumen dari command-line dengan cara melihat panjang dari attribute array.
Sebagai contoh,
int numberOfArgs = args.length;

Jika program Anda membutuhkan argumen command-line yang bertipe angka. Anda harus mengkonversi argumen String tersebut untuk merepresantasikan sebuah angka, misalnya “34” menjadi sebuah angka 34. Kode dibawah ini adalah sebuah potongan program untuk mengkonversi sebuah argumen command-line menjadi tipe integer.
int firstArg = 0;if (args.length > 0){firstArg = Integer.parseInt(args[0]);
}

parseInt akan melempar eksepsi NumberFormatException (ERROR) jika format args[0] tidak valid (bukan sebuah angka).

Argument Command-line di NetBeans

Untuk mengilustrasikan sebuah argumen yang diberikan dengan menggunakan NetBeans, marilah kita membuat sebuah program Java yang akan mencetak jumlah argumen dan argumen pertama diberikan pada program tersebut.
public class CommandLineExample
{
public static void main( String[] args ){
System.out.println("Number of arguments=" +
args.length);
System.out.println("First Argument="+ args[0]);
}
}

Sekarang, jalankan NetBeans, buat sebuah project yang baru, dan beri nama project ini CommanLineExample. Salin kode yang telah dituliskan diatas, kemudian dilakukan proses compile. Selanjutnya, ikutilah langkah-langkah berikut untuk memberikan argumen kepada program Anda dengan menggunakan NetBeans.
Klik di Projects (dilingkari dibawah)


Klik kanan icon CommanLineExample dan akan keluar sebuah pop-up menu. Lalu klik pada properties.


Dialog mengenai project properties akan tampil

 Kemudian, klik Run -> Running Project

Pada kolom bernama Arguments, tuliskan argumen yang Anda ingin masukkank edalam program. Dalam kasus ini kita akan mengetikkan 5 4 3 2 1. Kemudian, klik pada tombol OK.


 Kemudian, cobalah untuk menjalankan (RUN) progam Anda

Seperti yang dapat Anda lihat, keluaran dari program Anda adalah jumlah dari argumen yaitu 5, dimana argumen pertama juga memiliki nilai 5.



Read More

Java Array

Java Array


Pengenalan Array

Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian
berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian variabel, kita sering menggunakan sebuah tipe data beserta nama variabel atau identifier yang unik. Apabila kita ingin menggunakan variabel tersebut, kita akan memanggil dengan nama identifier-nya.
Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier berbeda untuk tiap variabel.
int number1;
int number2;
int number3;
number1 = 1;
number2 = 2;
number3 = 3;

Seperti yang dapat Anda perhatikan pada contoh diatas, kode tersebut akan sia-sia karena harus menginisialisasi dan menggunakan setiap variabel padahal sebenarnya variabel-variabel tersebut digunakan untuk tujuan yang sama. Pada bahasa pemrograman Java maupun di bahasa pemrograman yang lain, terdapat sebuah kemampuan untuk menggunakan satu variabel yang dapat menyimpan beberapa data dan memanipulasinya dengan lebih efektif. Tipe variabel inilah yang disebut sebagai  array.
array

Pendeklarasian Array

Array harus dideklarasikan seperti layaknya sebuah variabel. Pada saat mendeklarasikan array, anda harus membuat sebuah daftar dari tipe data, yang diikuti oleh sepasang tanda kurung [], lalu diikuti oleh nama identifier-nya. Sebagai contoh,
int []ages;
atau Anda dapat menempatkan sepasang tanda kurung [] sesudah nama identifier. Sebagai contoh,
int ages[];
Setelah pendeklarasian array , kita harus membuat array dan menentukan berapa panjangnya dengan sebuah konstruktor. Proses ini di Java disebut sebagai instantiation (istilah dalam Java yang berarti membuat). Untuk meng-instantiate sebuah obyek, kita membutuhkan sebuah konstruktor. Kita akan membicarakan lagi mengenai instantiate obyek dan pembuatan konstruktor pada bagian selanjutnya.
Sebagai catatan bahwa ukuran dari array tidak dapat diubah setelah anda
menginisialisasinya. Sebagai contoh :
//deklarasi
int ages[];
//instantiate obyek
ages = new int[100];
atau bisa juga ditulis dengan,
//deklarasi dan instantiate
obyek
int ages[] = new
int[100];

inisialisasi
Pada contoh diatas, pendeklarasian tersebut akan memberitahukan kepada compiler Java, bahwa identifier ages akan digunakan sebagai nama array yang berisi data bertipe integer, dan dilanjutkan dengan membuat atau meng-instantiate sebuah array baru yang terdiri dari 100 elemen.

Selain menggunakan sebuah pernyataan new untuk meng-instantiate array, Anda juga dapat mendeklarasikan, membangun, kemudian memberikan sebuah nilai pada array sekaligus dalam sebuah pernyataan.
Gambar 2: Inisialisasi Arrays
Sebagai contoh,
//membuat sebuah array yang berisi variabel-variabel//boolean pada sebuah identifier. Array ini terdiri dari 4//elemen yang diinisilisasikan sebagai value//{true,false,true,false}boolean results[] ={ true, false, true, false };//Membuat sebuah array yang terdiri dari penginisialisasian//4variabel double bagi value {100,90,80,75}double []grades = {100, 90, 80, 75};//Membuat sebuah array String dengan identifier days. Array//ini terdiri dari 7 elemen.String days[] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”,“Sun”};

Pengaksesan sebuah elemen array

Pada saat memasukkan nilai ke dalam array, sebuah nomor indeks atau subscript telah diberikan kepada tiap anggota array, sehingga program dan programmer
dapat mengakses setiap nilai pada array apabila dibutuhkan. Nilai indeks selalu dalam tipe integer, dimulai dari angka nol dan dilanjutkan ke angka berikutnya sampai akhir array. Sebagai catatan bahwa indeks didalam array dimulai dari 0 sampai dengan (ukuranArray-1).
Sebagai contoh,
//memberikan nilai 10 kepada elemen pertama array
ages[0] = 10;
//mencetak elemen array yang terakhir
System.out.print(ages[99]);

Perlu diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai yang disimpan dalam setiap anggota array akan diinisialisasi sebagai nol. Oleh karena itu, apabila Anda menggunakan tipe data seperti String, array tidak akan diinisalisasi menjadi string kosong “”. Untuk itu Anda tetap harus membuat String array secara eksplisit.
Berikut ini adalah contoh kode untuk mencetak seluruh elemen didalam array. Dalam contoh ini digunakanlah pernyataan for loop, sehingga kode kita menjadi lebih pendek.
public class ArraySample{
public static void main( String[] args ){
int[] ages = new int[100];
for( int i=0; i<100 ages="" i="" pre="" style="white-space: normal;" system.out.print="">

Panjang Array

Untuk mengetahui berapa banyak elemen didalam sebuah array, Anda dapat menggunakan atribut length dari array. Atribut ini akan mengembalikan ukuran dari array itu sendiri. Sebagai contoh,
arrayName.length
Pada contoh sebelumnya, kita dapat menuliskannya kembali seperti berikut ini,
public class ArraySample
{
public static void main( String[] args ){
int[] ages = new int[100];
for( int i=0; i

Array Multidimensi

Array multidimensi diimplementasikan sebagai array y an g t e r l e t a k di dalam array. Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah nama array. Sebagai contoh,
. Sebagai contoh,
// Elemen 512 x 128 dari integer array
int[][] twoD = new int[512][128];
// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];
// String array 4 baris x 2 kolom
String[][] dogs = {{ "terry", "brown" },
{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}
};
Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan mengakses array satu dimensi. Misalnya saja, untuk mengakses elemen pertama dari baris pertama didalam array dogs, kita akan menulis,
System.out.print( dogs[0][0] );
Kode diatas akan mencetak String “terry” di layar.

Read More

java-Mendapatkan input dari keyboard

java-Mendapatkan input dari keyboard

Menggunakan BufferedReader

Pada bagian ini, kita akan menggunakan class BufferedReader yang berada di package java.io untuk mendapatkan input dari keyboard.
Berikut ini adalah langkah-langkah yang diperlukan untuk mendapatkan input dari keyboard:
  1. Tambahkan di bagian paling atas code Anda: import java.io.*;
  2. Tambahkan statement berikutBufferedReader dataIn = new BufferedReader(new InputStreamReader( System.in) );
  3. Deklarasikan variabel String temporary untuk mendapatkan input, dan gunakan fungsi readLine() untuk mendapatkan input dari keyboard. Anda harus mengetikkannya di dalam blok try-catch:
try{
String temp = dataIn.readLine();
}
catch( IOException e ){
System.out.println(“Error in getting input”);
}

Berikut ini adalah source kode lengkapnya :
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class GetInputFromKeyboard
{
public static void main( String[] args ){
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
String name = "";
System.out.print("Please Enter Your Name:");
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
System.out.println("Hello " + name +"!");
}
}
Berikutnya akan penjelasan setiap baris dari code tersebut:
Statement,
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
menjelaskan bahwa kita akan menggunakan class BufferedReader, InputStreamReader dan IOException yang berada di java.io package. Java Application Programming Interface (API) berisi ratusan class yang sudah didefinisikan sebelumnya yang dapat digunakan untuk program Anda. Class-class tersebut dikumpulkan di dalam packages.
Packages berisi class yang mempunyai fungsi yang saling berhubungan. Seperti pada contoh di atas, java.io package mengandung class-class yang memungkinkan program untuk melakukan input dan output data. Pernyataan di atas juga dapat ditulis sebagai berikut :
import java.io.*;
yang akan mengeluarkan semua class yang berada dalam package, dan selanjutnya kita bisa menggunakan class-class tersebut dalam program kita.
Dua statement selanjutnya,
public class GetInputFromKeyboard
{
public static void main( String[] args ){
kita sudah mempelajari pada pelajaran sebelumnya. Pernyataan ini mendeklarasikan class bernama GetInputFromKeyboard dan kita mendeklarasikan method main.
Dalam statement,
BufferedReader dataIn = new BufferedReader(new
InputStreamReader( System.in) );
kita mendeklarasikan sebuah variabel bernama dataIn dengan tipe class BufferedReader. Jangan mengkhawatirkan tentang maksud dari syntax saat ini. Kita akan menjelaskannya pada akhir pembahasan.
Sekarang, kita akan mendeklarasikan variabel String dengan identifier name,
String name = "";
Pernyataan di atas merupakan tempat untuk menyimpan input dari user. Nama variabel diinisialisasi sebagai String kosong "". Sebaiknya kita selalu menginisialisasi sebuah variabel setelah kita mendeklarasikannya.
Baris berikutnya adalah memberikan output sebuah String pada layar yang menanyakan nama user.
System.out.print("Please Enter Your Name:");
Sekarang, blok di bawah ini merupakan try-catch block,
try{
name = dataIn.readLine();
}catch( IOException e ){
System.out.println("Error!");
}
Pada baris ini menjelaskan bahwa kemungkinan terjadi error pada pernyataan-
name = dataIn.readLine();
akan ditangkap. Kita akan membahas tentang penanganan exception pada bab selanjutnya dari pembahasan ini, tetapi untuk sekarang, Anda cukup mencatat bahwa Anda perlu menambahkan kode ini untuk menggunakan method readLine() dari BufferedReader untuk mendapatkan input dari user.

Selanjutnya kembali kepada pernyataan :
name = dataIn.readLine();
method diatas memanggil dataIn.readLine(), mendapatkan input dari user dan
memberikan sebuah nilai String. Nilai ini akan disimpan ke dalam variabel name, yang akan kita gunakan pada statement akhir untuk menyambut user,
System.out.println("Hello " + name + "!");

Menggunakan JOptionPane

Cara lain untuk mendapatkan input dari user adalah dengan menggunakan class
JoptionPane yang didapatkan dari javax.swing package. JoptionPane memudahkan memunculkan dialog box standard yang memberikan kepada user sebuah nilai atau menginformasikan sesuatu.
Diberikan kode berikut ini :
import javax.swing.JOptionPane;
public class GetInputFromKeyboard
{
public static void main( String[] args ){
String name = "";
name = JoptionPane.showInputDialog("Please enter your
name");
String msg = "Hello " + name + "!";
JOptionPane.showMessageDialog(null, msg);
}
}
output nya seperti berikut
gambar 1

gambar 2

gambar 3
Statement pertama,
teks di sini
Menjelaskan bahwa kita mengimpor class JoptionPane dari package javax.swing.
Bisa juga ditulis seperti,
teks di sini
pernyataan
name = JOptionPane.showInputDialog("Please enter your name");
membuat sebuah input dialog JOptionPane, yang akan menampilkan dialog dengan sebuah pesan, sebuah textfield dan tombol OK seperti pada gambar. Hasil dari dialog tersebut adalah String dan disimpan ke dalam variabel name.
Sekarang kita membuat pesan selamat datang, yang akan disimpan ke dalam variabe msg,
String msg = "Hello " + name + "!";
Baris selanjutnya adalah menampilkan sebuah dialog yang berisi sebuah pesan dan tombol OK,
JOptionPane.showMessageDialog(null, msg);

Read More

Tipe Modifier java

Tipe Modifier java

Akses modifier adalah salah satu keyword yang akan kita tambahkan pada setiap deklarasi dari class.
Java menyediakan sejumlah akses modifier untuk mengatur tingkat akses untuk kelas, variabel, metode, dan konstruktor. Keempat tingkat akses adalah :
  • default
  • public
  • private
  • protected
contoh
public class className {
// ...
}

private boolean myFlag;
static final double weeks = 9.5;
protected static final int BOXWIDTH = 42;

public static void main(String[] arguments) {
// body of method
}


Default Access Modifier - No Keyword

modifier akses default berarti kita tidak secara eksplisit menyatakan pengubah akses untuk kelas, field, metode, dll. Variabel atau metode yang dideklarasikan tanpa pengubah moda akses apa pun tersedia untuk kelas lain dalam paket yang sama. field dalam interface secara implisit adalah final static public dan metode dalam interface secara default adalah public.
Contoh
Variabel dan metode dapat dideklarasikan tanpa modifiers apa pun, seperti dalam contoh berikut :
String version = "1.5.1";

boolean processOrder() {
return true;
}

Private Access Modifier - Private

Metode, variabel, dan konstruktor yang dideklarasikan bersifat pribadi/private hanya dapat diakses dalam kelas yang dideklarasikan itu sendiri(kelas yang sama). private access modifier adalah tingkat akses yang paling ketat. class dan interface tidak dapat bersifat private. Variabel yang dinyatakan private dapat diakses di luar kelas, jika metode pengambil umum ada di kelas. Menggunakan modifier private adalah cara utama bahwa suatu objek merangkum dirinya sendiri dan menyembunyikan data dari dunia luar. 
Contoh 
Kelas berikut menggunakan kontrol private access :
public class Logger {
private String format;

public String getFormat() {
return this.format;
}

public void setFormat(String format) {
this.format = format;
}
}

Di sini, variabel format dari kelas Logger bersifat pribadi/private, jadi tidak ada cara bagi kelas lain untuk mengambil atau mengatur nilainya secara langsung. Jadi, untuk membuat variabel ini tersedia untuk kelas luar, kita mendefinisikan dua metode publik: getFormat (), yang mengembalikan nilai format, dan setFormat (String), yang menentukan nilainya.

Public Access Modifier - Public

class, method, constructor, interface, dll. public yang di deklarasikan dapat diakses dari kelas lain mana pun. Oleh karena itu, field, metode, blok yang dideklarasikan di dalam kelas public dapat diakses dari kelas apa pun yang termasuk dalam Java Universe. Namun, jika kelas public yang kita coba akses ada dalam paket yang berbeda, maka kelas public masih perlu diimpor. Karena pewarisan kelas, semua metode umum dan variabel kelas diwariskan oleh subclassnya. 
Contoh
Fungsi berikut menggunakan kontrol akses public :
public static void main(String[] arguments) {
// ...
}

Metode main() suatu aplikasi harus bersifat public. Jika tidak, itu tidak bisa di kompilasi oleh Java kompilator.

Protected Access Modifier - Protected

Variabel, metode, dan konstruktor, yang dinyatakan protected dalam superclass hanya dapat diakses oleh subclass dalam package lain atau kelas apa pun dalam package kelas anggota yang protected. access modifier yang dilindungi tidak dapat diterapkan ke kelas dan interface. Metode, field dapat dinyatakan dilindungi, namun metode dan field di interface tidak dapat dinyatakan protected. Akses yang terlindungi memberikan kesempatan kepada subclass untuk menggunakan metode atau variabel pembantu, sambil mencegah kelas yang tidak terkait mencoba menggunakannya. 
Contoh 
Kelas induk berikut menggunakan kontrol akses yang protected, untuk memungkinkan kelas anaknya mengesampingkan metode openSpeaker ()
class AudioPlayer {
protected boolean openSpeaker(Speaker sp) {
// implementation details
}
}

class StreamingAudioPlayer {
boolean openSpeaker(Speaker sp) {
// implementation details
}
}

Di sini, jika kita mendefinisikan metode openSpeaker () sebagai protected, maka itu tidak akan dapat diakses dari kelas lain selain dari AudioPlayer. Jika kita mendefinisikannya sebagai public, maka itu akan dapat diakses oleh semua kelas luar. Namun tujuan kita adalah untuk mengekspos metode ini hanya ke subkelasnya, itulah sebabnya kami menggunakan modifier protected. 

access control dan inheritance 

Aturan berikut diberlakukan untuk metode yang diwariskan
  • Metode yang dinyatakan public dalam superclass juga harus bersifat public di semua subclass. 
  • Metode yang dinyatakan protected dalam superclass juga harus protected atau umum dalam subclass; mereka tidak bisa menjadi private. 
  • Metode yang dinyatakan private tidak diwariskan sama sekali, jadi tidak ada aturan untuk mereka.

Non access Modifiers

Java menyediakan sejumlah pengubah non-akses untuk mencapai banyak fungsi lainnya.
  • modifier static untuk membuat metode dan variabel kelas. 
  • modifier final untuk menyelesaikan implementasi kelas, metode, dan variabel. 
  • modifier abstract untuk membuat kelas dan metode abstrak. 
  • modifier synchronized dan volatile, yang digunakan untuk threads.

The Static Modifier

Variabel Static

Kata kunci static digunakan untuk membuat variabel yang akan ada secara independen dari setiap instance yang dibuat untuk kelas. Hanya satu salinan variabel static yang ada terlepas dari jumlah instance kelas. Variabel static juga dikenal sebagai variabel kelas. 
Variabel lokal tidak dapat dinyatakan statis. 

Method Static

Kata kunci static digunakan untuk membuat metode yang akan ada secara independen dari setiap instance yang dibuat untuk kelas. Metode static tidak menggunakan variabel instance dari objek apa pun dari kelas yang ditentukan. Metode static mengambil semua data dari parameter dan menghitung sesuatu dari parameter tersebut, tanpa referensi ke variabel. 
Variabel dan metode kelas dapat diakses menggunakan nama kelas diikuti oleh titik dan nama variabel atau metode. 
Contoh 
modifier static digunakan untuk membuat metode dan variabel kelas, seperti pada contoh berikut
public class InstanceCounter {

private static int numInstances = 0;

protected static int getCount() {
return numInstances;
}

private static void addInstance() {
numInstances++;
}

InstanceCounter() {
InstanceCounter.addInstance();
}

public static void main(String[] arguments) {
System.out.println("Starting with " + InstanceCounter.getCount() + " instances");

for (int i = 0; i < 500; ++i) {

 new InstanceCounter();
 }
 System.out.println("Created " + InstanceCounter.getCount() + " instances");
 }
 }

output
Started with 0 instances
Created 500 instances

The Final Modifier


Final Variables

Variabel final dapat secara eksplisit diinisialisasi hanya sekali. Sebuah variabel referensi yang dinyatakan sebagai final tidak dapat dipindahkan untuk merujuk pada objek yang berbeda. Namun, data di dalam objek dapat diubah. Jadi, keadaan objek dapat diubah tetapi bukan referensi. Dengan variabel, modifier final sering digunakan dengan static untuk membuat variabel kelas konstan. Contoh
public class Test {
final int value = 10;

// The following are examples of declaring constants:
public static final int BOXWIDTH = 6;
static final String TITLE = "Manager";

public void changeValue() {
value = 12; // will give an error
}
}

Method final 

Metode final tidak dapat ditimpa oleh subclass apa pun. Seperti yang disebutkan sebelumnya, modifier final mencegah suatu metode dimodifikasi dalam subkelas. Tujuan utama pembuatan akhir metode adalah bahwa isi metode tidak boleh diubah oleh orang luar. 
Contoh 
Anda menyatakan metode menggunakan pengubah akhir dalam deklarasi kelas, seperti pada contoh berikut
public class Test {
public final void changeName() {
// body of method
}
}

Class final

Tujuan utama menggunakan kelas yang dinyatakan sebagai final adalah untuk mencegah kelas menjadi subkelas. Jika kelas ditandai sebagai final maka tidak ada kelas yang dapat mewarisi fitur apa pun dari kelas final. 
Contoh
public final class Test {
// body of class
}


Modifier abstract 

Class Abstract 

Kelas abstract tidak pernah bisa dipakai. Jika kelas dinyatakan sebagai abstract maka satu-satunya tujuan adalah agar kelas diperpanjang. Sebuah kelas tidak dapat bersifat abstract dan final (karena kelas final tidak dapat diperpanjang). Jika kelas berisi metode abstract maka kelas harus dinyatakan abstract. Jika tidak, kesalahan kompilasi akan dilemparkan. 
Kelas abstrak dapat berisi metode abstract dan metode normal. 
Contoh
abstract class Caravan {
private double price;
private String model;
private String year;
public abstract void goFast(); // an abstract method
public abstract void changeColor();
}

Method Abstract

Metode abstract adalah metode yang dideklarasikan tanpa implementasi apa pun. Tubuh metode (implementasi) disediakan oleh subclass. Metode abstract tidak pernah bisa menjadi final atau strict. Setiap kelas yang extends kelas abstract harus menerapkan semua metode abstract superclass, kecuali subkelas juga merupakan kelas abstract. Jika kelas berisi satu atau lebih metode abstract, maka kelas harus dinyatakan abstract. Kelas abstract tidak perlu mengandung metode abstract. 
Metode abstrak berakhir dengan titik koma. 
Contoh: 
public abstract example (); 
Contoh
public abstract class SuperClass {
abstract void m(); // abstract method
}
-----------------------------------
class SubClass extends SuperClass {
// implements the abstract method
void m() {

.........
}
}

The Synchronized

Modifier keyword synchronized digunakan untuk menunjukkan bahwa metode dapat diakses hanya dengan satu thread pada satu waktu. modifier yang disinkronkan dapat diterapkan dengan salah satu dari empat modifier akses. Contoh
public transient int limit = 55; // will not persist
public int b; // will persist

Modifier Volatile 

Pengubah yang mudah digunakan untuk membantu JVM mengetahui bahwa jalur yang mengakses variabel harus selalu menggabungkan salinan pribadinya sendiri dari variabel dengan salinan master dalam memori. Mengakses variabel volatile menyinkronkan semua salinan variabel yang ada di cache dalam memori utama. Volatile hanya dapat diterapkan ke variabel instance, yang merupakan jenis objek atau private. Referensi objek volatile adalah nol. 
Contoh
public class MyRunnable implements Runnable {
private volatile boolean active;

public void run() {
active = true;
while (active) { // line 1
// some code here
}
}

public void stop() {
active = false; // line 2
}
}

Biasanya, run () dipanggil dalam satu thread (yang Anda mulai menggunakan Runnable), dan stop () dipanggil dari thread lain. Jika pada baris 1, nilai yang di-cache aktif digunakan, loop mungkin tidak berhenti ketika Anda mengatur aktif ke false di baris 2. Saat itulah Anda idapat menggunakan volatile.


Read More

Class dan Obyek java

Class dan Obyek java

Java adalah Bahasa Berorientasi Objek. Sebagai bahasa yang memiliki fitur Berorientasi Objek, Java mendukung konsep dasar berikut :
  • Polymorphism
  • Inheritance
  • Encapsulation
  • Abstraction
  • Classes
  • Objects
  • Instance
  • Method
  • Message Parsing


Dalam bab ini, kita akan melihat ke dalam konsep - class dan Objek.


  1. Object - Objek memiliki keadaan dan perilaku. Contoh: Seekor anjing memiliki status - warna, nama, berkembang biak, serta perilaku - menggoyangkan ekor, menggonggong, makan. Objek adalah turunan kelas.
  2. Class - class dapat didefinisikan sebagai template / cetak biru yang menggambarkan perilaku / status yang didukung objeknya.

Objek di Java

Mari kita sekarang melihat jauh ke dalam apa objek. Jika kita mempertimbangkan dunia nyata, kita dapat menemukan banyak objek di sekitar kita, mobil, anjing, manusia, dll. Semua benda ini memiliki keadaan dan perilaku.

Jika Anda membandingkan objek perangkat lunak dengan objek dunia nyata, mereka memiliki karakteristik yang sangat mirip.

Objek perangkat lunak juga memiliki state dan behavior. Status objek perangkat lunak disimpan di fields dan perilaku ditampilkan melalui metode.

Jadi dalam pengembangan perangkat lunak, metode beroperasi pada keadaan internal objek dan komunikasi objek-ke-objek dilakukan melalui metode.
Kelas di Java

Class adalah cetak biru dari mana objek individu dibuat.

Berikut ini adalah contoh Class.
Contoh
public class Dog {
String breed;
int age;
String color;

void barking() {
}

void hungry() {
}

void sleeping() {
}
}

Kelas dapat berisi salah satu dari jenis variabel berikut.
  1. Variabel local - Variabel yang didefinisikan di dalam metode, konstruktor atau blok disebut variabel lokal. Variabel akan dideklarasikan dan diinisialisasi dalam metode dan variabel akan dihancurkan ketika metode telah selesai.
  2. Variabel instance - Variabel instan adalah variabel di dalam class tetapi di luar metode apa pun.Variabel-variabel ini diinisialisasi ketika class dipakai. Variabel instan dapat diakses dari dalam setiap metode, konstruktor atau blok dari class tertentu.
  3. Variabel Class - Variabel Kelas adalah variabel yang dideklarasikan dalam kelas, di luar metode apa pun, dengan kata kunci statis. Class dapat memiliki sejumlah metode untuk mengakses nilai berbagai macam metode. Dalam contoh di atas, menggonggong (), lapar () dan tidur () adalah metode. Berikut adalah beberapa topik penting yang perlu dibahas ketika melihat ke dalam class Bahasa Java.

Constructors

Ketika membahas tentang kelas, salah satu topik syang paling penting adalah konstruktor. Setiap kelas memiliki konstruktor. Jika kita tidak secara eksplisit menulis konstruktor untuk kelas, compiler Java membangun konstruktor default untuk kelas itu. Setiap kali objek baru dibuat, setidaknya satu konstruktor akan dipanggil. Aturan utama konstruktor adalah mereka harus memiliki nama yang sama dengan kelas. Kelas dapat memiliki lebih dari satu konstruktor. Berikut ini adalah contoh konstruktor .
Contoh
public class Puppy {
public Puppy() {

//constructors tanpa parameter
}

public Puppy(String name) {
// This constructor has one parameter, name. dengan satu parameter
}
}

Java juga mendukung Singleton Classes di mana Anda hanya dapat membuat satu kelas saja. Catatan : java memiliki dua jenis konstruktor berbeda. Kita akan membahas konstruktor secara rinci dalam bagian selanjutnya.

Membuat Objek

Seperti yang disebutkan sebelumnya, kelas adalah cetak biru untuk objek. Jadi pada dasarnya, objek dibuat dari kelas. Di Java, kata kunci/keyword baru digunakan untuk membuat objek baru. Ada tiga langkah saat membuat objek dari kelas :
  1. Deklarasi - Deklarasi variabel dengan nama variabel dengan jenis objek.
  2. Instansiasi - Kata kunci 'baru' digunakan untuk membuat objek.
  3. Inisialisasi - Kata kunci 'baru' diikuti dengan panggilan ke konstruktor. Panggilan ini menginisialisasi objek baru. Berikut ini adalah contoh pembuatan objek .
Contoh
public class Puppy {
public Puppy(String name) {
// This constructor has one parameter, name.
System.out.println("Passed Name is :" + name );
}

public static void main(String []args) {
// Following statement would create an object myPuppy
Puppy myPuppy = new Puppy( "tommy" );
}
}

Jika kita mengkompilasi dan menjalankan program di atas, maka akan menghasilkan hasil berikut
output
Passed Name is :tommy

Mengakses Variabel dan Metode

Instance Variabel dan metode instan diakses melalui objek yang dibuat. Untuk mengakses variabel instance, berikut adalah cara yang di anjurkkan

/* First create an object */membuat objek baru
ObjectReference = new Constructor();

/* Now call a variable as follows */
ObjectReference.variableName;

/* Now you can call a class method as follows */
ObjectReference.MethodName();


Contoh ini menjelaskan cara mengakses variabel instan dan metode kelas.

public class Puppy {
int puppyAge;

public Puppy(String name) {
// This constructor has one parameter, name.
System.out.println("Name chosen is :" + name );
}

public void setAge( int age ) {
puppyAge = age;
}

public int getAge( ) {
System.out.println("Puppy's age is :" + puppyAge );
return puppyAge;
}

public static void main(String []args) {
/* Object creation */
Puppy myPuppy = new Puppy( "tommy" );

/* Call class method to set puppy's age */
myPuppy.setAge( 2 );

/* Call another class method to get puppy's age */
myPuppy.getAge( );

/* You can access instance variable as follows as well */
System.out.println("Variable Value :" + myPuppy.puppyAge );
}
}

Output
Name chosen is :tommy
Puppy's age is :2
Variable Value :2

Aturan Deklarasi File Sumber

Sebagai bagian terakhir dari bagian ini, mari kita lihat aturan deklarasi file sumber. Aturan-aturan ini sangat penting ketika mendeklarasikan kelas, laporan impor dan pernyataan paket dalam file sumber. 
  • Hanya boleh ada satu kelas publik per file sumber. 
  • File sumber dapat memiliki beberapa kelas non-publik.
  • Nama kelas publik harus nama file sumber juga yang harus ditambahkan oleh .java di bagian akhir. Sebagai contoh: nama kelas adalah Karyawan kelas publik {} maka file sumber harus seperti Employee.java.
  • Jika kelas didefinisikan di dalam package/paket, maka pernyataan paket harus menjadi pernyataan pertama dalam file sumber.
  • Jika pernyataan impor hadir, maka mereka harus ditulis antara pernyataan paket dan deklarasi kelas.
  • Jika tidak ada pernyataan paket, maka pernyataan impor harus menjadi baris pertama dalam file sumber.
  • Pernyataan impor dan pakage akan menyiratkan ke semua kelas yang ada dalam file sumber.
  • Tidak mungkin untuk menyatakan pernyataan impor dan / atau paket yang berbeda ke kelas yang berbeda di dalam file sumber yang sama.
Kelas memiliki beberapa tingkat akses dan ada berbagai jenis kelas; kelas abstrak, kelas final, dll. Kami akan menjelaskan tentang semua ini di bagian modifiers akses. Terlepas dari jenis kelas yang disebutkan di atas, Java juga memiliki beberapa kelas khusus yang disebut inner class dan Anonymous class.

Package Java

Dengan kata sederhana, ini adalah cara mengkategorikan class dan interface. Ketika mengembangkan aplikasi di Java, ratusan class dan interface akan ditulis, oleh karena itu mengelompokkan kelas-kelas ini adalah suatu keharusan serta membuat lebih mudah.

Statement Import

Di Java jika nama yang memenuhi syarat, yang termasuk paket dan nama kelas yang diberikan, maka kompilator dapat dengan mudah menemukan kode sumber atau kelas.
Pernyataan impor adalah cara memberikan lokasi yang tepat untuk compiler untuk menemukan kelas tertentu.
Sebagai contoh, baris berikut akan meminta compiler untuk memuat semua kelas yang tersedia di direktori java_installation / java / io 
import java.io. *; 

Studi Kasus Sederhana Untuk studi kasus kita, kita akan membuat dua kelas. Mereka adalah Employee dan EmployeeTest
Pertama Buka notepad dan tambahkan kode berikut. ini adalah kelas Karyawan dan kelasnya adalah kelas publict.
Sekarang, simpan file ini dengan nama Employee.java. Kelas Karyawan memiliki empat variabel instance :
name, age, designation dan gaji/salary. Kelas memiliki satu konstruktor yang didefinisikan secara eksplisit, yang mengambil parameter. 
Contoh
import java.io.*;
public class Employee {

String name;
int age;
String designation;
double salary;

// This is the constructor of the class Employee
public Employee(String name) {
this.name = name;
}

// Assign the age of the Employee to the variable age.
public void empAge(int empAge) {
age = empAge;
}

/* Assign the designation to the variable designation.*/
public void empDesignation(String empDesig) {
designation = empDesig;
}

/* Assign the salary to the variable salary.*/
public void empSalary(double empSalary) {
salary = empSalary;
}

/* Print the Employee details */
public void printEmployee() {
System.out.println("Name:"+ name );
System.out.println("Age:" + age );
System.out.println("Designation:" + designation );
System.out.println("Salary:" + salary);
}
}

Seperti yang disebutkan sebelumnya di tutorial ini, pemrosesan dimulai dari metode utama. Oleh karena itu, agar kita dapat menjalankan class Karyawan ini harus ada metode utama/main dan objek harus dibuat. kita akan membuat kelas terpisah untuk tugas-tugas ini. Berikut ini adalah kelas EmployeeTest, yang membuat dua contoh class Karyawan dan memanggil metode untuk setiap objek untuk menetapkan nilai untuk setiap variabel.
Simpan kode berikut di file EmployeeTest.java.
import java.io.*;
public class EmployeeTest {

public static void main(String args[]) {
/* Buat dua objek menggunakan konstruktor */
Employee empOne = new Employee("James Smith");
Employee empTwo = new Employee("Mary Anne");

// memanggil method untuk setiap objek yang di buat
empOne.empAge(26);
empOne.empDesignation("Senior Software Engineer");
empOne.empSalary(1000);
empOne.printEmployee();

empTwo.empAge(21);
empTwo.empDesignation("Software Engineer");
empTwo.empSalary(500);
empTwo.printEmployee();
}
}

Output
C:\> javac Employee.java
C:\> javac EmployeeTest.java
C:\> java EmployeeTest
Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0


Read More

Tipe data Variabel java

Tipe data Variabel java
Mulai pada bagian ini di harapkan anda juga mempraktekkan dan mengkompilasi setiap kode yang ada di setiap contoh, karena semakin banyak anda mempraktekkan akan membuat semakin lebih cepat mengerti tentang java, saya juga saran kan untuk menggunakan netbeans sebagai IDE.
Setiap variabel di Java memiliki tipe tertentu, yang menentukan ukuran dan tata letak memori variabel; kisaran nilai yang dapat disimpan di dalam memori itu; dan serangkaian operasi yang dapat diterapkan ke variabel.

Anda harus menyatakan/mendeklarasikan semua variabel sebelum dapat digunakan. Berikut ini adalah bentuk dasar dari deklarasi variabel :
data type variable [ = value]
[, variable [ = value] ...] ;

Di sini tipe data adalah salah satu tipe data dan variabel Java adalah nama variabel.Untuk menyatakan lebih dari satu variabel dari jenis yang ditentukan, Anda dapat menggunakan daftar yang dipisahkan koma.

Berikut adalah contoh valid dari deklarasi variabel dan inisialisasi di Jawa -
Contoh
int a, b, c; // Declares three ints, a, b, and c.
int a = 10, b = 10; // Example of initialization
byte B = 22; // initializes a byte type variable B.
double pi = 3.14159; // declares and assigns a value of PI.
char a = 'a'; // the char variable a iis initialized with value 'a'

Bab ini akan menjelaskan berbagai jenis variabel yang tersedia dalam Bahasa Java. Ada tiga macam variabel di Java :
  • Variabel lokal
  • Variabel instance
  • Variabel class / Statis

Variabel Lokal

  • Variabel lokal dideklarasikan dalam metode, konstruktor, atau blok.
  • Variabel lokal dibuat ketika metode, konstruktor atau blok dimasukkan dan variabel akan dihancurkan begitu keluar dari metode, konstruktor, atau blokir.
  • Pengubah akses tidak dapat digunakan untuk variabel lokal.
  • Variabel lokal hanya terlihat dalam metode yang dinyatakan, konstruktor, atau blokir.
  • Variabel lokal diimplementasikan pada tingkat tumpukan internal.
  • Tidak ada nilai default untuk variabel lokal, sehingga variabel lokal harus dideklarasikan dan nilai awal harus ditetapkan sebelum penggunaan pertama.
Contoh

Di sini, usia adalah variabel lokal. Ini didefinisikan dalam metode pupAge () dan ruang lingkupnya terbatas hanya pada metode ini.
public class Test {
public void pupAge() {
int age = 0;
age = age + 7;
System.out.println("Puppy age is : " + age);
}

public static void main(String args[]) {
Test test = new Test();
test.pupAge();
}
}

output
Puppy age is: 7

Contoh

Contoh berikut menggunakan usia tanpa menginisialisasi, sehingga akan memberikan kesalahan pada saat kompilasi.
public class Test {
public void pupAge() {
int age;
age = age + 7;
System.out.println("Puppy age is : " + age);
}

public static void main(String args[]) {
Test test = new Test();
test.pupAge();
}
}

output
Test.java:4:variable number might not have been initialized
age = age + 7;
^
1 error

Variabel Instance

  • Variabel instan dideklarasikan di kelas, tetapi di luar metode, konstruktor atau blok apa pun.

  • Ketika spasi dialokasikan untuk objek di heap, slot untuk setiap nilai variabel instan dibuat.

  • Variabel instan dibuat ketika suatu objek dibuat dengan menggunakan kata kunci 'baru' dan dihancurkan ketika objek dihancurkan.

  • Variabel instan memegang nilai-nilai yang harus direferensikan oleh lebih dari satu metode, konstruktor atau blok, atau bagian penting dari keadaan objek yang harus ada di seluruh kelas.

  • Variabel instan dapat dideklarasikan di tingkat kelas sebelum atau sesudah digunakan.

  • Modifiers access dapat diberikan misalnya variabel.

  • Variabel instan terlihat untuk semua metode, konstruktor dan blok di kelas. Biasanya, disarankan untuk membuat variabel-variabel ini menjadi privat (tingkat akses). Namun, visibilitas untuk subclass dapat diberikan untuk variabel-variabel ini dengan penggunaan pengubah akses.

  • Variabel instan memiliki nilai default. Untuk angka, nilai default adalah 0, untuk Booleans itu salah, dan untuk referensi objek itu nol. Nilai dapat ditetapkan selama deklarasi atau dalam konstruktor.

  • Variabel instan dapat diakses langsung dengan memanggil nama variabel di dalam kelas. Namun, dalam metode statis (ketika variabel instan diberikan aksesibilitas), mereka harus dipanggil menggunakan nama yang sepenuhnya memenuhi syarat. ObjectReference.VariableName .
Contoh
import java.io.*;
public class Employee {

// this instance variable is visible for any child class.
public String name;

// salary variable is visible in Employee class only.
private double salary;

// The name variable is assigned in the constructor.
public Employee (String empName) {
name = empName;
}

// The salary variable is assigned a value.
public void setSalary(double empSal) {
salary = empSal;
}

// This method prints the employee details.
public void printEmp() {
System.out.println("name : " + name );
System.out.println("salary :" + salary);
}

public static void main(String args[]) {
Employee empOne = new Employee("Ransika");
empOne.setSalary(1000);
empOne.printEmp();
}
}

output
name : Ransika
salary :1000.0


class/static Variabel 

  • Variabel kelas juga dikenal sebagai variabel statis dideklarasikan dengan kata kunci statis di dalam class, tetapi di luar metode, konstruktor atau blok.
  • Hanya akan ada satu salinan dari setiap variabel kelas per kelas, terlepas dari berapa banyak objek yang dibuat darinya.
  • Variabel statis jarang digunakan selain dinyatakan sebagai konstanta. Konstanta adalah variabel yang dideklarasikan sebagai publik / pribadi, final, dan statis. Variabel konstan tidak pernah berubah dari nilai awalnya.
  • Variabel statis disimpan dalam memori statis. Sangat jarang menggunakan variabel statis selain yang dinyatakan final dan digunakan sebagai konstanta publik atau privat.
  • Variabel statis dibuat ketika program dimulai dan dihancurkan ketika program berhenti.
  • Visibilitas mirip dengan variabel instan. Namun, sebagian besar variabel statis dinyatakan publik karena harus tersedia untuk pengguna kelas.
  • Nilai default sama dengan variabel instan. Untuk angka, nilai standarnya adalah 0; untuk Boolean, itu salah; dan untuk referensi objek, itu nol. Nilai dapat ditetapkan selama deklarasi atau dalam konstruktor. Selain itu, nilai dapat ditetapkan dalam blok penginisialisasi statis khusus.
  • Variabel statis dapat diakses dengan memanggil dengan nama kelas ClassName.VariableName .
  • Saat mendeklarasikan class variabel sebagai public static final, maka nama variabel (konstanta) semuanya dalam huruf besar. Jika variabel statis tidak umum dan final, sintaks penamaan adalah sama dengan contoh dan variabel lokal.
Contoh
import java.io.*;
public class Employee {

// salary variable is a private static variable
private static double salary;

// DEPARTMENT is a constant
public static final String DEPARTMENT = "Development ";

public static void main(String args[]) {
salary = 1000;
System.out.println(DEPARTMENT + "average salary:" + salary);
}
}

output
Development average salary:1000


Read More

Sintaks Dasar java

Sintaks Dasar java

Pada bagian ini kita akan mempelajari sintaks yang ada pada java, aturan penulisan dan hal apa saja yang bisa kita buat dengan java.

java dapat juga kita definisikan sebagai sekumpulan objek yang saling memanggil satu sama lain yang mempunyai berbagai fungsi yang berbeda.
Berikut mari kita lihat beberapa hal yang ada pada java :

Objek - Objek memiliki keadaan dan perilaku. Contoh: Seekor anjing memiliki status - warna, nama, berkembang biak, serta perilaku seperti menggoyangkan ekornya, menggonggong, makan. Objek adalah turunan kelas. 
Kelas - Kelas dapat didefinisikan sebagai template / cetak biru yang menggambarkan perilaku / status yang didukung oleh objek jenisnya.

Metode - Suatu metode pada dasarnya adalah perilaku. Kelas dapat berisi banyak metode. Ini adalah metode di mana logika ditulis, data dimanipulasi dan semua tindakan dijalankan.

Variabel Instance - Setiap objek memiliki set variabel instan yang unik. Keadaan objek dibuat oleh nilai yang ditetapkan untuk variabel instan ini.

Mari kita lihat kode sederhana yang akan mencetak kata Hello World.
Contoh
public class MyFirstJavaProgram {

/* This is my first java program.
* This will print 'Hello World' as the output
*/

public static void main(String []args) {
System.out.println("Hello World"); // prints Hello World
}
}

Mari kita lihat bagaimana cara menyimpan file, mengkompilasi, dan menjalankan program. Silakan ikuti langkah selanjutnya :

Buka notepad dan tambahkan kode seperti di atas.
Simpan file sebagai: MyFirstJavaProgram.java.
Buka jendela comand prompt dan buka direktori tempat Anda menyimpan kelas. Asumsikan itu C: \.
Ketik 'javac MyFirstJavaProgram.java' dan tekan enter untuk mengkompilasi kode Anda. Jika tidak ada kesalahan dalam kode Anda, command prompt akan membawa Anda ke baris berikutnya (Asumsi: Variabel jalur diatur).
Sekarang, ketik 'java MyFirstJavaProgram' untuk menjalankan program Anda.
Anda akan dapat melihat 'Hello World' yang tercetak di jendela.

out put

C:\> javac MyFirstJavaProgram.java
C:\> java MyFirstJavaProgram 
Hello World

Sintaks Dasar 

  • Tentang program Java, sangat penting untuk mengingat poin-poin berikut. 
  • Sensitivitas - Java peka huruf besar, yang berarti pengenal Halo dan halo memiliki arti yang berbeda di Jawa.
  • Nama Kelas - Untuk semua nama kelas, huruf pertama harus dalam Huruf Besar. Jika beberapa kata digunakan untuk membentuk nama kelas, setiap kata pertama kata dalam huruf pertama harus dalam Huruf Besar. Contoh: kelas MyFirstJavaClass Nama Metode - Semua nama metode harus dimulai dengan huruf Huruf Kecil. Jika beberapa kata digunakan untuk membentuk nama metode, maka setiap huruf pertama kata dalam harus berada dalam Huruf Besar. Contoh: public void myMethodName ().
  • Nama File Program - Nama file program harus sama persis dengan nama kelas. Saat menyimpan file, Anda harus menyimpannya menggunakan nama kelas (Ingat Java peka huruf besar-kecil) dan tambahkan '.java' ke akhir nama (jika nama file dan nama kelas tidak cocok, program Anda tidak akan dikompilasi ). Contoh: Asumsikan 'MyFirstJavaProgram' adalah nama kelas. Maka file tersebut harus disimpan sebagai 'MyFirstJavaProgram.java' 
  • public static void main (String args []) - Pemrosesan program Java dimulai dari metode main () yang merupakan bagian wajib dari setiap program Java.

Java Identifiers

Semua komponen Java membutuhkan nama. Nama yang digunakan untuk kelas, variabel, dan metode disebut pengenal. Di Java, ada beberapa hal yang perlu diingat tentang identifier.
Mereka adalah sebagai berikut :
  1. Semua pengenal harus dimulai dengan huruf (A sampai Z atau a hingga z), karakter mata uang ($) atau garis bawah (_).
  2. Setelah karakter pertama, pengenal dapat memiliki kombinasi karakter apa pun.
  3. Kata kunci tidak dapat digunakan sebagai pengenal.
  4. Yang paling penting, identifier adalah case sensitive. Contoh : usia, gaji $, _value, __1_value.
  5. Contoh pengidentifikasi ilegal: 123abc, -salah.

Java Modifiers 

Seperti bahasa lain, dimungkinkan untuk memodifikasi kelas, metode, dll, dengan menggunakan modifiers.
Ada dua kategori modifiers
  • Access Modifiers − default, public , protected, private
  • Non-access Modifiers − final, abstract, strictfp
kita akan mempelajari tentang modifiers di bagian berikutnya.

Variabel Java

Berikut ini adalah jenis variabel di Java :
  • Local Variables
  • Class Variables (Static Variables)
  • Instance Variables (Non-static Variables)

Array Java 

Array adalah objek yang menyimpan beberapa variabel dengan tipe yang sama. Namun, array itu sendiri adalah objek di heap. kita akan mempelajari bagaimana mendeklarasikan, membangun, dan menginisialisasi di bagian bagian selanjutnya.

Java Enums 

Enum diperkenalkan di Java 5.0. Enums membatasi variabel untuk memiliki salah satu dari hanya beberapa nilai yang telah ditentukan. Nilai-nilai dalam daftar yang disebutkan ini disebut enum. Dengan penggunaan enum, Anda bisa mengurangi jumlah bug dalam kode Anda.
Sebagai contoh, jika kita mempertimbangkan aplikasi untuk toko jus segar, akan mungkin untuk membatasi ukuran kaca menjadi kecil, sedang, dan besar. Ini akan memastikan bahwa itu tidak akan mengizinkan siapa pun untuk memesan ukuran apa pun selain kecil, menengah, atau besar.
contoh
(class enumnya/constanta)

class FreshJuice {
enum FreshJuiceSize{ SMALL, MEDIUM, LARGE }
FreshJuiceSize size;
}
--------------------------

(class mainnya)

public class FreshJuiceTest {

public static void main(String args[]) {
FreshJuice juice = new FreshJuice();
juice.size = FreshJuice.FreshJuiceSize.MEDIUM ;
System.out.println("Size: " + juice.size);
}
}


Contoh di atas akan menghasilkan hasil berikut
Size: MEDIUM

Java Keywords

Daftar berikut menunjukkan kata-kata yang dilindungi di Java. Kata-kata yang dicadangkan ini tidak dapat digunakan sebagai konstanta atau variabel atau nama pengidentifikasi lainnya.

abstractassertbooleanbreak
bytecasecatchchar
classconstcontinuedefault
dodoubleelseenum
extendsfinalfinallyfloat
forgotoifimplements
importinstanceofintinterface
longnativenewpackage
privateprotectedpublicreturn
shortstaticstrictfpsuper
switchsynchronizedthisthrow
throwstransienttryvoid
volatilewhile

Komentar di Java

Java mendukung komentar satu baris dan multi-baris yang sangat mirip dengan C dan C ++. Semua karakter yang tersedia di dalam setiap komentar diabaikan oleh compiler Java.
contoh
public class MyFirstJavaProgram {

/* This is my first java program.
* This will print 'Hello World' as the output
* This is an example of multi-line comments.
*/


public static void main(String []args) {
// This is an example of single line comment
/* This is also an example of single line comment. */

System.out.println("Hello World");
}
}

output
Hello World

Inheritance

Di Java, kelas dapat diturunkan dari kelas. Pada dasarnya, jika Anda perlu membuat kelas baru dan di sini sudah ada kelas yang memiliki beberapa kode yang Anda butuhkan, maka dimungkinkan untuk menurunkan kelas baru Anda dari kode yang sudah ada. Konsep ini memungkinkan Anda untuk menggunakan kembali bidang dan metode kelas yang ada tanpa harus menulis ulang kode di kelas baru. Dalam skenario ini, kelas yang ada disebut superclass dan kelas turunan disebut subclass.

Interfaces
Dalam bahasa Java, Interfaces dapat didefinisikan sebagai kontrak antara objek tentang cara berkomunikasi satu sama lain. Interfaces memainkan peran penting ketika datang ke konsep Inheritance.
Sebuah interface mendefinisikan metode, kelas yang diturunkan (subclass) harus digunakan. Tetapi penerapan metode ini benar-benar sampai ke subclass.



Read More

Inside Post