Cuplikan kuliah dengan seorang mentor sebagai bagian dari kursus Codegym University. Mendaftar untuk kursus penuh.


"Kau lagi, Amigo. Nah, halo."

"Sepertinya kamu tidak terlalu senang melihatku, Diego?"

"Saya mendapat kesan bahwa Anda pikir Anda telah mempelajari semua yang perlu diketahui tentang metode di Jawa."

"Ah, aku tidak..."

"Kurasa tidak! Kamu bahkan tidak tahu setengahnya."

"Tentu, aku tidak keberatan...

"Oke, cukup bicara. Saatnya untuk memulai. Dan kita akan mulai dengan sesuatu yang sederhana. Misalnya, fakta bahwa Java memiliki pernyataan pengembalian . Ini memungkinkan Anda untuk langsung menghentikan metode yang memanggilnya. Berikut pernyataannya:

return;

"Sederhana: kata soliter returndiikuti titik koma. Segera setelah program mengeksekusi pernyataan ini, metode saat ini keluar dan metode pemanggilan berlanjut.

"Jika returndipanggil dalam mainmetode, maka mainmetode tersebut akan segera diakhiri, dan dengan itu seluruh program.

Contoh:

class Solution
{
   public static void fill(int[] data, int from, int to, int value)
   {
     if (from < 0 || to > data.length)
       return;

     for (int i = from; i < to; i++)
     {
       data[i] = value;
     }
   }

   public static void main(String[] args)
   {
     int[] months = {1, 2, 3, 4, 5, 6, 7, 8 ,9, 10, 11, 12};
     fill(months, 2, 10, 8);
   }
}
Metode fill mengisi bagian dari array yang diteruskan dengan value.

Bagian dari array yang akan diisi ditentukan oleh indeks from dan to.

Jika from kurang dari 0atau to  lebih besar dari panjang array, maka metode akan segera berakhir.

"Program di atas memiliki fillmetode yang mengisi larik yang diteruskan dengan value. Itu tidak mengisi seluruh larik, hanya bagian yang ditentukan oleh indeks fromdan to.

"Pada awal metode fill, nilai yang diteruskan diperiksa untuk memastikan validitasnya. Jika fromkurang dari 0, atau jika tolebih besar dari panjang array, maka fillmetode akan segera dihentikan (mengeksekusi returnpernyataan)."

"Mengerti. Hanya itu yang dilakukan pernyataan ini?"

"Sebenarnya, returnpernyataan itu lebih berguna daripada yang Anda pikirkan. Sangat berguna sehingga ditemukan di hampir setiap metode di Jawa. Dan sekarang saya akan mengarahkan Anda untuk memahami mengapa demikian.

Metode dengan hasil,void

"Kamu mungkin ingat bahwa ada pernyataan, dan ada ekspresi . Apa bedanya?"

"Jika saya tidak salah, ekspresi, tidak seperti pernyataan, memiliki arti yang dapat digunakan di suatu tempat."

"Benar. Dan, di Jawa, metode juga dapat memiliki nilai . Dan ini kabar baik: metode tidak hanya dapat melakukan sesuatu berdasarkan parameter input, tetapi juga, misalnya, untuk mengevaluasi sesuatu dan mengembalikan hasil dari perhitungan .

"Omong-omong, Anda telah menemukan metode seperti itu:

double delta = Math.abs(d1 - d2);
Metode abs()mengembalikan ganda
Scanner console = new Scanner(System.in);
int x = console.nextInt();

Metode nextInt()mengembalikan anint
String str = "Hello";
String s2 = str.toUpperCase();
Metode toUpperCase()mengembalikan aString
int[] data = {1, 4, 5, 6, 7, 8, 11};
int[] array = Arrays.copyOf(data, 4);

Metode copyOf()mengembalikan anint[]

"Setiap metode hanya dapat mengembalikan satu nilai dari satu jenis yang telah ditentukan . Jenis pengembalian ditentukan saat metode dideklarasikan:

public static Type name(parameters)
{
  method body
}

Di mana namenama metode, parametersdaftar parameter metode, dan typejenis hasil yang dikembalikan metode.

Untuk metode yang tidak menghasilkan apa-apa, ada tipe placeholder khusus: void.

"Dengan kata lain, jika saya menulis metode saya dan tidak ingin mengembalikan apa pun, maka saya mendeklarasikan tipe metode menjadi void, dan hanya itu?"

"Ya. Dan, saya juga harus mengatakan bahwa metode seperti itu di Jawa cukup banyak.

Mengembalikan hasil

"Saya menemukan cara mendeklarasikan metode yang mengembalikan hasil perhitungan/pekerjaan. Bagaimana cara mengembalikan hasil dari metode itu sendiri?"

"Itu pertanyaan yang valid. returnPernyataan itu membantu kita di sini sekali lagi. Meneruskan hasil dari suatu metode terlihat seperti ini:

return value;

" returnPernyataan itu akan segera mengakhiri metode. Dan valueapakah metode itu harus kembali ke metode panggilan ketika keluar. Jenis valueharus cocok dengan Typeyang ditentukan dalam deklarasi metode. Berikut adalah beberapa contoh untuk memperkuat apa yang telah Anda pelajari:

Contoh 1. Metode ini menghitung minimal dua angka:

int min(int a, int b)
{
   if (a < b)
     return a;
   else
     return b;
}
Metode mengembalikan minimum dua angka.

Jika a < b
kembali a
Jika tidak
kembalib

Contoh 2. Metode ini menggandakan string yang diteruskan berkali n-kali:

String multiple(String str, int times)
{
   String result = "";

   for (int i = 0; i < times; i++);
     result = result + " "+ str;
   return result;
}
Metode ini membutuhkan dua parameter — string dan berapa kali string harus diulang.
String kosong dibuat untuk hasil di masa mendatang.

Dalam satu lingkaran dengan timesiterasi, spasi dan string strditambahkan ke string result.
String resultdikembalikan sebagai hasil dari metode.

Contoh 3: Metode menghitung maksimum dua angka menggunakan operator ternary:

int max(int a, int b)
{
   return (a > b ? a : b);
}
Metode mengembalikan maksimum dua angka.

kembali (jika a > b, maka a, jika tidak b)

"Luar biasa. Metode adalah kekuatan superku yang baru!"

"Hanya jika kamu cukup berlatih dalam tugas-tugas langsung. Berulang-ulang."