Pages

Jumat, 28 Desember 2012

Java Platform


Java (platform perangkat lunak) dan mesin virtual Java

Salah satu karakteristik Java adalah portabilitas, yang berarti bahwa program komputer yang ditulis dalam bahasa Java harus dijalankan sama pada setiap hardware / sistem operasi platform. Hal ini dicapai dengan menyusun kode bahasa Java ke sebuah perwakilan intermediate yang disebut Java bytecode, bukan langsung ke platform-spesifik kode mesin. Java bytecode instruksi yang analog dengan kode mesin, tetapi mereka dimaksudkan untuk diinterpretasikan oleh mesin virtual (VM) ditulis secara khusus untuk perangkat keras tuan rumah. Akhir-pengguna biasanya menggunakan Java Runtime Environment (JRE) diinstal pada mesin mereka sendiri untuk aplikasi Java mandiri, atau dalam browser Web untuk applet Java.
Standar perpustakaan menyediakan cara umum untuk mengakses host-fitur khusus seperti grafik, threading, dan jaringan.
Keuntungan utama menggunakan bytecode adalah port. Namun, overhead penafsiran berarti bahwa program ditafsirkan hampir selalu berjalan lebih lambat dari program disusun untuk executable asli akan. Just-in-Time (JIT) compiler yang diperkenalkan dari tahap awal bahwa kompilasi bytecode ke kode mesin saat runtime.


Syntax


Sintaks Java sebagian besar berasal dari C + +. Tidak seperti C + +, yang menggabungkan sintaks untuk pemrograman terstruktur, generik, dan berorientasi objek, Java dibangun hampir secara eksklusif sebagai bahasa berorientasi objek. Semua kode yang tertulis di dalam kelas, dan segala sesuatu adalah obyek, dengan pengecualian dari tipe data primitif (integer misalnya, floating-point, nilai boolean, dan karakter), yang tidak kelas untuk alasan kinerja.
Tidak seperti C + +, Java tidak mendukung overloading operator atau multiple inheritance untuk kelas. Ini menyederhanakan bahasa dan membantu dalam mencegah potensi kesalahan dan anti-pola desain.
Java menggunakan metode komentar mirip dengan C + +. Ada tiga gaya yang berbeda dari komentar: gaya baris ditandai dengan dua garis miring (/ /), gaya beberapa baris dibuka dengan / * dan ditutup dengan * /, dan gaya Javadoc komentar dibuka dengan / ** dan ditutup dengan * / . Gaya Javadoc dari komentar memungkinkan pengguna untuk menjalankan executable Javadoc untuk mengkompilasi dokumentasi untuk program tersebut.
contoh:
Example:
// This is an example of a single line comment using two slashes
 
/* This is an example of a multiple line comment using the slash and asterisk.
 This type of comment can be used to hold a lot of information or deactivate
 code, but it is very important to remember to close the comment. */
 
/**
 * This is an example of a Javadoc comment; Javadoc can compile documentation
 * from this text.
 */



Hello world

Program dunia tradisional Halo dapat ditulis di Java sebagai: 
class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); / / Tampilan string.
    }
}

Untuk membandingkan ini dengan bahasa pemrograman lain melihat daftar contoh program hello world.
Sumber file harus dinamai setelah kelas publik, menambahkan akhiran. Java, misalnya, HelloWorldApp.java. Terlebih dahulu harus dikompilasi menjadi bytecode, menggunakan compiler Java, menghasilkan sebuah file bernama HelloWorldApp.class. Hanya kemudian dapat itu dilaksanakan, atau 'diluncurkan'. File sumber Java hanya dapat berisi satu kelas publik, tetapi dapat berisi beberapa kelas dengan selain akses publik dan sejumlah kelas batin masyarakat.
Sebuah kelas yang tidak dinyatakan publik dapat disimpan dalam file java.. Compiler akan menghasilkan file kelas untuk setiap kelas didefinisikan dalam file sumber. Nama dari file kelas adalah nama kelas, dengan. Kelas ditambahkan. Untuk generasi file kelas, kelas anonim diperlakukan seolah-olah nama mereka adalah gabungan dari nama kelas mereka melampirkan, sebuah $, dan integer.
Masyarakat kata kunci menunjukkan bahwa metode yang dapat dipanggil dari kode di kelas lain, atau kelas dapat digunakan oleh kelas di luar hirarki kelas. Hirarki kelas berkaitan dengan nama direktori dimana file java. Berada.
Statis kata kunci di depan metode menunjukkan metode statis, yang dikaitkan hanya dengan kelas dan tidak dengan contoh spesifik dari kelas itu. Hanya metode statis dapat dipanggil tanpa referensi ke sebuah obyek. Metode statis tidak dapat mengakses anggota kelas apapun yang tidak statis juga.
Kekosongan kata kunci menunjukkan bahwa metode utama tidak mengembalikan nilai apapun ke pemanggil. Jika sebuah program Java adalah untuk keluar dengan kode kesalahan, maka harus memanggil System.exit () secara eksplisit.
Nama metode "utama" bukan merupakan kata kunci dalam bahasa Java. Ini hanyalah nama metode peluncur Java panggilan untuk lulus kontrol ke program. Kelas Java yang berjalan di lingkungan dikelola seperti applet dan Enterprise JavaBean tidak menggunakan atau membutuhkan (utama) metode. Sebuah program Java dapat berisi beberapa kelas yang memiliki metode utama, yang berarti bahwa VM perlu secara eksplisit mengatakan yang kelas untuk memulai dari.
Metode utama harus menerima array obyek String. Dengan konvensi, ia dirujuk sebagai args meskipun setiap nama pengenal hukum lainnya dapat digunakan. Sejak Java 5, metode utama juga dapat menggunakan argumen variabel, dalam bentuk public void main statis (String. .. args), yang memungkinkan metode utama yang akan dipanggil dengan jumlah sewenang-wenang argumen String. Efek dari deklarasi alternatif adalah semantis identik (parameter args masih array obyek String), tetapi memungkinkan sintaks alternatif untuk menciptakan dan melewati array.
Peluncur Java meluncurkan Java dengan memuat kelas tertentu (ditentukan pada baris perintah atau sebagai atribut dalam JAR) dan mulai public void utamanya statis (String []) metode. Stand-alone program harus menyatakan metode ini secara eksplisit. String [] args parameter array obyek String yang mengandung argumen dilewatkan ke kelas. Parameter untuk main sering dilewati dengan menggunakan baris perintah.
Percetakan merupakan bagian dari perpustakaan standar Java: Kelas Sistem mendefinisikan bidang public static berteriak. Obyek keluar adalah sebuah instance dari kelas PrintStream dan menyediakan banyak metode untuk pencetakan data standar keluar, termasuk println (String) yang juga menambahkan baris baru ke string berlalu.
String "Halo, dunia!" secara otomatis dikonversi ke objek String oleh kompilator.

Contoh lain :

// OddEven.java
import javax.swing.JOptionPane;
 
public class OddEven {
    /**
     * "input" is the number that the user gives to the computer
     */
    private int input; // a whole number("int" means integer)
 
    /**
     * This is the constructor method. It gets called when an object of the OddEven type
     * is being created.
     */
    public OddEven() {
        / *
          * Pada kebanyakan program Java dpat menginisialisasi konstruktor objek dengan nilai-nilai default, atau membuat
          * Benda-benda lain bahwa obyek ini mungkin digunakan untuk menjalankan fungsinya. Dalam beberapa program Java,
          * Konstruktor mungkin hanya fungsi kosong jika tidak ada yang perlu diinisialisasi sebelum
          * Berfungsi obyek. Dalam hal ini program, sebuah konstruktor kosong akan cukup.
          * Sebuah konstruktor harus ada, namun, jika pengguna tidak menempatkan satu di kemudian compiler
          * Akan menciptakan satu kosong.
          * /
    }
 
    /**
     * This is the main method. It gets called when this class is run through a Java interpreter.
     * @param args command line arguments (unused)
     */
    public static void main(final String[] args) {
       / *
         * Baris kode ini menciptakan contoh baru dari kelas ini disebut "angka" (juga dikenal sebagai
         * Object) dan menginisialisasi dengan memanggil constructor. Baris berikutnya kode panggilan
         * Yang "showDialog ()" metode, yang membawa sebuah prompt untuk meminta Anda untuk nomor
         * /

       OddEven number = new OddEven();
       number.showDialog();
    }
 
    public void showDialog() {
        / *
          * "try" membuat tidak yakin beres. Jika sesuatu tidak,
          * Penafsir melompat untuk "menangkap" untuk melihat apa yang harus dilakukan.
          * /
        try {
            / *
              * Kode di bawah membawa sebuah JOptionPane, yang merupakan kotak dialog
              * The String dikembalikan oleh "showInputDialog ()" metode diubah menjadi
              * Integer, membuat program memperlakukannya sebagai nomor bukan sebuah kata.
              * Setelah itu, metode ini disebut metode kedua, menghitung () yang akan
              * Menampilkan baik "Bahkan" atau "Aneh."
              * /

            this.input = Integer.parseInt(JOptionPane.showInputDialog("Please enter a number."));
            this.calculate();
        } catch (final NumberFormatException e) {
            / *
              * Mendapatkan di blok menangkap berarti bahwa ada masalah dengan format
              * Nomor. Mungkin beberapa surat yang diketik di bukan nomor.
              * /

            System.err.println("ERROR: Invalid input. Please type in a numerical value.");
        }
    }
 
    /**
     * When this gets called, it sends a message to the interpreter.
     * The interpreter usually shows it on the command prompt (For Windows users)
     * or the terminal (For *nix users).(Assuming it's open)
     */
    private void calculate() {
        if ((this.input % 2) == 0) {
            JOptionPane.showMessageDialog(null, "Even");
        } else {
            JOptionPane.showMessageDialog(null, "Odd");
        }
    }
}

  • Pernyataan impor mengimpor kelas JOptionPane dari paket javax.swing.
  • Kelas OddEven menyatakan sebuah bidang swasta tunggal masukan tipe bernama int. Setiap instance dari kelas OddEven memiliki salinan dari field input. Deklarasi pribadi berarti bahwa tidak ada kelas lain dapat mengakses (membaca atau menulis) bidang masukan.
  • OddEven () adalah konstruktor publik. Konstruktor memiliki nama yang sama dengan kelas yang disertakan mereka dinyatakan dalam, dan tidak seperti metode, tidak memiliki tipe kembali. Sebuah konstruktor digunakan untuk menginisialisasi sebuah benda yang merupakan contoh yang baru dibuat dari kelas.
  • The menghitung () method dinyatakan tanpa kata kunci statis. Ini berarti bahwa metode dipanggil menggunakan contoh spesifik dari kelas OddEven. (The referensi yang digunakan untuk memanggil metode dilewatkan sebagai parameter dideklarasikan jenis OddEven bernama ini.) Metode tes% masukan ekspresi 2 == 0 menggunakan jika kata kunci untuk melihat apakah sisa membagi field input milik instance dari kelas oleh dua adalah nol. Jika ungkapan ini benar, maka mencetak Bahkan, jika ungkapan ini palsu Aneh di cetak. (The field input dapat diakses sebagai ekuivalen this.input, yang secara eksplisit menggunakan parameter dideklarasikan ini.)
  • Nomor OddEven = new OddEven (); menyatakan referensi variabel objek lokal dalam metode utama bernama nomor. Variabel ini dapat menyimpan referensi ke sebuah obyek OddEven jenis. Deklarasi menginisialisasi nomor dengan terlebih dahulu menciptakan sebuah instance dari kelas OddEven, dengan menggunakan kata kunci baru dan konstruktor OddEven (), dan kemudian menetapkan hal ini untuk variabel.
  • Pernyataan number.showDialog (); memanggil metode menghitung. Contoh dari objek OddEven direferensikan oleh variabel nomor lokal digunakan untuk memanggil metode dan lulus sebagai parameter ini dideklarasikan pada metode menghitung.
  • input = Integer.parseInt (JOptionPane.showInputDialog ("Silakan A Nomor")); adalah pernyataan yang mengubah jenis String ke int tipe data primitif dengan menggunakan fungsi utilitas dalam kelas wrapper Integer primitif.

0 komentar:

Posting Komentar

Anda bertanya, saya akan mencoba menjawabnya ~,~

 

Blogger news

Blogroll