Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Rekursi Jawa

Rekursi Java

Dalam tutorial ini, Anda akan belajar tentang fungsi rekursif Java, kelebihan dan kekurangannya.

Dalam Java, metode yang memanggil dirinya sendiri dikenal sebagai metode rekursif. Dan, proses ini dikenal sebagai rekursi.

Contoh dunia fisik adalah menempatkan dua cermin paralel yang saling berhadapan. Objek apa pun di antaranya akan dipantulkan secara rekursif.


Bagaimana cara kerja Rekursi?

Pada contoh di atas, kita telah memanggil recurse() metode dari dalam main metode. (panggilan metode normal). Dan, di dalam metode recurse(), kita kembali memanggil metode recurse yang sama. Ini adalah panggilan rekursif.

Untuk menghentikan panggilan rekursif, kita perlu menyediakan beberapa kondisi di dalam metode. Jika tidak, metode ini akan dipanggil tanpa batas.

Oleh karena itu, kami menggunakan pernyataan if...else (atau pendekatan serupa) untuk mengakhiri panggilan rekursif di dalam metode.


Contoh:Faktorial Angka Menggunakan Rekursi

class Factorial {

    static int factorial( int n ) {
        if (n != 0)  // termination condition
            return n * factorial(n-1); // recursive call
        else
            return 1;
    }

    public static void main(String[] args) {
        int number = 4, result;
        result = factorial(number);
        System.out.println(number + " factorial = " + result);
    }
}

Keluaran :

4 factorial = 24

Dalam contoh di atas, kami memiliki metode bernama factorial() . factorial() dipanggil dari main() metode. dengan nomor variabel diteruskan sebagai argumen.

Di sini, perhatikan pernyataannya,

return n * factorial(n-1);

factorial() metode memanggil dirinya sendiri. Awalnya, nilai n adalah 4 di dalam factorial() . Selama panggilan rekursif berikutnya, 3 diteruskan ke factorial() metode. Proses ini berlanjut sampai n sama dengan 0.

Kapan n sama dengan 0, if pernyataan mengembalikan false maka 1 dikembalikan. Akhirnya, hasil akumulasi diteruskan ke main() metode.


Kerja Program Faktorial

Gambar di bawah ini akan memberi Anda gambaran yang lebih baik tentang bagaimana program faktorial dijalankan menggunakan rekursi.


Keuntungan dan Kerugian Rekursi

Saat panggilan rekursif dibuat, lokasi penyimpanan baru untuk variabel dialokasikan pada tumpukan. Karena, setiap panggilan rekursif kembali, variabel dan parameter lama dihapus dari tumpukan. Oleh karena itu, rekursi umumnya menggunakan lebih banyak memori dan umumnya lambat.

Di sisi lain, solusi rekursif jauh lebih sederhana dan membutuhkan lebih sedikit waktu untuk menulis, men-debug, dan memelihara.

Bacaan yang Direkomendasikan:Apa kelebihan dan kekurangan rekursi?


java

  1. Operator Jawa
  2. Antarmuka Jawa
  3. Java mencoba-dengan-sumber daya
  4. Anotasi Jawa
  5. Jenis Anotasi Java
  6. String Length() Metode di Java:Cara menemukan dengan Contoh
  7. Metode Java String charAt() dengan Contoh
  8. Java String EndsWith() Metode dengan Contoh
  9. Java String replace(), replaceAll() dan replaceFirst() metode
  10. Cara Membalikkan String di Java menggunakan Rekursi