Java >> Java tutorial >  >> Java

Funktioner i java

Målet for enhver programmør er at spare tid i både programmering og fejlretning. Der kommer dog et tidspunkt, hvor du skriver hundredvis af linjer kode. Det er meget frustrerende at skulle gentage den samme kode nu og da. Det er mere frustrerende, når din kode får en fejl, og du bliver nødt til at fejlsøge hele programmet.

Forbedre din programmeringsekspertise ved at bruge funktioner. Funktioner hjælper med at undgå tvetydighed. Du er enig i, at opdeling af koden i mindre bidder i funktioner vil hjælpe dig med at organisere dit arbejde, og fejlretning bliver let. Hvorfor gentage de samme linjer kode flere steder, hvor du kan placere den i en funktion og kalde den, når du skal udføre den opgave. Genanvendelighed af kode sparer en masse tid.

I denne tutorial vil vi afsætte lidt tid og diskutere funktioner. I java er en metode det samme som en funktion. Alle funktioner skal defineres inden for en klasse. Med det kan vi opsummere ved at definere en Java-metode som en funktion, der tilhører en klasse. En funktion er en navngivet kodeenhed, der kan aktiveres hvor som helst i klassen.

Eksempel:

public class Main {
    public static void myFuntion() {
        // Do something here
    }
}

Syntaks for en funktion

Public static void myFuction(String name, int age )
{
// fuction code
}
  • Adgangsspecifikation – dette viser omfanget af tilgængelighed af en funktion. 'Offentlig' betyder, at funktionen kan kaldes overalt i programmet. Vi har andre adgangsspecifikationer såsom private og protected.Protected, metoden kan kun kaldes inden for klassen og dens subslcasses. Privat kan kun kaldes inde i klassen
  • Modifier – 'statisk' er valgfrit i en funktionsdefinition. I dette tilfælde betyder statisk, at funktionen ikke er et objekt af hovedklassen, men en metode, der tilhører hovedklassen.
  • Returtype – Vi har funktioner, der returnerer en værdi og funktioner, der ikke returnerer noget. Void betyder, at funktionen ikke har en returværdi. Hvis funktionen skulle returnere en værdi, skal du erstatte void med datatypen for den returnerede værdi.
  • Funktionsnavn – Dette er navnet på funktionen
  • Parameterliste – den informerer compileren om den datatype, den vil modtage, og den værdi, der skal returneres.

Fordele ved funktioner i Java

  1. Genbrugelighed af kode – funktioner hjælper med at fjerne gentagelse af kode i et program. Med funktioner kan du definere den én gang og kalde den hvor som helst i programmet for at udføre den opgave, du har brug for, og du er ikke begrænset til antallet af gange, du kalder funktionen. Endelig er det nemt at overføre funktionerne til biblioteker. Dette giver dem mulighed for at blive brugt af mere end ét program.

2. Opdel og hersk – Brug af funktioner hjælper med at opdele et program i mindre håndterbare bidder, hvilket gør fejlfinding og test lettere. Funktioner hjælper i samarbejdet ved at dele arbejdet op i opgaver til teamudvikling.

Typer af funktioner

Beregningsfunktioner – disse funktioner udfører matematiske operationer og returnerer resultatet. f.eks. matematik. sqrt. ()

Manipulative funktioner – de returnerer 0 eller 1, hvilket repræsenterer en operations succes eller fiasko.

Procedurefunktioner – disse er for det meste de indbyggede funktioner. De udfører en handling, men returnerer ikke en værdi, f.eks. System.out.print()

Sådan kalder du en funktion i java

Kald en statisk metode

Vi kan kalde en metode ved at skrive metodens navn efterfulgt af parentes og semikolon. Når en metode kaldes, overføres programopgaven, der skal udføres, til metoden.
Eksempel:

public class myFunction {
 
    static void functionExample() {
        System.out.println("You have called me! My name is: functionExample!");
    }
 
    public static void main(String[] args) {
        fuctionExample();
    }
}

Output:

You have called me! My name is: functionExample!

Fra ovenstående eksempel kaldte vi en statisk metode. For at kalde en statisk metode behøver vi ikke at oprette et objekt af den klasse, som metoden er defineret i.

Kald til en foruddefineret metode

Det er metoder, der er foruddefinerede i klasser. For at kalde denne metode kan du kalde dem ved deres navn. Du bliver nødt til at oprette et objekt, fordi det er en metode til klasseobjektet.

    public class myfunction  
    {  
    public static void main(String[] args)   
    {  
    int a = 49;      
    double ans=Math.sqrt(a);  
    System.out.println("The square root of the object is: "+ans);  
    }  
    }  

Kald til en brugerdefineret metode

Det er her, vi laver en metode og så kalder den, når vi skal bruge den. Den brugerdefinerede metode kan være en statisk metode eller en ikke-statisk metode.

public class functionExample  
    {  
  
    //user-defined static method
    static void show()   
     {  
       System.out.println("This is a static method.");  
     }  
    //user-defined non-static method  
    void display()   
    {  
    System.out.println("This is a non-static method.");  
    }  
    public static void main(String[] args)   
    {  
    //calling static method without using the object  
    show();
      
    //creating an object of the class  
    functionExample fun=new functionExample();  
    //calling non-static method  
    fun.display(); 
    }  
    }  

Fra ovenstående eksempel oprettede vi en statisk brugerdefineret metode show() og ikke-statiske brugerdefinerede metoder display() . Vi kalder en statisk metode direkte uden at oprette et objekt, men for en ikke-statisk metode oprettede vi et objekt af klassen til at kalde det.

Overbelastning af metode

Metodeoverbelastning er, når klassen indeholder to eller flere metoder med samme navn. Metoderne kan differentieres efter antallet af parametre, returtype eller typen af ​​parametre.
Eksempel:

int sum( int a, int b);
double sum( double a, double b);

De to ovenstående metoder har samme navn, men forskellige returtyper. Den første metode returnerer en int, mens den anden metode returnerer en double.

int function(double number);
int function(double number, int position);

Fra ovenstående eksempel har de to funktioner samme navn, men adskiller sig i antallet af parametre. Den første metode har 1 parameter, mens den anden metode indeholder 2 parametre.

Compileren skelner, hvilken funktion der kaldes, baseret på hvad der sendes under funktionskaldet.
Eksempel:

public class Main
{
  static int sum(int a, int b)   
    {  
    return a + b;  
    } 
  static double sum(double a, double b)   
    {  
    return a + b;  
    }  
    
  public static void main(String[] args)   
    { 
        
    int x = sum(10, 20);  
    double y = sum(10.20,20.10);  
    
    System.out.println("Summation of integer values = " +x);  
    System.out.println("Summation of double values = " +y);  
    }  
}  

Output:

Summation of integer values = 30
Summation of double values = 30.3

Konklusion

I java hører statiske metoder til en klasse; Derfor behøver vi ikke oprette et objekt, når vi kalder disse metoder. Men for den ikke-statiske metode skal vi oprette et objekt, fordi metoderne tilhører objekter. Funktioner beskriver en handling, der skal udføres. Oprettelse af funktioner hjælper med at undgå kode-uklarhed i dit program og muliggør genbrug af kode. I denne tutorial har vi diskuteret, hvad funktioner i java er, oprettelse af funktionerne og kald af funktionen.


Java tag