JavaRush /Java Blog /Random-TK /Java-y halaýan programma diliňize öwürjek 5 gyzykly we dü...
Андрей Пазюк
Dereje
Киев

Java-y halaýan programma diliňize öwürjek 5 gyzykly we düşnüksiz zat

Toparda çap edildi
Programmirleme dünýäsinde hakyky hünärmen bolmak üçin ýoluňyz Java diline doly ynamdan ybaratdyr. Dünýädäki millionlarça işläp düzüjiler tarapyndan ulanylýar we bu gün size Java-ny halaýan programma diliňize öwürjek bäş sany gyzykly we düşnüksiz zady görkezeris. Java-y halaýan programma diliňize öwürjek 5 gyzykly we düşnüksiz zat - 11. Interfeýsleriň çeýeligi Java-da synplary özara täsir etmek üçin şertnama hökmünde interfeýsleri ulanmak bolýar. Javaöne Java 8-den bäri interfeýsleriň başlangyç usullary ulanyp amala aşyryp boljakdygyny bilmediňiz. Bu, eýýäm ýerine ýetirýän kody bozmazdan interfeýsde täze usullary goşmaga mümkinçilik berýär. Bu, täze funksiýany aňsatlyk bilen goşup boljak bar bolan taslamalary işläp düzmekde has peýdalydyr.
interface Vehicle {
    void start();
    void stop();

    default void honk() {
        System.out.println("Beep beep!");
    }
}

class Car implements Vehicle {
    @Override
    public void start() {
        System.out.println("Car started.");
    }

    @Override
    public void stop() {
        System.out.println("Car stopped.");
    }
}

public class Main {
    public static void main(String[] args) {
        Car car = new Car();
        car.start();
        car.stop();
        car.honk(); // Использование метода по умолчанию из интерфейса
    }
}
2. Kadadan çykma Java programmasynyň ýerine ýetirilişinde ýalňyşlyklary dolandyrmaga kömek edýän güýçli kadadan çykma ulgamy bar. Şeýle-de bolsa, koduňyzdaky aýratyn ýagdaýlary görkezmek üçin öz aýratyn görnüşleriňizi döredip biljekdigiňize geň galyp bilersiňiz. Bu size has jikme-jik we düşnükli ýalňyş habarlaryny döretmäge mümkinçilik berýär, olary has çalt tapmaga we düzetmäge mümkinçilik berýär.
class CustomException extends Exception {
    public CustomException(String message) {
        super(message);
    }
}

public class Main {
    public static void main(String[] args) {
        try {
            // Бросаем исключение CustomException
            throw new CustomException("Something went wrong.");
        } catch (CustomException e) {
            System.out.println("Exception caught: " + e.getMessage());
        }
    }
}
3. Annotasiýalary ulanmak Annotasiýa Java-daky synplara, usullara ýa-da meýdanlara ulanylyp bilinjek ýörite belliklerdir. Kod hakda goşmaça maglumat berýär we awtomatiki resminamalary döretmek, statiki derňew ýa-da koduňyz üçin ýörite bellikler döretmek üçin ulanylyp bilner. Annotasiýa koduň gaýtalanmagyny azaltmak we ösüşiň käbir taraplaryny awtomatlaşdyrmak isleýän döredijiler üçin gaty güýçli gural bolup biler.
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation {
    String value() default "";
}

public class Main {
    @MyAnnotation(value = "Example")
    public static void main(String[] args) {
        // Получаем аннотацию и выводим meaning
        MyAnnotation annotation = Main.class.getAnnotation(MyAnnotation.class);
        System.out.println("Annotation value: " + annotation.value());
    }
}
4. Sanalýan görnüşler Java, hemişelik bahalaryň toplumy bolan sanalan görnüşleri döretmek ukybyna eýedir. Açyk we ygtybarly kod ýazmaga mümkinçilik berýär, sebäbi düzüji bu görnüşleriň düzülen wagtynda dogry ulanylýandygyny barlaýar. Mundan başga-da, enum görnüşleriniň öz usullary we konstruktorlary bolup biler, olar bilen işleşende has çeýeligi üpjün eder.
enum Day {
    MONDAY,
    TUESDAY,
    WEDNESDAY,
    THURSDAY,
    FRIDAY,
    SATURDAY,
    SUNDAY
}

public class Main {
    public static void main(String[] args) {
        Day today = Day.TUESDAY;
        System.out.println("Today is " + today);
    }
}
5. Lambda aňlatmalary Java 8-de lambda aňlatmalarynyň girizilmegi döredijilere has arassa we has ykjam kod ýazmak ukybyny berdi. Lambda aňlatmalary, sanawlar, filtrler we kolleksiýalary üýtgetmek bilen işlemegi aňsatlaşdyrýan funksiýalary parametrler hökmünde beýleki funksiýalara geçirmäge mümkinçilik berýär. Şeýle hem, kod okalmagyny gowulandyrýarlar, sebäbi kod kodlarynyň uzyn bloklarynyň ýerine birnäçe setirde görkezilip bilner.
import java.util.ArrayList;
import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);

        // Применение лямбда-выражения для удвоения значений списка
        numbers.replaceAll(n -> n * 2);

        System.out.println(numbers); // Выводит: [2, 4, 6]
    }
}
Java diliniň bu bäş gyzykly we göze ilmeýän tarapy, dörediji hökmünde potensialyňyzy açar we ony halaýan programma diliňize öwürmäge kömek eder. Bu güýçli dil bilen bilim alyň, synag ediň we gyzykly taslamalary dörediň! PS Makalanyň teksti, kody we suratlary AI ulanyp döredildi. Bu formaty halanan bolsaňyz, teswir ýazyň we has meňzeş mazmunly we has gowy hilli habar ibererin.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION