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


"Apakah kamu sudah di sini, Amigo? Aku tahu kamu sudah belajar banyak perintah Java. Kamu hampir mencapai levelku!"

"Benarkah itu, Digo?"

"Tentu saja tidak, ha-ha. Anda masih harus banyak belajar dan belajar. Namun, Anda sudah cukup tahu untuk menulis program yang cukup rumit. 10, 20, 30 baris kode dalam sebuah program bukanlah program yang sangat besar, Kanan?"

"Kurasa kau benar. Terutama jika kau memasang kurung kurawal pada garis yang terpisah."

"Tapi program 100+ baris, sekarang itu besar. Bahkan kami robot memiliki waktu yang cukup sulit untuk memahami kode seperti itu. Bagaimana menurut Anda, adakah yang dapat Anda lakukan untuk menyederhanakan penulisan dan membaca program yang memiliki banyak kode?

"Aku sangat berharap begitu!"

"Harapan Anda tidak sia-sia. Dimungkinkan untuk menyederhanakan program, dan metode ada di sini untuk membantu kami dalam hal ini. Terkadang disebut fungsi .

"Fungsi, metode... Eh, apa itu?"

"Sederhananya, metode adalah sekelompok perintah yang memiliki nama unik . Dengan kata lain, kami hanya memasukkan beberapa perintah ke dalam satu grup dan memberinya nama yang unik. Itu saja — boom — kami memiliki metode. Kebanyakan seringkali, perintah-perintah ini dikelompokkan menurut beberapa alasan untuk menyelesaikan tugas kecil dan spesifik. Misalnya, 'metode untuk mencetak baris dari file'. Atau 'metode untuk menaikkan angka menjadi eksponen'.

"Jadi, kita membagi program menjadi beberapa metode?"

"Ya, dan itu menyederhanakan kodenya.

Contoh:

Tanpa metode Dengan metode
class Solution
{
   public static void main(String[] args)
   {
     System.out.print("Wi-");
     System.out.println("Fi");
     System.out.print("Wi-");
     System.out.println("Fi");

     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void main(String[] args)
   {
     printWiFi();
     printWiFi();
     printWiFi();
   }
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}

"Dalam program di kolom kiri, kami mengulang kode yang sama tiga kali — kami melakukan ini dengan sengaja untuk mengilustrasikan suatu poin. Namun dalam program di sebelah kanan, kami memindahkan kode yang diulang ke dalam metode terpisah dan memberinya nama yang unik — printWiFi.

Dan alih-alih kode yang dipindahkan, kami memanggil printWiFi()metode tersebut 3 kali.

"Saat program di kolom sebelah kanan dijalankan, setiap kali metode printWiFi()dijalankan, semua perintah di dalam printWiFi()metode dijalankan. Kami baru saja membuat perintah baru (metode), menggabungkan beberapa perintah ke dalam satu grup.

"Kode apa pun dapat dipecah menjadi metode terpisah. Hal ini dilakukan untuk menyederhanakan berbagai hal: idenya adalah lebih baik memiliki banyak metode kecil daripada satu metode besar.

"Merupakan ide bagus untuk membagi program menjadi beberapa metode.

"Segera Anda akan ingat dengan heran bagaimana Anda dulu menulis program tanpa membuat metode Anda sendiri."

"Saya siap mendengarkan dan mencoba menulis metode! Katakan saja bagaimana melakukannya."

Mendeklarasikan sebuah metode di Java

"Bagaimana kita bisa mendeklarasikan metode paling sederhana? Begini caranya:

public static void name()
{
  method body
}

Di mana namenama unik dari metode tersebut dan method bodymewakili perintah yang membentuk metode tersebut. Arti kata public, static, dan voidakan dibahas nanti.

"Setelah kita membuat sebuah metode, kita dapat memanggilnya dalam metode kita yang lain. Sebuah pemanggilan metode terlihat seperti ini:

name();

“Di mana namenama unik dari metode yang ingin kita panggil, yaitu metode yang perintahnya ingin kita jalankan ketika kita tiba di pemanggilan metode.

"Saat program mencapai pemanggilan metode, ia hanya akan masuk ke metode, menjalankan semua perintahnya, kembali ke metode awal, dan melanjutkan eksekusi.

"Dan sekarang, Amigo, lihatlah perintah-perintah yang telah kamu pelajari dengan mata baru. Misalnya, . Apakah ada yang terlintas dalam pikiran tentang apa ini sebenarnya?"System.out.println()

"Apakah Anda mengatakan bahwa semua perintah ini hanyalah metode yang ditulis oleh pemrogram lain?"

"Tidak semua, tapi banyak. Ya, persis! Yang lain menulisnya untuk membuat hidup kita lebih mudah."

"Begitu public static void main(String[] args)juga sebuah metode... Sekarang lebih masuk akal!"

"Tentu saja! Ini pemrograman! Ternyata metode utama — alfa dan omega dari program — dapat berisi panggilan ke metode lain:

Kode Catatan
class Solution
{
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}




Kami memanggil print10TimesWiFi()metode


Kami mendeklarasikan print10TimesWiFimetode


Kami memanggil printWiFi() metode 10 dalam satu lingkaran


Kami mendeklarasikan printWiFimetode

Kami menampilkan " Wi-Fi" di layar

Fakta tentang metode

"Saya telah menyisihkan beberapa fakta berguna tentang metode untuk Anda. Di sini, selamat menikmati:

Fakta 1. Metode selalu menjadi bagian dari kelas.

Metode hanya dapat dideklarasikan di dalam kelas. Sebuah metode tidak dapat dideklarasikan di dalam metode lain. Metode tidak dapat dideklarasikan di luar kelas.

Fakta 2. Nama metode tidak memiliki makna sakral

Tidak masalah metode apa yang dipanggil — itu tidak memengaruhi apa pun. Metode utama adalah metode yang sama seperti yang lainnya. Hanya saja nama ini dipilih untuk metode yang akan digunakan mesin Java untuk memulai eksekusi program. Tidak ada yang ajaib tentang itu. Semua yang dikatakan, lebih baik memilih nama metode yang setidaknya membuatnya sedikit jelas untuk apa mereka. Saya akan membicarakan ini nanti.

Fakta 3 Urutan metode dalam kelas tidak masalah

Anda dapat menulis metode Anda di kelas dalam urutan apa pun — ini tidak akan memengaruhi eksekusi program dengan cara apa pun. Contoh:

Kode
class Solution
{
   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   
   public static void main(String[] args)
   {
     printWiFi10Times();
   }

   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }
}
class Solution
{
   public static void printWiFi()
   {
     System.out.print("Wi-");
     System.out.println("Fi");
   }

   public static void printWiFi10Times()
   {
     for (int i = 0; i < 10; i++)
       printWiFi();
   }
   public static void main(String[] args)
   {
     printWiFi10Times();
   }
}

Fakta 4. Variabel di dalam satu metode sama sekali tidak terkait dengan variabel metode lain

Apa yang terjadi di Vegas, tetap di Vegas. Dan variabel yang dideklarasikan di dalam metode tetap berada di dalam metode.

Variabel dengan nama yang sama dapat dideklarasikan dalam dua metode yang berdekatan, dan variabel ini tidak terkait satu sama lain dengan cara apa pun.

Nama metode

"Jadi... saya berjanji untuk memberi tahu Anda tentang nama metode. Sudah lama diketahui bahwa dua masalah tersulit dalam pemrograman adalah memilih nama yang tepat untuk metode dan memilih nama yang tepat untuk variabel."

"Aku tidak pernah berpikir itu begitu sulit!"

"Kamu hanya tidak tahu banyak tentang kode samar orang lain, di mana variabel dan metode memiliki nama yang berubah-ubah. Coba saja cari tahu kode itu. Bahkan, hampir seluruh ilmu pengetahuan telah muncul mengenai cara memberi nama metode dengan benar. Dan setiap bahasa pemrograman memiliki standarnya sendiri.

“Di Jawa, sudah menjadi kebiasaan untuk mengikuti prinsip-prinsip ini:

Prinsip 1. Nama metode harus menjelaskan secara singkat apa yang dilakukan metode tersebut.

Kemudian pemrogram lain yang membaca kode Anda dapat mengandalkan nama metode untuk menebak apa yang dilakukan kode tersebut. Dia tidak perlu melihat kode metode yang dipanggil setiap saat. Dan tujuan metode lebih mudah diingat.

Misalnya, digunakan untuk 'menidurkan program' dan digunakan untuk 'membaca bilangan bulat berikutnya'. Nyaman, ya?Thread.sleep()Scanner.nextInt()

Prinsip 2. Nama metode bisa terdiri dari beberapa kata.

Namun, ada beberapa batasan saat melakukan ini:

  • Anda tidak boleh memiliki spasi dalam nama metode: semua kata ditulis bersamaan.
  • Setiap kata menggunakan huruf kapital, kecuali yang pertama.
  • Nama metode selalu dimulai dengan huruf kecil

Ingat print10TimesWiFimetodenya. Apa arti nama itu? "Tampilkan kata 'WiFi' 10 kali". Anda tidak boleh memasukkan banyak kata dalam nama metode: nama harus mencerminkan esensinya.

Standar metode penamaan ini disebut CamelCase (Huruf besar seperti punuk unta).

Prinsip 3. Nama metode dimulai dengan kata kerja.

Metode selalu melakukan sesuatu, jadi kata pertama dalam nama metode selalu merupakan tindakan.

Berikut adalah beberapa nama buruk untuk metode: home, cat, car, train, ...;

Beberapa nama baik adalah: run, execute, print, read, write, ...

Prinsip 4. Nama metode hanya menggunakan huruf dan angka Latin.

Java memiliki dukungan luar biasa untuk berbagai bahasa. Anda dapat menulis nama variabel, metode, dan kelas dalam bahasa Rusia dan Cina — semuanya akan berfungsi!

Tetapi! Bayangkan berapa lama Anda harus belajar Java, jika metodenya System.out.println()ditulis dalam bahasa Cina?

Jauh lebih lama dari sekarang, bukan? Itu poin pertama.

Kedua, banyak tim pengembangan perangkat lunak bersifat internasional. Sejumlah besar perpustakaan Java digunakan oleh programmer dari seluruh dunia.

Oleh karena itu, disarankan untuk hanya menggunakan huruf dan angka Latin dalam nama metode.

Penting:

Nama metode harus dimulai dengan huruf (tidak boleh dimulai dengan angka).

"Ini semua adalah prinsip dasar yang mengatur penamaan metode di Jawa. Pelajarannya sudah selesai sekarang. Selesaikan tugas!"

"Aku sudah berlari, Diego!"


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