1. Java'daki işlevler/yöntemler

Halihazırda pek çok Java komutu öğrendiniz, bu da oldukça karmaşık programlar yazabileceğiniz anlamına geliyor. Bir programda 10, 20, 30 satırlık kodlar çok büyük bir program değil mi?

Ancak 100'den fazla program, şimdi bu büyük ve kodu anlamak oldukça zor olabilir. Çok fazla kod içeren programları yazmayı ve okumayı bir şekilde basitleştirmek için yapabileceğiniz herhangi bir şey var mı?

Evet ve yöntemler (veya işlevler) bu konuda bize yardımcı olacaktır.

Yöntem nedir? Çok basit bir şekilde ifade etmek gerekirse, bir yöntem, benzersiz bir ada sahip bir komutlar grubudur . Başka bir deyişle, birkaç komutu tek bir gruba koyar ve ona benzersiz bir ad veririz. İşte bu kadar - yöntem hazır.

Örnek:

Yöntem olmadan bir yöntem ile
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");
   }
}

Sol sütundaki programda aynı kodu üç kez tekrarlıyoruz — bunu kasıtlı olarak bir noktayı göstermek için yaptık. Ancak sağdaki programda, tekrarlanan kodu ayrı bir yönteme taşıdık ve ona benzersiz bir ad verdik — printWiFi.

printWiFi()Ve yeniden konumlandırılan kod yerine, yöntemi 3 kez çağırıyoruz .

Sağdaki sütundaki program çalıştırıldığında method her çalıştırıldığında method printWiFi()içindeki tüm komutlar printWiFi()çalıştırılır. Birkaç komutu tek bir grupta birleştiren yeni bir komut (yöntem) oluşturduk.

Herhangi bir kod ayrı yöntemlere bölünebilir. Bu, işleri basitleştirmek için yapılır: Buradaki fikir, tek bir büyük yöntemdense birçok küçük yönteme sahip olmanın daha iyi olduğudur. Kendi yöntemlerinizi yazmadan kendi programlarınızı yazdığınız bir zaman olduğuna şaşıracaksınız.


2. Java'da bir yöntem bildirmek

Peki yönteminizi nasıl doğru yazarsınız?

public static void name()
{
  method body
}

Bir yöntemi bildirirken (oluştururken) dikkate alınması gereken birçok nüans vardır, ancak temel bilgilerle başlayacağız. En basit yöntemi nasıl ilan edebiliriz? Basit bir yöntem bildirimi şöyle görünür:

name Yöntemin benzersiz adı nerededir ve yöntemi method bodyoluşturan komutları temsil eder. public, static, ve sözcüklerinin anlamı voiddaha sonra tartışılacaktır.

Bir metot oluşturduktan sonra onu diğer metotlarımızda çağırabiliriz. Bir yöntem çağrısı şöyle görünür:

name();

nameÇağırmak istediğimiz yöntemin, yani yöntem çağrısına geldiğimizde komutlarını yürütmek istediğimiz yöntemin benzersiz adı nerede ?

Program yöntem çağrısına ulaştığında, yalnızca yönteme adım atar, tüm komutlarını yürütür, orijinal yönteme geri döner ve yürütmeye devam eder.

Muhtemelen şimdiye kadar tahmin ettiğiniz gibi, şimdiye kadar öğrendiğimiz komutların çoğu, diğer programcılar tarafından hayatımızı kolaylaştırmak için yazılan yöntemlerdir: , , vb.System.out.println()Thread.sleep()

Bir yöntem, diğer yöntemlere yapılan çağrıları içerebilir:

kod Not
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");
   }
}




printWiFi10Times()Yöntemi çağırın Yöntemi


bildirin  Yöntemi bir döngüde 10 kez çağırın Yöntemi bildirin Metni ekranda görüntüleyin: printWiFi10Times


printWiFi()


printWiFi

Wi-Fi

3. Yöntemlerle ilgili gerçekler

İşte yöntemler hakkında bazı gerçekler:

Gerçek 1. Bir yöntem her zaman bir sınıfın parçasıdır.

Bir metot sadece bir sınıfta bildirilebilir. Bir metot başka bir metot içerisinde bildirilemez. Bir metot sınıf dışında bildirilemez.

Gerçek 2. Bir yöntemin adının kutsal bir anlamı yoktur.

Hangi yöntemlerin çağrıldığı önemli değil - bu hiçbir şeyi etkilemez. Ana yöntem, tıpkı diğerleri gibi bir yöntemdir. Sadece bu ad, Java makinesinin programı yürütmeye başlayacağı yöntem için seçilmiştir. Bunda büyülü bir şey yok.

Gerçek 3. Bir sınıftaki yöntemlerin sırası önemli değildir.

Yöntemlerinizi bir sınıfa herhangi bir sırayla yazabilirsiniz - bu, programın yürütülmesini hiçbir şekilde etkilemez. Örnek:

kod
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();
   }
}

Gerçek 4. Bir yöntemin içindeki değişkenler, diğer yöntemlerin değişkenleriyle hiçbir şekilde ilişkili değildir.

Vegasta olan Vegasta kalır. Ve bir yöntem içinde bildirilen değişkenler, yöntemin içinde kalır.

Aynı ada sahip değişkenler iki yan yana metotta bildirilebilir ve bu değişkenler hiçbir şekilde birbiriyle ilişkili değildir.


4. Yöntem adları

Programlamadaki en zor iki problemin metotlar için doğru isimleri seçmek ve değişkenler için doğru isimleri seçmek olduğu uzun zamandır bilinmektedir.

Aslında yöntemlerin doğru bir şekilde nasıl adlandırılacağına dair neredeyse bütün bir bilim ortaya çıkmıştır. Ve her programlama dilinin kendi standartları vardır. Java'da şu ilkeleri takip etmek adettendir:

İlke 1. Bir yöntem adı, yöntemin ne yaptığını kısaca açıklamalıdır.

Ardından, kodunuzu okuyan başka bir programcı, kodun ne yaptığını tahmin etmek için yöntemin adına güvenebilir. Her seferinde çağrılan yöntemlerin koduna bakması gerekmeyecek. Ve yöntemlerin amacını hatırlamak daha kolaydır.

Bunun 'programı uyku moduna geçirmek' için kullanıldığını ve 'sonraki tamsayıyı okumak' için kullanıldığını hatırlayın . Uygun, değil mi?Thread.sleep()Scanner.nextInt()

İlke 2. Bir yöntem adı birden çok sözcük olabilir.

Ancak, bunu yaparken birkaç sınırlama vardır:

  • Yöntem adında boşluk olamaz: tüm sözcükler birlikte yazılır.
  • İlk kelime hariç her kelime büyük harfle yazılır.
  • Yöntem adı her zaman küçük harfle başlar

Yöntemi hatırlayın printWiFi10Times. Bu isim ne anlama geliyor? "'WiFi' kelimesini 10 kez göster". Bir yöntemin adına çok sayıda kelime eklememelisiniz: ad, onun özünü yansıtmalıdır.

Yöntemleri adlandırmak için bu standarda CamelCase denir (Büyük harfler bir deve hörgücü gibidir).

İlke 3. Yöntem adı bir fiille başlar.

Bir yöntem her zaman bir şeyler yapar, bu nedenle yöntem adındaki ilk sözcük her zaman bir eylemdir.

İşte yöntemler için bazı kötü isimler: home, cat, car, train, ...;

Bazı iyi isimler şunlardır: run, execute, print, read, write, ...

İlke 4. Yalnızca Latin harflerini ve rakamlarını kullanın.

Java, farklı diller için mükemmel desteğe sahiptir. Değişkenlerin, yöntemlerin ve sınıfların adlarını Çince'nin yanı sıra Rusça da yazabilirsiniz - her şey işe yarayacak!

Ancak! System.out.println()Yöntem Çince yazılmış olsaydı, Java'yı ne kadar süre çalışmanız gerekirdi ? Şimdiden çok daha uzun, değil mi? Bu ilk nokta.

İkincisi, birçok yazılım geliştirme ekibi uluslararasıdır. Çok sayıda Java kitaplığı, dünyanın her yerinden programcılar tarafından kullanılmaktadır.

Bu nedenle metot isimlerinde sadece Latin harf ve rakamlarının kullanılması tavsiye edilir.

Önemli:
Bir yöntemin adı bir harfle başlamalıdır (bir sayı ile başlayamaz).