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

Java - Metode

Metode Java adalah kumpulan pernyataan yang dikelompokkan bersama untuk melakukan operasi. Saat Anda memanggil System.out.println() metode, misalnya, sistem benar-benar mengeksekusi beberapa pernyataan untuk menampilkan pesan di konsol.

Sekarang Anda akan mempelajari cara membuat metode Anda sendiri dengan atau tanpa nilai balik, memanggil metode dengan atau tanpa parameter, dan menerapkan abstraksi metode dalam desain program.

Metode Pembuatan

Mempertimbangkan contoh berikut untuk menjelaskan sintaks suatu metode

Sintaks

public static int methodName(int a, int b) {
   // body
}

Di sini,

Definisi metode terdiri dari header metode dan badan metode. Hal yang sama ditunjukkan dalam sintaks berikut

Sintaks

modifier returnType nameOfMethod (Parameter List) {
   // method body
}

Sintaks yang ditunjukkan di atas termasuk

Contoh

Berikut adalah kode sumber dari metode yang didefinisikan di atas yang disebut min() . Metode ini mengambil dua parameter num1 dan num2 dan mengembalikan maksimum di antara keduanya −

/** the snippet returns the minimum between two numbers */

public static int minFunction(int n1, int n2) {
   int min;
   if (n1 > n2)
      min = n2;
   else
      min = n1;

   return min; 
}

Metode Panggilan

Untuk menggunakan metode, itu harus dipanggil. Ada dua cara memanggil metode, yaitu metode mengembalikan nilai atau tidak mengembalikan apa pun (tidak mengembalikan nilai).

Proses pemanggilan metode sederhana. Ketika sebuah program memanggil sebuah metode, kontrol program akan ditransfer ke metode yang dipanggil. Metode yang dipanggil ini kemudian mengembalikan kontrol ke pemanggil dalam dua kondisi, ketika

Metode yang mengembalikan void dianggap sebagai panggilan ke pernyataan. Mari kita perhatikan sebuah contoh

System.out.println("This is tutorialspoint.com!");

Metode mengembalikan nilai dapat dipahami dengan contoh berikut −

int result = sum(6, 9);

Berikut adalah contoh untuk mendemonstrasikan cara mendefinisikan metode dan cara memanggilnya

Contoh

Demo Langsung
public class ExampleMinNumber {
   
   public static void main(String[] args) {
      int a = 11;
      int b = 6;
      int c = minFunction(a, b);
      System.out.println("Minimum Value = " + c);
   }

   /** returns the minimum of two numbers */
   public static int minFunction(int n1, int n2) {
      int min;
      if (n1 > n2)
         min = n2;
      else
         min = n1;

      return min; 
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Minimum value = 6

Kata Kunci yang kosong

Kata kunci void memungkinkan kita untuk membuat metode yang tidak mengembalikan nilai. Di sini, dalam contoh berikut, kami sedang mempertimbangkan metode void methodRankPoints . Metode ini adalah metode batal, yang tidak mengembalikan nilai apa pun. Panggilan ke metode void harus berupa pernyataan yaitu methodRankPoints(255,7); . Ini adalah pernyataan Java yang diakhiri dengan titik koma seperti yang ditunjukkan pada contoh berikut.

Contoh

Demo Langsung
public class ExampleVoid {

   public static void main(String[] args) {
      methodRankPoints(255.7);
   }

   public static void methodRankPoints(double points) {
      if (points >= 202.5) {
         System.out.println("Rank:A1");
      }else if (points >= 122.4) {
         System.out.println("Rank:A2");
      }else {
         System.out.println("Rank:A3");
      }
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Rank:A1

Meneruskan Parameter berdasarkan Nilai

Saat bekerja di bawah proses pemanggilan, argumen harus diteruskan. Ini harus dalam urutan yang sama dengan parameter masing-masing dalam spesifikasi metode. Parameter dapat diteruskan dengan nilai atau referensi.

Melewati Parameter dengan Nilai berarti memanggil metode dengan parameter. Melalui ini, nilai argumen diteruskan ke parameter.

Contoh

Program berikut menunjukkan contoh melewati parameter dengan nilai. Nilai argumen tetap sama bahkan setelah pemanggilan metode.

Demo Langsung
public class swappingExample {

   public static void main(String[] args) {
      int a = 30;
      int b = 45;
      System.out.println("Before swapping, a = " + a + " and b = " + b);

      // Invoke the swap method
      swapFunction(a, b);
      System.out.println("\n**Now, Before and After swapping values will be same here**:");
      System.out.println("After swapping, a = " + a + " and b is " + b);
   }

   public static void swapFunction(int a, int b) {
      System.out.println("Before swapping(Inside), a = " + a + " b = " + b);
      
      // Swap n1 with n2
      int c = a;
      a = b;
      b = c;
      System.out.println("After swapping(Inside), a = " + a + " b = " + b);
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Before swapping, a = 30 and b = 45
Before swapping(Inside), a = 30 b = 45
After swapping(Inside), a = 45 b = 30

**Now, Before and After swapping values will be same here**:
After swapping, a = 30 and b is 45

Metode Kelebihan Beban

Ketika sebuah kelas memiliki dua atau lebih metode dengan nama yang sama tetapi parameternya berbeda, hal itu dikenal sebagai metode overloading. Ini berbeda dengan override. Dalam override, sebuah metode memiliki nama metode, jenis, jumlah parameter yang sama, dll.

Mari kita perhatikan contoh yang dibahas sebelumnya untuk menemukan jumlah minimum tipe integer. Jika, misalkan kita ingin mencari jumlah minimum tipe ganda. Kemudian konsep overloading akan diperkenalkan untuk membuat dua atau lebih metode dengan nama yang sama tetapi parameter yang berbeda.

Contoh berikut menjelaskan hal yang sama

Contoh

Demo Langsung
public class ExampleOverloading {

   public static void main(String[] args) {
      int a = 11;
      int b = 6;
      double c = 7.3;
      double d = 9.4;
      int result1 = minFunction(a, b);
      
      // same function name with different parameters
      double result2 = minFunction(c, d);
      System.out.println("Minimum Value = " + result1);
      System.out.println("Minimum Value = " + result2);
   }

   // for integer
   public static int minFunction(int n1, int n2) {
      int min;
      if (n1 > n2)
         min = n2;
      else
         min = n1;

      return min; 
   }
   
   // for double
   public static double minFunction(double n1, double n2) {
     double min;
      if (n1 > n2)
         min = n2;
      else
         min = n1;

      return min; 
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

Minimum Value = 6
Minimum Value = 7.3

Metode overloading membuat program dapat dibaca. Di sini, dua metode diberikan dengan nama yang sama tetapi dengan parameter yang berbeda. Jumlah minimum dari tipe integer dan double adalah hasilnya.

Menggunakan Argumen Baris Perintah

Terkadang Anda ingin menyampaikan beberapa informasi ke dalam program saat Anda menjalankannya. Ini dilakukan dengan meneruskan argumen baris perintah ke main().

Argumen baris perintah adalah informasi yang secara langsung mengikuti nama program pada baris perintah saat dijalankan. Untuk mengakses argumen baris perintah di dalam program Java cukup mudah. Mereka disimpan sebagai string dalam array String yang diteruskan ke main().

Contoh

Program berikut menampilkan semua argumen baris perintah yang disebut dengan −

public class CommandLine {

   public static void main(String args[]) { 
      for(int i = 0; i<args.length; i++) {
         System.out.println("args[" + i + "]: " +  args[i]);
      }
   }
}

Coba jalankan program ini seperti yang ditunjukkan di sini

$java CommandLine this is a command line 200 -100

Ini akan menghasilkan hasil berikut

Keluaran

args[0]: this
args[1]: is
args[2]: a
args[3]: command
args[4]: line
args[5]: 200
args[6]: -100

Kata kunci ini

ini adalah kata kunci di Java yang digunakan sebagai referensi ke objek kelas saat ini, dengan metode instan atau konstruktor. Menggunakan ini Anda dapat merujuk anggota kelas seperti konstruktor, variabel, dan metode.

Catatan Kata kunci ini hanya digunakan dalam metode instance atau konstruktor

Secara umum, kata kunci ini digunakan untuk

class Student {
   int age;   
   Student(int age) {
      this.age = age;	
   }
}
class Student {
   int age
   Student() {
      this(20);
   }
   
   Student(int age) {
      this.age = age;	
   }
}

Contoh

Berikut adalah contoh yang menggunakan ini kata kunci untuk mengakses anggota kelas. Salin dan tempel program berikut ke dalam file dengan nama, This_Example.java .

Demo Langsung
public class This_Example {
   // Instance variable num
   int num = 10;
	
   This_Example() {
      System.out.println("This is an example program on keyword this");	
   }

   This_Example(int num) {
      // Invoking the default constructor
      this();
      
      // Assigning the local variable num to the instance variable num
      this.num = num;	   
   }
   
   public void greet() {
      System.out.println("Hi Welcome to Tutorialspoint");
   }
      
   public void print() {
      // Local variable num
      int num = 20;
      
      // Printing the local variable
      System.out.println("value of local variable num is : "+num);
      
      // Printing the instance variable
      System.out.println("value of instance variable num is : "+this.num);
      
      // Invoking the greet method of a class
      this.greet();     
   }
   
   public static void main(String[] args) {
      // Instantiating the class
      This_Example obj1 = new This_Example();
      
      // Invoking the print method
      obj1.print();
	  
      // Passing a new value to the num variable through parametrized constructor
      This_Example obj2 = new This_Example(30);
      
      // Invoking the print method again
      obj2.print(); 
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

This is an example program on keyword this 
value of local variable num is : 20
value of instance variable num is : 10
Hi Welcome to Tutorialspoint
This is an example program on keyword this 
value of local variable num is : 20
value of instance variable num is : 30
Hi Welcome to Tutorialspoint

Argumen Variabel(var-args)

JDK 1.5 memungkinkan Anda untuk meneruskan sejumlah variabel argumen dengan tipe yang sama ke suatu metode. Parameter dalam metode dideklarasikan sebagai berikut

typeName... parameterName

Dalam deklarasi metode, Anda menentukan tipe diikuti dengan elipsis (...). Hanya satu parameter panjang variabel yang dapat ditentukan dalam suatu metode, dan parameter ini harus menjadi parameter terakhir. Parameter reguler apa pun harus mendahuluinya.

Contoh

Demo Langsung
public class VarargsDemo {

   public static void main(String args[]) {
      // Call method with variable args  
	   printMax(34, 3, 3, 2, 56.5);
      printMax(new double[]{1, 2, 3});
   }

   public static void printMax( double... numbers) {
      if (numbers.length == 0) {
         System.out.println("No argument passed");
         return;
      }

      double result = numbers[0];

      for (int i = 1; i <  numbers.length; i++)
      if (numbers[i] >  result)
      result = numbers[i];
      System.out.println("The max value is " + result);
   }
}

Ini akan menghasilkan hasil berikut

Keluaran

The max value is 56.5
The max value is 3.0

Metode finalize()

Dimungkinkan untuk mendefinisikan metode yang akan dipanggil tepat sebelum penghancuran akhir objek oleh pengumpul sampah. Metode ini disebut finalize() , dan dapat digunakan untuk memastikan bahwa suatu objek berakhir dengan bersih.

Misalnya, Anda dapat menggunakan finalize() untuk memastikan bahwa file terbuka yang dimiliki oleh objek tersebut telah ditutup.

Untuk menambahkan finalizer ke kelas, Anda cukup mendefinisikan metode finalize(). Java runtime memanggil metode tersebut setiap kali akan mendaur ulang objek dari kelas tersebut.

Di dalam metode finalize() , Anda akan menentukan tindakan yang harus dilakukan sebelum objek dimusnahkan.

Metode finalize() memiliki bentuk umum ini −

protected void finalize( ) {
   // finalization code here
}

Di sini, kata kunci yang dilindungi adalah penentu yang mencegah akses ke finalize() dengan kode yang ditentukan di luar kelasnya.

Ini berarti Anda tidak dapat mengetahui kapan atau bahkan jika finalize() akan dieksekusi. Misalnya, jika program Anda berakhir sebelum pengumpulan sampah terjadi, finalize() tidak akan dijalankan.


java

  1. Operator Jawa
  2. Kelas Abstrak Java dan Metode Abstrak
  3. Jenis Anotasi Java
  4. Metode Java String charAt() dengan Contoh
  5. Java String EndsWith() Metode dengan Contoh
  6. Java String replace(), replaceAll() dan replaceFirst() metode
  7. Metode String Java toLowercase() dan toUpperCase()
  8. Java - Mengganti
  9. Java 9 - Metode Koleksi Pabrik
  10. Java 9 - Metode Antarmuka Pribadi